为什么 SpriteKit 使用 float 作为位置,即使像素不能有小数点?
我正在用 SpriteKit 构建游戏,想知道是否应该将角色位置设为整数以优化它,但不确定是否会有任何性能改进。
是否值得将字符位置转换为整数来优化?
最佳答案
一般来说,在处理位旋转级别以上的图形时,使用 float 比使用整数更简单。请注意,Core Graphics 还使用 float 作为坐标。
它更简单的原因是你想做一些事情,比如缩放(按非整数因子)和旋转坐标、图像、路径等。如果你使用整数,舍入误差会 swift 累积一个明显的数量。如果您使用 float ,舍入误差需要更长的时间才能变得明显 - 通常它们根本不会变得明显。
还要考虑 SKNode
具有 xScale
和 yScale
属性。如果您放大一个节点,其子节点位置的小数部分会对它们在屏幕上的位置产生很大影响。
您不应将字符位置转换为整数。 SpriteKit 使用 float ,因此您最终需要将它们转换回 float 才能与 SpriteKit 一起使用,CPU 支持 float ,而 GPU 旨在执行大量浮点运算。
关于swift - float SpriteKit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26190236/