在紧密循环中绘制webGL时,Chrome缓慢且不重新绘制非webGL

时间:2012-07-30 21:34:22

标签: html5 google-chrome webgl

我有一个页面http://williame.github.com/Mandel_1,使用requestAnimationFrame绘制动画webGL场景。这是generally recommended approach

偶尔会更新画布旁边的div元素。

在Firefox中,这种方法效果很好,尽管Firefox地址栏可能很难集中注意力。

在Chrome中,div经常不会重新粉刷,尽管更新后整个Chrome都会变得迟钝和反应迟钝。我从Linux和Windows上的人那里得到了这方面的报告。

此外,我计算的FPS(通过定期计算前3秒中的帧数)与Chrome自己的调试FPS计数器显示的FPS不匹配。这种差异足以让我怀疑Chrome是否正在测量其他东西?

如何构建我的绘制循环以保持Chrome和其他浏览器的响应速度,同时尽可能提高帧速率?

1 个答案:

答案 0 :(得分:1)

我不确定您的应用中发生了什么,但看起来每次插入div时,您也在编译并链接4个着色器并检查是否成功。编译和链接很慢。

尝试在启动时编译并链接所有程序。

或者,相反,如果你100%确定他们将编译和链接,那么不要检查编译和链接状态,在这种情况下,他们的编译和链接将是相对于JavaScript的100%异步。