使用 Chrome 12,我的游戏绘制流畅。但是似乎使用 GPU 进行绘图的 Chrome 14 对我的游戏性能产生了巨大的负面影响。
我制作了一个 jsFiddle 来查看它究竟何时发生,这个简单的代码已经遇到问题:http://jsfiddle.net/eGjak/48/ .
- 在 Chrome 12 上,FPS 是 62,甚至超过了我的屏幕频率。
- 在 Chrome 14 上,FPS 约为 25。
25 FPS 是完全可以接受的,但在我的游戏中,我画得更多,而且它正在运行到大约 8 FPS,这绝对是不可以接受的。我从未遇到过任何性能问题,但 Canvas 的 GPU 更新对我来说是一个瓶颈。
- 为什么使用 GPU 在 Canvas 上进行简单绘图会慢很多?
- 我可以禁止 Chrome 通过 JavaScript 使用 GPU 吗? (或者有其他解决方案吗?)
编辑: 在 http://code.google.com/p/chromium/issues/detail?id=89540 提交了错误
最佳答案
我在 Chrome 14 中获得 60fps 的速度还不错。
我几乎可以保证这是因为硬件加速在 Chrome 14 中默认启用,而不是在 12 中。特别是等待垂直同步,这在以前没有发生过。
在 Chrome 14 及更高版本中,(Canvas 的)GPU 加速不再是您可以打开和关闭的标志 - 它是默认设置。对不起。
但是,如果转到 chrome://flags/
,您仍然可以在 Chrome 14 中禁用 GPU Vsync。这几乎肯定会给你更多的框架。
但是,这不是您可以让用户做的事情。
关于javascript - 使用 GPU 在 Canvas 上绘图时性能受到影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6711566/