【问题标题】:Xcode 7 iOS 9 Swift 2.0 Spritekit performance is slowXcode 7 iOS 9 Swift 2.0 Spritekit 性能很慢
【发布时间】:2015-08-08 08:07:00
【问题描述】:

我有一个基于 sprite kit 的游戏在 iOS8 上运行良好,但是在 iOS 9 beta 5 上测试该应用时,它很生涩而且很慢。

所以我安装了 xcode 7 并在 swift 2.0 中重新编译了应用程序,但它仍然非常缓慢和生涩。

还有其他人有这个问题吗?一个想法如何解决它?

【问题讨论】:

  • 我在 OpenGL 中使用 CoreImage,使用 iOS 9 编译时它变得非常慢,但在我的情况下,它使用 ios8 快速编译并在 iOS 9 设备上运行..

标签: swift2 xcode7 ios9


【解决方案1】:

不确定您是否能够解决您的问题,但我在使用 Swift2.0 和 XCode7 时遇到了很多问题 - smh (9/23/15)

这是我所做的:

  1. 清理项目的派生数据。不仅是内容,还有包含派生数据的文件夹;
  2. 转到构建设置
  3. 点击全部
  4. 搜索整体(应该会出现优化级别)
  5. 检查快速模块优化以进行调试和发布。

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

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。我使用 GLKit 的应用在 iOS 8 中的运行速度始终高于 40fps,而在 iOS 9 中则降至 10fps 以下。

    为了修复它,我在 xcode 7 中启动了一个新项目,并从现有项目中拖动了所有文件。绝望的时代需要绝望的措施,但现在它在 iOS 9 中完美运行。

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

    【讨论】:

    • 不幸的是,这对我来说不是一个解决方案。从稳定的 55 下降到个位数 fps?内部必须发生什么变化?
    【解决方案3】:

    我遇到了同样的问题。事实证明,这是因为我在我的应用程序中使用了多个 SKViews。我在 iOS 8 中没有明显的问题,但在 iOS 9 中问题变得更糟了。幸运的是,Apple 发布了一篇很好的技术文章,概述了如何在不同的视图控制器中处理多个 SKView。当我实现时,这个性能又回到了 60FPS:

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

    【讨论】:

      【解决方案4】:

      听起来您可能正在使用 SKLightNode?如果是这样,请尝试从您的代码中删除所有轻节点。我这样做了,我的游戏以 60fps 的速度运行,就像在 iOS8 中一样。这只是 SpritKit 在 iOS 9 中存在的问题之一,它已成为 Apple 论坛上的一个痛点,几乎没有来自 Apple 的反馈。如果 SKLightNode 不是您游戏中的问题,请尝试浏览论坛:https://forums.developer.apple.com/welcome

      来源:SKLightNode performance issues

      【讨论】:

        【解决方案5】:

        我在这里发布了一个可能的解决方案: My Xcode 7.3 compiler is constantly breaking and causing extremely long Build and Compile times

        我的问题是我使用表情符号作为变量名和.swift 文件名。

        我建议您尝试在免费版本的 AppCode 中打开并保存您的项目,这就是我能够通过检查 AppCode 在同一个项目中的行为来诊断表情符号问题的方法.

        【讨论】:

          猜你喜欢
          • 2015-10-08
          • 2016-01-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多