浮动SpriteKit

hal*_*ato 2 floating-point sprite-kit swift

为什么SpriteKit使用浮点数作为位置,即使像素中没有小数点?

我正在SpriteKit中构建一个游戏,我想知道是否应该在整数中设置角色以优化它,但我不确定是否会有任何性能改进.

是否值得将字符位置转换为优化?

rob*_*off 15

通常,在处理比特级别以上的图形时,使用浮点数比使用整数更简单.请注意,Core Graphics还使用浮点数作为坐标.

更简单的原因是你想做缩放(通过非整数因子)和旋转坐标,图像,路径等等.如果你使用整数,舍入误差会迅速累积一个显着的数量.如果使用浮点数,则舍入错误需要更长时间才能显着 - 通常它们根本不会变得明显.

还要考虑一个SKNodehas xScale和yScale属性.如果放大节点,其子节点的小数部分会对屏幕上的位置产生很大影响.

你不应该将你的角色位置转换为整数.SpriteKit使用浮点数,因此您最终将它们转换回浮点数以将其与SpriteKit一起使用,CPU具有浮点支持,并且GPU旨在执行大量浮点运算.