SpriteKit 平台游戏中的性能问题

Troubles with performance issues in SpriteKit platformer game

我第一次在为 iOS 开发平台游戏时遇到一些延迟。我对开发还比较陌生,所以我假设我已经犯了会减慢游戏速度的错误。

我有几个问题很困惑。

  1. 我正在构建一个平台游戏,所以我有时会在场景相机视图之外设置节点。我是否应该遍历所有节点并将它们从场景中移除?这会有助于提高性能,还是 SpriteKit 会自动使用 skcameranode 执行此操作?

  2. 我想营造一种开放世界的感觉,所以有些关卡可能很大。我有很多 128x128 的图块,我将它们与 tilemapnodes 一起用于前景。玩家将与之互动的地面、泥土、平台等。我还有 5 层视差背景,它们是 512x512 的瓷砖,每个都有自己的 tilemapnode。我的问题是关于这些巨大的水平。我应该将这些 tilemapnodes 分成几个部分吗?这对你的表现有帮助吗?

  3. 最后一个问题,所以 128x128 的图块实际上是 256x256。我只是缩小了 tilemapnode。我为前景创建了一个巨大的 tilemapnode,并用这个地图节点制作了地面、地板和一些山丘。当我将播放器移动到节点密集的区域时,它会滞后到 45-55 fps。当远离这个密集区域时,它会回到 60 fps;让我相信 SpriteKit 会处理问题 1。无论如何,与其创建 256x256 的图像并在需要时按比例缩小,创建不同大小的单独图像而不是使用缩放选项是否有助于提高性能? (如果重要的话,我对每张图片都使用 1,2,3x 图像)

感谢您的帮助。

如评论中所述,这里有一些一般的性能提示: