如何在有很多 SKShapeNodes 的 spritekit 游戏中增加 FPS?
How to increase FPS in spritekit game with lot of SKShapeNodes?
我需要一个建议。我正在制作一个有很多 SKShapeNodes 的游戏。所以我的 FPS 大约是 18。有没有人建议如何在这样的游戏中增加 FPS?整个游戏场景中SKShapeNode数量为220个
SKShapeNode
是性能密集型的,因为 SpriteKit 是 栅格化 (计算形状的像素)每个 帧而不是计算一次而不是重复使用它。
我看到的两个选项是:
- 使用您的形状节点创建
SKTexture
(s) object(s),而不是使用 SKSpriteNode
显示这些纹理而不是直接显示您的 SKShapeNode
objects.
- 制作 some/all 的
SKShapeNode
objects children of SKEffectNode
并将其 shouldRasterize
属性 设置为 true
,意思是将SKEffectNode
children光栅化一次,缓存已经渲染的内容,在没有变化的情况下重用。
您应该使用什么取决于您要实现的目标,这些节点的形状是否会随时间变化?那些形状在移动吗?是全部 changing/moving 还是只有一部分?
我需要一个建议。我正在制作一个有很多 SKShapeNodes 的游戏。所以我的 FPS 大约是 18。有没有人建议如何在这样的游戏中增加 FPS?整个游戏场景中SKShapeNode数量为220个
SKShapeNode
是性能密集型的,因为 SpriteKit 是 栅格化 (计算形状的像素)每个 帧而不是计算一次而不是重复使用它。
我看到的两个选项是:
- 使用您的形状节点创建
SKTexture
(s) object(s),而不是使用SKSpriteNode
显示这些纹理而不是直接显示您的SKShapeNode
objects. - 制作 some/all 的
SKShapeNode
objects children ofSKEffectNode
并将其shouldRasterize
属性 设置为true
,意思是将SKEffectNode
children光栅化一次,缓存已经渲染的内容,在没有变化的情况下重用。
您应该使用什么取决于您要实现的目标,这些节点的形状是否会随时间变化?那些形状在移动吗?是全部 changing/moving 还是只有一部分?