如何在具有大量SKShape节点的spritekit游戏中增加FPS



我需要一个建议。我正在制作一个有很多SKShape节点的游戏。所以我的 FPS 大约是 18。有没有人建议如何在这样的游戏中增加 FPS?整个游戏场景中的SKShapeNode数量为220。

SKShapeNode相当

耗费性能,因为SpriteKit正在光栅化(计算形状的像素)每一帧,而不是计算一次而不是重用它。

我看到的两个选项是:

  • 使用形状节点创建SKTexture对象,而不是使用SKSpriteNode显示这些纹理,而不是直接显示SKShapeNode对象。
  • 将部分/全部SKShapeNode对象设置为SKEffectNode的子对象,并将其shouldRasterize属性设置为 true ,这意味着它将栅格化一次SKEffectNode子对象,缓存已渲染的内容并在没有更改时重用它。

您应该使用什么取决于您要实现的目标,这些节点的形状是否随时间而变化?这些形状在移动吗?是全部改变/移动还是只改变其中的一部分?

最新更新