如何加速大规模的SKNode行动?

时间:2017-04-17 03:58:37

标签: ios image-processing sprite-kit gpu metal

iOS SpriteKit API易于使用。但是,如果我同时在很多SKSpriteNode(大约2000+)上运行大量动作(大约5000+),则fps会下降得非常低。但在这种情况下GPU使用率远低于CPU使用率。有没有什么方法可以加速GPU上的操作?或者有没有办法在MetalKit下使用移动,缩放,淡入淡出和旋转动作来实现图像?

1 个答案:

答案 0 :(得分:0)

您可以在节点上使用着色器来更改其外观。这对于移动,缩放,衰落和旋转节点是有益的。我通常建议使用SKActions,因为它们是CPU通常处理的非常基本的功能而不是GPU,在你的情况下,我建议你查看为什么你需要一次更改2000个节点。< / p>

每当您拥有那么多节点时,您可以用SKEmitterNode替换它们。将PhysicsBodies与单个排放物一起使用要困难得多,但它们比使用单个5000个节点更加资源友好。