我已经在iPhone 6上为SpriteKit(旋转飞机)推出了Xcode的模板项目。令我惊讶的是,Xcode报告没有GPU利用率,同时屏幕上有800个精灵节点,FPS从60降到30 。 我以为SpriteKit使用GPU进行渲染。它是Xcode还是我和我缺乏知识?
答案 0 :(得分:4)
FPS调试指标和GPU报告仅适用于OpenGL ES游戏。 Sprite Kit现在支持Metal设备(任何带有A7芯片的设备,所以iPhone 5S +),这意味着它不会使用OpenGL ES。因此,解决方法是简单地告诉Sprite Kit使用OpenGL ES而不是Metal,这应该使FPS Debug Gauge和GPU Report再次工作。 请在发布游戏前切换回Metal!以下是来自here的引用,详细说明如何切换到OpenGL。
默认情况下,SpriteKit和SceneKit在iOS 9和OS X中使用Metal进行渲染 但是,El Capitan有一个使用OpenGL的工具。
要做到这一点: 1.编辑应用程序的Info.plist 2.添加PrefersOpenGL键,其bool值为YES
重要说明:为了获得最佳性能,请在SpriteKit中使用金属渲染 默认情况下启用SceneKit。设置PrefersOpenGL渲染键是 除非出于其他原因确定是必要的,否则不推荐。
有关FPS调试指标和GPU报告的更多信息,请参阅here
请记得向Apple报告此错误。