画布渲染性能
Posted
技术标签:
【中文标题】画布渲染性能【英文标题】:Canvas rendering performance
【发布时间】:2012-10-06 22:13:20
【问题描述】:
我正在修改 Jump'n'Bump 游戏的 html5 端口,以便在基于 Apple 和 android 的移动设备上运行。我使用便宜的 1 GHz Cortex-A8 Android 4.0.3 平板电脑进行测试。我在系统的浏览器中遇到了奇怪的行为。我通常会得到大约 1 FPS 的非常低的帧速率(每帧都重新绘制整个屏幕,使用 setTimeout ......)。但是,当我在
【参考方案1】:
这个问题太奇怪了。
尝试使用请求动画帧而不是 setInterval(没有神奇的 div,=])
function getRequestAnimFrame()
var game = this;
// requestAnim shim layer by Paul Irish
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(/* function */ callback, /* DOMElement */ element)
window.setTimeout(callback, 1000 / fps);
;
也许这有助于提高性能。
【讨论】:
正确,但据我所知,大多数移动浏览器都不支持请求动画帧 - 请参阅link。据我所知,这可能是触发画布到屏幕更新而不是渲染到画布本身的问题。不过,感谢您的提示 - sn-p 在还针对桌面浏览器时非常有用。以上是关于画布渲染性能的主要内容,如果未能解决你的问题,请参考以下文章
Canvas 最佳实践(性能篇)
Canvas 最佳实践(性能篇)
第513期Canvas 最佳实践(性能篇)
客户端性能优化
canvas简介以及常用性能优化
如何提高 JavaScript 画布模式性能