我的游戏大部分级别都大于屏幕尺寸,因此相机跟随玩家的关卡。该级别填充了多个对象,例如平台和地雷。从整体来看,这些平台和地雷不会在关卡中移动(从未在update
方法中执行任何操作或使用SKActions
),但在屏幕上它们似乎在移动因为相机跟随播放器。我知道将场景的shouldRasterize
属性设置为true
可以提高不移动节点的性能。所以我的问题是场景是否将平台和地雷视为移动或静止/将shouldRasterize
属性设置为true
在这种情况下帮助我?
答案 0 :(得分:0)
正如您所指出的,shouldRasterize
确实将节点(以及每个后代)的呈现保存在内存中。因此,如果下一帧没有任何改变,则使用缓存渲染。
你说你的场景没有任何改变。你确定吗?甚至不是玩家?如果是这样,那么shouldRasterize = true
应该使渲染更快。否则,即使单个visibile节点随时间变化也是如此,您也不应将shouldRasterize
设置为true
。
在这种情况下,测试最佳方法非常容易。只需在两种模式下运行您的游戏(shouldRasterize = false
然后shouldRasterize = true
)并检查帧速率何时更高。
为什么要考虑这种优化?你的游戏速度慢吗?如果你的游戏只是一个没有任何动作的场景滚动而且速度很慢,那么在应用任何优化之前你应该修复一些问题。