【发布时间】:2016-02-15 19:22:55
【问题描述】:
我正在为 iPhone 6 Plus 创建这种第一人称射击游戏,但是当我在场景中引入任何灯光时,帧速率从已经勉强可以接受的 12fps 变为绝对无法播放的 2fps。此外,引入包含十多个粒子的粒子系统将帧速率提高到 9fps。我已经做到了,它将所有墙壁和门添加到地图节点,然后使用 flattenedClone 将其展平并添加。如果不切换到 Metal,我不确定我还能做什么。但我也想知道这一点,因为如果 SceneKit 这么慢,它为什么会存在呢?
【问题讨论】:
-
在模拟器中测量 fps 会使问题变得毫无意义。在设备上运行它!
-
这个问题似乎离题了,因为它是关于在模拟环境中测量性能,而不是实际的目标硬件。
-
怎么样? (反正我还没有开发者许可证)
-
google it ;) 你很快就会得到答案。如果您想继续该项目,您最好获得开发许可证和 iphone 6+。但如果你这样做,你可能会获得 60 fps。
-
iOS 模拟器运行带有软件渲染器的 OpenGL ES,因此任何使用 OpenGL ES(如 SpriteKit 或 SceneKit)的东西都会有 非常与实际设备不同的性能特征。 (如果他们以某种方式使用主机 Mac 的 GPU 运行 GLES,那么您仍然会获得与设备不同的性能,只是在另一个方向和/或不同的维度上。)这还不够:永远不要依赖模拟器来解决性能问题,尤其是在涉及 GPU 使用时。
标签: ios performance swift scenekit