最好有一个大画布还是最多 100 个动态生成的小画布
Is it better to have one big canvas or up to 100 small dynamically generated canvases?
我正在开发一个移动网络骰子模拟器。最初的原型在这里: http://dicewalla.com
我目前有一张大画布,我可以画所有的骰子。我计划以更 MVC 且更容易更新的方式重写代码。我认为为每个骰子对象生成一个小画布比在大画布上绘制所有骰子并不断更新该大画布更容易。
我的问题是,让浏览器创建大量小画布而不是一个大画布是否会降低性能。在本地测试很难,我希望这里有人可能知道最佳实践是什么。
多个画布通常可以提供更好的性能,因为您可以有选择地重新渲染。
如果您只有一个画布并且想要更新一个骰子,则通常必须重新绘制整个画布。另一方面,多个画布允许您仅更新需要重新绘制的骰子。这是效率的提高。
此外,您不应该看到加载 1 个画布与 100 个画布有任何明显差异。
在性能方面,如前所述,如果您不定期更新图形,则 1-100 个画布元素之间应该几乎没有区别。 (即:静态图形/无动画)
网络上关于多个画布的大多数参考资料都倾向于处理您有多个图层并且需要处理在其他具有透明度的事物之上绘图的情况。
话虽如此,你用 dicewalla 做的事情看起来不会从拥有多个画布中获得任何东西。
此外,如果更新整个画布是一个瓶颈,您还可以有选择地重绘单个画布的区域以获得更好的性能。这为您提供了拥有多个画布的性能优势,而无需处理管理和创建这些元素。
相关文章:
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 如何在只能有一个asp.net表单的主页上从asp.net页面中的javascript中获取值
- 动态构建一个数据表与scriplets
- 有可能在来自链接的警报中有一个值吗
- 是否<asp:文本框>有一个onFocusLost事件
- 动态创建一个javascript/jquery多级数组
- Javascript动态表,每个单元格都有一个onmouse事件
- 最好有一个大画布还是最多 100 个动态生成的小画布
- 我有一个问题,使用 Javascript 或 Jquery 创建具有字符串计数的动态字段
- 最好有一个动态页面还是多个页面根据下拉选项重定向
- 我有一个循环,文本框将动态生成.我想在文本框值更改时捕获它
- 如何在函数中有一个动态变量,而不将其链接到变化的变量
- 如何在一本使用XSLT和jQuery的书中有一个动态的标题
- 我怎么能有一个动态分配的DOM事件火以及骨干事件
- 如何有一个动态链接的视频
- 我有一个header.jsp,它的样式随着不同的登录而不断变化——它是一个动态头
- 我有一个JSON对象,长度是动态的,需要处理它
- 你能在AngularJS中有一个ng-repeat的动态集合吗?
- 表单到json错误时,有一个动态列表操作
- 是否有可能动态调用一个不存在的方法,然后创建它