javascript - 使用 GPU 在 Canvas 上绘图时性能受到影响

标签 javascript google-chrome gpu html5-canvas

使用 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/

相关文章:

python - Theano 中的 GPU 可以进行 int 操作吗?

javascript - 为什么我的 jQuery 函数会触发两次?

javascript - Ext.ModelManager.getModel 已在 extjs 5 中弃用

javascript - JavaScript 中的 array.select()

javascript - 将 chrome 扩展 cookie 值名称设置为 var

python - 如何在 XGBoost 中释放 GPU 上的所有内存?

deep-learning - 在 Navi10 (RX 5700 XT) 和 HSA_OVERRIDE_GFX_VERSION=10.3.0 上使用 Pytorch 的 AMD ROCm 失败

javascript - 使用 javascript 将 n 个 div 包装在一个父级中

c# - 在 Chrome 浏览器中运行测试时,编码的 Ui 播放无法找到给定的搜索控件

javascript - 创建一个倒数计时器(占 SetInterval/Timeout Google Chrome 选项卡 "error")