首页 > 代码库 > VSync Count 垂直同步

VSync Count 垂直同步

??
Unity3D中新建一个场景空的时候。帧速率(FPS总是非常低),大概在60~70之间。一直不太明确是怎么回事。如今基本上明确了。

我在这里解释一下原因。如有错误,欢迎指正。在Unity3D中当执行场景打开Profiler的时候。我们会看到VSync 这一项占了非常大的比重。

这个是什么呢,这个就是垂直同步。稍后再做解释。

我们能够关闭VSync来提高帧速率,选择edit->project settings->Quality 在右側面板中能够找到VSync Count技术分享 ,把它选成Don‘t Sync。这就关闭了VSync(垂直同步)。如今在执行场景看看,帧速率是不是提高非常多。

       如今来说说什么是垂直同步。要知道什么是垂直同步,必需要先明确显示器的工作原理。显示器上的全部图像都是一线一线的扫描上去的,不管是隔行扫描还是逐行扫描,显示器都有两种同步參数——水平同步和垂直同步。

       什么叫水平同步?什么叫垂直同步?

       垂直和水平是CRT中两个主要的同步信号。水平同步信号决定了CRT画出一条横越屏幕线的时间,垂直同步信号决定了CRT从屏幕顶部画究竟部。再返回原始位置的时间。而恰恰是垂直同步代表着CRT显示器的刷新率水平。

       为什么关闭垂直同步信号会影响游戏中的FPS数值?

       道理一点都不复杂,首先我们平时执行操作系统一般屏幕刷新率是多少?大概一般都是在85上下吧,那么显卡就会每依照85的频率时间来发送一个垂直同步信号。信号和信号的时间间隔是上两次屏幕更新的时间间隔

假设我们选择等待垂直同步信号(也就是我们平时所说的垂直同步打开)。那么在游戏中也许强劲的显卡迅速的绘制完一屏的图像,可是没有垂直同步信号的到达,显卡无法绘制下一屏。仅仅有等85单位的信号到达。才干够绘制。

这样FPS自然要受到操作系统刷新率执行值的制约。

        而假设我们选择不等待垂直同步信号(也就是我们平时所说的关闭垂直同步),那么游戏中作完一屏画面,显卡和显示器无需等待垂直同步信号就能够開始下一屏图像的绘制,自然能够全然发挥显卡的实力。可是不要忘记,正是由于垂直同步的存在,才干使得游戏进程和显示器刷新率同步,使得画面更加平滑和稳定。取消了垂直同步信号,固然能够换来更快的速度,可是在图像的连续性上势必打折扣。这也正是非常多朋友抱怨关闭垂直后发现画面不连续的理论原因。

VSync Count 垂直同步