Xcode 7 iOS 9 Swift 2.0 Spritekit 性能缓慢

10

我有一个基于Sprite Kit的游戏在iOS8上运行良好,但是在测试iOS 9 beta 5上的应用程序时,它很卡顿且相当慢。

因此,我安装了Xcode 7并使用Swift 2.0重新编译了应用程序,但它仍然非常缓慢和卡顿。

还有其他人遇到这个问题吗?有什么解决办法吗?


我正在使用CoreImage和OpenGL,但在iOS 9上编译时变得非常缓慢。但在我的情况下,在iOS 8上快速编译并在iOS 9设备上运行。 - Paulo Cesar
5个回答

3

不确定您是否已经解决了问题,但我一直在使用Swift2.0和XCode7中遇到了很多卡顿的问题。以下是我所做的:

  1. 清理项目派生数据,不仅是内容,还包括包含派生数据的文件夹;
  2. 进入 构建设置 (Build Settings)
  3. 点击 全部 (All)
  4. 搜索 Whole (应该会出现优化级别);
  5. 为调试和发布版本勾选 快速模块优化 (Fast Module Optimization)

我看到了巨大的性能提升。不过,我仍在测试中。


0

听起来你可能正在使用SKLightNode?如果是这样,请尝试从代码中删除所有光节点。我做到了这一点,我的游戏在iOS8中以60fps的速度运行。这只是SpritKit在iOS 9中遇到的问题之一,它已成为苹果论坛上的痛点,并且得到了很少来自苹果官方的反馈。如果SKLightNode不是你游戏中出现的问题,请尝试通过论坛寻找帮助:https://forums.developer.apple.com/welcome

来源:SKLightNode性能问题


0

我曾经遇到过同样的问题。原来是因为我在应用程序中使用了多个SKView。在iOS 8中,我没有注意到明显的问题,但在iOS 9中问题变得更加严重。幸运的是,苹果公司发布了一篇很好的技术文章,概述了在不同视图控制器中使用多个SKView时该怎么做。当我实施这个方案后,性能恢复到了60FPS:

https://developer.apple.com/library/ios/qa/qa1889/_index.html


0

我在这里发布了一个可能的解决方案: 我的Xcode 7.3编译器经常崩溃,导致构建和编译时间极长

对我来说问题是我在变量名和 .swift 文件名中使用了表情符号。

我建议您尝试在免费版本的AppCode中打开和保存您的项目,这就是我能够通过检查AppCode如何处理相同项目来诊断表情符号问题的方法。


0

我有同样的问题。我的应用程序使用GLKit,在iOS 8中始终以40fps以上的速度运行,但在iOS 9中下降到不到10fps。

为了解决这个问题,我在xcode 7中开始了一个新项目,并将所有文件从现有项目拖到了新项目中。绝望的时候需要绝望的措施,但现在它在iOS 9中完美运行。

对于大多数人来说,这可能不是一个可行的解决方案,但对我有效。


不幸的是,那对我来说并不是一个解决方案。从稳定的55帧掉到个位数?内部必须发生了什么变化? - scriptocalypse

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接