在注意到我的游戏在构建到我的iOS设备上时非常不稳定时,我检查了事件探查器,发现vsync负责。经过一些研究,我发现为了解决游戏的抖动问题,我不得不将目标帧频设置为60,因为默认情况下将其设置为30。
因此,在我的一个脚本中,附加到游戏场景中的gameObject上的代码包括:
void Awake(){
Application.targetFrameRate = 60;
}
再次构建我的应用程序后,我不确定是否会有所不同,所以我发布此问题以询问如何正确设置目标帧速率,因为我的方式似乎不起作用...(也许我使用qualitysettings.vsynccount不知道这是否适用于iOS)
最佳答案
您无需担心VSync在探查器中“使用”大量CPU。我记得我对此感到困惑。 VSync不会导致您遇到性能问题。
您可以查看此链接以获得良好的解释:http://answers.unity3d.com/questions/994225/vsync-decreases-performances.html
另外,如果由于某些原因您仍要禁用VSync,则可以通过转到
编辑>项目设置>质量
并将VSyncCount
设置为“不同步”
如果您想使用代码执行此操作,我认为以下语句也适用:
QualitySettings.vSyncCount = 1;
关于c# - 如何使用Application.targetFrameRate设置目标帧速率以修复不良帧速率(vsync),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46135623/