我用来processing.js
在canvas
.
如果我在画布上绘制超过 100-200 个不断移动的圆圈,则 FPS 会显着下降。如果我删除绘图,FPS 会回到 60,因此其他任务不会影响 FPS。
fill(mR,mG,mB);
ellipse(mX,mY,mRadius,mRadius);
例如,我知道对于复杂的形状,您可以将它们绘制到内存中的另一个画布上以缓存它们,然后简单地将该画布绘制到主画布上。
有什么办法可以提高这种绘图性能吗?
一些可能有帮助的链接:http:
//www.html5rocks.com/en/tutorials/canvas/performance/
http://ramkulkarni.com/blog/improving-animation-performance-in-html5-canvas-part-ii/
但是我不能在我的上下文中使用这些,或者将它们与 Processing.js 集成。
编辑:实际上它看起来可以在 fps 开始下降之前处理 ~1000 个形状。在 i5 处理器和 GTX660 gpu 上启用 GPU 渲染的 Google Chrome 上进行了测试。
我想这已经很不错了,但是有什么办法可以挤出一些额外的 FPS 吗?