表示每个帧之间应经过的垂直同步次数。
范围为 0-4 的整数。默认情况下,设置为 1。
桌面和网页vSyncCount
指定游戏允许在帧之间经过的屏幕刷新次数。在 Unity 编辑器中,这对应于**项目设置 > 质量 > 其他**下的**垂直同步次数**属性。
- 如果 vSyncCount > 0
,则字段 Application.targetFrameRate 将被忽略,有效帧率为显示器的原生刷新率除以 vSyncCount
。如果 vSyncCount == 1
,则渲染与显示器的垂直刷新率同步。
- 如果 vSyncCount
设置为 0,则 Unity 不会将渲染与垂直同步同步,而是使用字段 Application.targetFrameRate 来控制渲染帧。
例如,如果您在 60 Hz 显示器上运行编辑器,并且 vSyncCount == 2
,则目标帧率为每秒 30 帧。
Android 和 iOS:始终忽略 vSyncCount
字段,因为移动设备不允许非同步渲染。请改用 Application.targetFrameRate 字段来控制帧率。
VR 平台:同时忽略 vSyncCount
和 Application.targetFrameRate。取而代之的是,VR SDK 控制帧率。
注意:您可以在 Resolution.refreshRateRatio(位于 Screen.currentResolution 属性中)中查询大多数平台的屏幕刷新率。
显示器原生刷新率变化
虽然历史上显示器的原生刷新率通常保持固定,但如今新一代移动设备、笔记本电脑和台式机可以影响显示器的原生刷新率,使其在运行时动态变化。例如
因此,建议不要在游戏逻辑中的任何位置硬编码,并假设在游戏启动时看到的显示器刷新率将在应用程序的整个生命周期中保持不变。
其他资源:Application.targetFrameRate
using UnityEngine;
public class Example : MonoBehaviour { void Start() { // Render at half the refresh rate of the display (Desktop and Web platforms) QualitySettings.vSyncCount = 2; } }
其他资源:质量设置。