Chrome上的HTML5 drawImage速度很慢

时间:2012-08-09 10:21:23

标签: performance html5 canvas rendering drawimage

我在使用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这样的问题。

非常感谢任何有关此事的帮助或亮点!

系统信息:

  • Windows 7 32位
  • Intel QX9650
  • Nvidia GTS 250
  • 4GB DDR2 RAM
  • Chrome版本:21.0.1180.60 m
  • Firefox版本:14.0.1

1 个答案:

答案 0 :(得分:0)

多年来我一直在努力奋斗。一个版本的chrome很好,下一个版本又慢了......我的终极解决方案有点hacky,但它确实有效。

使用你的小提琴我能够确定如果画布的大小是< = 256,性能会大幅下降。

我的画布是200 x 200。

我简单地制作了我的画布258 x 258,更改所有数学以适应新尺寸,并在画布的包装div上使用CSS缩放属性将画布的外观缩小到近似原始尺寸。

这样做,我从30-40 fps变成了稳定的60。