旋转 HTML5 画布速度慢?
我正在尝试在画布上使用旋转,我现在有了它,因此每个对象都有自己的旋转。如果没有它们旋转,我可以在一台非常低端的计算机上在屏幕上显示大约 400 个对象,在一台正常库存的计算机上显示近 2000 个对象。当我将旋转因素考虑到大于 0 时,性能至少下降三分之一!
为什么仅仅改变旋转就会使其速度减慢这么多?这是一幅奇怪的画布吗?
我有一个全局旋转变量,在绘制每个对象时我:
ctx.rotate(globRot);
I'm experimenting using rotation on canvas, I have it now so each object has its own rotation. Without them rotating I can get around 400 objects on screen on a very low end computer and nearly 2000 on a normally stocked pc. when I factor in rotation more than 0, the performance drops at least a third!
Why is just changing the rotation slowing it down so much? Is this one of canvases weird hiccups?
I have a global rotation variable and at the beginning of drawing each object I:
ctx.rotate(globRot);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于单个对象缓存旋转。 我的一些发现。
实时旋转演示
缓存旋转演示(注意使用箭头向上移动以找到僵尸)
For individual objects cache the rotations. Some of my findings.
Realtime rotation demo
Cached rotations demo (note move up using arrows to find the zombies)
我猜想可能会花费很多时间来实际创建和乘以转换矩阵。如果您可以(找到一种方法)在未更改时缓存转换,这可能会有所帮助。或许。
I guess a lot of time might be spent actually creating and multiplying the matrix for the transformation. If you can (find a way to) cache the transformation when it's not changing, that might help. Maybe.