ios - SpriteKit 平台游戏中的性能问题

标签 ios swift sprite-kit frame-rate sktilemapnode

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

我只是有几个问题我很困惑。

  1. 我正在构建一个平台游戏,因此有时会在场景摄像机 View 之外有节点。如果不是的话,我应该循环遍历所有节点并将它们从场景中删除吗?这是否有助于提高性能,或者 SpriteKit 是否会自动使用 skcameranode 执行此操作?

  2. 我想要打造一种类似开放世界的感觉,因此某些关卡可能会很大。我有很多 128x128 的图 block ,我将它们与tilemapnodes一起用作前景。玩家将与之互动的地面、泥土、平台等。我还有 5 层视差背景,大小为 512x512 图 block ,每个层都有自己的图 block map 节点。我的问题是关于这些巨大的水平。我应该将这些图 block map 节点分成几个部分吗?这对你的表现有帮助吗?

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

感谢您的帮助。

最佳答案

以下是一些关于性能的一般提示,如评论中所述:

关于ios - SpriteKit 平台游戏中的性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44469694/

相关文章:

ios - APNS 推送通知未传送到*某些*设备

swift - QUIZ 应用程序... UIAlertController 没有出现并且没有重新启动回到最初的问题

View 体中的swiftui三元运算符

swift - iOS 9、Xcode 7、带 SpriteKit 的多点触控

ios - fatal error : module map file YogaKit. 未找到模块映射

ios - 用箭头替换 GMSMapView 中的蓝点 - Swift

ios - 检测 Textview 滚动和 Tableview 滚动

swift - 无法使用带有完成处理程序的函数进行抛出

ios - 对 SKShapeNode 元素的数组进行排序

ios - SKLabelNode 不改变 fontColor