我正在使用Unity引擎为 iOS 开发一个简单的游戏。我正在使用Application.targetFrameRate
设置游戏的目标fps。当我将目标fps设置为60或45时,游戏可以在任何iOS设备上完美运行,但是如果我将targetFrameRate设置为30,则游戏会出现尖峰和抖动。我不知道为什么会这样(30 fps必须可以)。
我将 Profiler 附加到我的iPhone上,发现以30 fps的速度运行时,某些帧以200 fps的速度渲染,另一些以45-60 fps的速度渲染,这导致了可怕的性能峰值。但是当targetFrameRate为45或60时不会发生这种情况。
我真的需要我的游戏以30 fps的速度运行,以避免发热和节流。有人请帮助我!
答案 0 :(得分:1)
我在这里猜测潜在的问题,但是设置targetFrameRate
通过CPU上的逻辑来调节帧,而设置QualitySettings.vSyncCount
则可以让GPU处理节流。
我的猜测是,设置QualitySettings.vSyncCount = 2
应该会提供更流畅的体验。您也可以在QualitySettings中手动设置此代码,而不是通过代码进行设置。