Javascript html5画布一般性能提示
我正在为html5画布开发一款游戏,主要针对移动设备。画布的大小调整到了最大的可用分辨率,因此它几乎可以制作一个全屏游戏 在ipad上,将是1024x786画布;在这样的分辨率下,我注意到帧率显著下降。在更小的分辨率上,如iphone上的480x320,游戏运行平稳!我猜这是因为设备的填充率有限 无论如何,我想优化尽可能多。如果您能发布有关html5画布开发的一般性能提示,我将不胜感激。您可以阅读Thomas Fuchs的文章 他提出的要点是:Javascript html5画布一般性能提示,javascript,html,performance,canvas,mobile-safari,Javascript,Html,Performance,Canvas,Mobile Safari,我正在为html5画布开发一款游戏,主要针对移动设备。画布的大小调整到了最大的可用分辨率,因此它几乎可以制作一个全屏游戏 在ipad上,将是1024x786画布;在这样的分辨率下,我注意到帧率显著下降。在更小的分辨率上,如iphone上的480x320,游戏运行平稳!我猜这是因为设备的填充率有限 无论如何,我想优化尽可能多。如果您能发布有关html5画布开发的一般性能提示,我将不胜感激。您可以阅读Thomas Fuchs的文章 他提出的要点是: 图像极大地降低了速度——摆脱它们 避免文本阴影和框
文本阴影
和框阴影
translate3d
,而不是translate
(后者不是硬加速)- 尽量少使用
(严重减速)[2]getImageData
- 组合多个画布,以便重新绘制更频繁更改的较小零件
[2] 还有几个链接:
- 。更多链接请参见esp“其他”
很难给出任何具体的提示,因为我对你的游戏不够熟悉。不过,您可能希望将渲染拆分为多个层。这是有意义的,特别是当您有一些静态元素时。通过这种方式,您可以避免一些清除,并最终得到更好的代码。另请参阅html5rocks上的这篇文章,其中包含包括移动浏览器在内的jsperf数据。感谢您提供的链接。事实上,我已经读过这本书了。不幸的是,我的游戏严重依赖图像,所以我无法真正摆脱它们。不过我会尽量遵守其他规则!这篇文章对于这个问题的回答有误导性:它的主题不是画布,而是html5编码。这里给出的大多数要点都适用于完全独立于画布的问题,比如html元素的css属性。在画布上绘制复杂形状时,使用和缓存图像(作为屏幕外画布)实际上是一种很好的做法。这基本上是关于该主题的最佳文章。关于像素操作性能优化的两篇文章:--