谷歌Chrome硬件加速使游戏运行缓慢

时间:2014-05-30 03:21:53

标签: javascript html5 google-chrome canvas

所以我一直在使用HTML5画布上的游戏,并注意到当谷歌Chrome中的硬件加速打开然后关闭时,游戏会滞后并执行得慢得多。您可以亲自尝试here

通过做一些分析,我发现问题出在drawImage。 更具体地说,将一个画布画到另一个我做了很多这个。

硬件加速。 Profile while hardware accelerated

硬件加速关闭。 enter image description here

我有一个基本的东西,一个画布到另一个吗?为什么差异会那么深刻?

1 个答案:

答案 0 :(得分:1)

如果我没记错的话,将in-DOM画布加载到Chrome中的GPU内存中,并且可能不会使用非DOM画布。因此,从屏幕外画布到屏幕画布的每个drawImage都会将画布的内容作为纹理加载到GPU上,然后将GPU上的内存副本加载到屏幕画布上。将新纹理发送到GPU的成本可能非常高。在大多数GPU上加载纹理是高吞吐量的,但也是高延迟的。

Chrome团队中的某个人必须回答明确的答案,但这符合我在Chrome中使用画布的经验。