在SpriteKit平台游戏中遇到性能问题

时间:2017-06-10 04:56:07

标签: ios swift sprite-kit frame-rate sktilemapnode

我在为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图像)

  4. 感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

以下是评论中提到的一些性能提示: