我正在制作游戏,它涉及沙尘暴。我决定基本的概念是,我会制作一个看起来大致像沙尘暴的图像,然后用一些粒子/其他任何东西装饰它。
我在第一步遇到了一个问题。为了测试目的,我将一个简单的图像拼凑在一起:
我把它添加到我的游戏中,而FPS下降了60%。我对一张图片的效果感到惊讶,但我并不太担心。我将图像的分辨率降低了一半,并且再次出现了很多延迟。
spritekit / iOS在使用alpha处理中等大小的图像时真的很糟糕吗?我读到了另一个问题,即模拟器在渲染方面不好,但这不是整个问题。
有没有希望在没有切割我的表现的情况下进行渲染?粒子工作得很好,其他一切都以60fps运行就好了,但是这个图像的添加显然是对资源的严重消耗。
编辑:我在手机上测试了我的游戏,没有任何延迟。显然,模拟器毕竟是非常糟糕的渲染。与此同时,我很好奇如何加速表现,因为显然存在某种滞后现象。答案 0 :(得分:1)
我不是SpriteKit的专家,但我在普通核心动画和分层方面有类似的经验。
问题是带有alpha的图像,即使对于它的“不透明”部分,它也会在每次移动时在其下面的所有子图层上引入重绘调用。首先检查这是否真的是问题,然后尝试其中一个,看看它是否有所改进:
SKCropNode
可能会阻止呈现底层元素你应该使用真实的设备来测试游戏的性能,你不能依赖模拟器。