我制作了这个jsFiddle,它使用CreateJS中的EaselJS来更新定义帧速率为60 FPS的简单画布。舞台上只有一个简单的圆圈,所以我希望FPS标签在每个浏览器上显示恒定的60FPS。但这是我发现的:
Chrome: FPS: 60.82474226801933
IE: FPS: 60.095788862740555
Firefox: FPS: 43.2232327656598
为什么不在Firefox中使用60FPS
?我使用的是Firefox 29.0.1。没有打开其他选项卡,清除缓存,窗口处于活动状态,没有其他应用程序在运行。
答案 0 :(得分:2)
如果有人仍有此问题,请尝试删除所有对象上的阴影,因为Firefox在尝试在画布上渲染阴影时表现不佳。更多信息here:
答案 1 :(得分:1)
较慢的画布速度似乎是Firefox的趋势。
在我的机器上,我获得了稳定的59-60,但是为了获得最佳实践,您可能希望将requestAnimationFrame
用作设置FPS时提到的2astalavista。要在CreateJS中执行此操作,只需将计时模式设置为RAF_SYNCHED
:
createjs.Ticker.timingMode = createjs.Ticker.RAF_SYNCHED;
createjs.Ticker.setFPS(60);
关于计时模式的文档:http://www.createjs.com/tutorials/Animation%20and%20Ticker/