我的大多数游戏的关卡都比屏幕尺寸大,所以相机会跟随玩家的关卡。该标高由多个对象填充,例如平台和矿山。从整个关卡来看,这些平台和地雷不会在关卡周围移动(永远不会在update方法或SKActions中做任何事情),但在屏幕上,它们似乎在移动,因为相机正在跟随玩家。据我所知,将场景的shouldRasterize属性设置为true可以提高不移动节点的性能。所以我的问题是,场景是将平台和矿场视为移动的还是静止的/在这种情况下,将shouldRasterize属性设置为true会对我有所帮助吗?
发布于 2016-07-02 22:57:27
正如您所注意到的,shouldRasterize确实将节点(以及每个子节点)的渲染保存在内存中。因此,如果下一帧没有任何变化,则使用缓存的渲染。
你说过在你的场景里什么都不会改变。真的吗?即使是玩家也不知道?如果是这样,那么shouldRasterize = true应该会使渲染速度更快。否则,如果在一段时间内即使单个可见节点的外观发生更改,也不应将shouldRasterize设置为true。
就测试一下吧
在这种情况下,测试最佳方法非常简单。只需在两种模式(shouldRasterize = false和shouldRasterize = true)下运行游戏并检查帧率是否更高即可。
最后的注意事项
为什么要考虑这种优化呢?你的游戏速度慢吗?如果你的游戏只是一个场景滚动,没有任何移动,而且速度很慢,也许在应用任何优化之前,你应该修复一些问题。
https://stackoverflow.com/questions/38127750
复制相似问题