我在使用HTML5进行屏幕外渲染时遇到了一些麻烦! 我编写的代码与Firefox运行完美,使用canvas元素上的drawImage绘制平滑的图像,并且非常快速地完成。
然而,使用Chrome 21,drawImage性能非常糟糕。我无法看到我出错的地方。
这是一个带有一些示例代码的jsfiddle: http://jsfiddle.net/DXgum/3/
在Firefox中,我可以获得大约60fps,chrome只能提供10fps的帧率。 如果我使用in-dom canvas元素或not-in-dom,性能没有区别。
在Chrome上进行无缓冲渲染比Firefox更快,所以我实际上不确定Chrome为什么会遇到drawImage这样的问题。
非常感谢任何有关此事的帮助或亮点!
系统信息:
答案 0 :(得分:0)
多年来我一直在努力奋斗。一个版本的chrome很好,下一个版本又慢了......我的终极解决方案有点hacky,但它确实有效。
使用你的小提琴我能够确定如果画布的大小是< = 256,性能会大幅下降。
我的画布是200 x 200。
我简单地制作了我的画布258 x 258,更改所有数学以适应新尺寸,并在画布的包装div上使用CSS缩放属性将画布的外观缩小到近似原始尺寸。
这样做,我从30-40 fps变成了稳定的60。