如何使用 Application.targetFrameRate 设置目标帧率以修复错误的帧率 (vsync)
How to set target frame rate with Application.targetFrameRate to fix bad frame rate (vsync)
在将我的游戏构建到我的 iOS 设备时注意到我的游戏非常紧张后,我检查了分析器并发现 vsync 负责。经过一些研究后,我发现为了解决游戏的抖动问题,我必须将目标帧速率设置为 60,因为它的值默认设置为 30。
所以在我的一个脚本中附加到我的游戏场景中的游戏对象我包含了代码:
void Awake(){
Application.targetFrameRate = 60;
}
再次构建我的应用程序后,我不确定这是否有所作为,所以我发布这个问题是为了询问如何正确设置目标帧速率,因为我的方法似乎不起作用...(也许使用 qualitysettings.vsynccount 虽然我不确定这是否适用于 iOS)
您无需担心探查器中的 VSync "using" 很多 CPU。我记得我对此感到困惑。 VSync 不会导致您遇到的性能问题。
你可以看看这个 link 以获得很好的解释:http://answers.unity3d.com/questions/994225/vsync-decreases-performances.html
此外,如果出于某种原因您仍想禁用 VSync,您可以转到
编辑 > 项目设置 > 质量
并将VSyncCount
设置为不同步
如果你想用代码做到这一点,我认为下面的语句也有效:
QualitySettings.vSyncCount = 1;
所以在我的一个脚本中附加到我的游戏场景中的游戏对象我包含了代码:
void Awake(){
Application.targetFrameRate = 60;
}
再次构建我的应用程序后,我不确定这是否有所作为,所以我发布这个问题是为了询问如何正确设置目标帧速率,因为我的方法似乎不起作用...(也许使用 qualitysettings.vsynccount 虽然我不确定这是否适用于 iOS)
您无需担心探查器中的 VSync "using" 很多 CPU。我记得我对此感到困惑。 VSync 不会导致您遇到的性能问题。
你可以看看这个 link 以获得很好的解释:http://answers.unity3d.com/questions/994225/vsync-decreases-performances.html
此外,如果出于某种原因您仍想禁用 VSync,您可以转到
编辑 > 项目设置 > 质量
并将VSyncCount
设置为不同步
如果你想用代码做到这一点,我认为下面的语句也有效:
QualitySettings.vSyncCount = 1;