zoukankan      html  css  js  c++  java
  • 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自然要受到操作系统刷新率执行值的制约。

            而假设我们选择不等待垂直同步信号(也就是我们平时所说的关闭垂直同步),那么游戏中作完一屏画面。显卡和显示器无需等待垂直同步信号就能够開始下一屏图像的绘制。自然能够全然发挥显卡的实力。

    可是不要忘记。正是由于垂直同步的存在,才干使得游戏进程和显示器刷新率同步。使得画面更加平滑和稳定。取消了垂直同步信号,固然能够换来更快的速度,可是在图像的连续性上势必打折扣。

    这也正是非常多朋友抱怨关闭垂直后发现画面不连续的理论原因。


    (来自:http://blog.csdn.net/yesy10/article/details/7794556)


  • 相关阅读:
    455. Assign Cookies
    [leetcode]Linked List Cycle
    *[topcoder]GooseTattarrattatDiv1
    [topcoder]FoxAndChess
    *[topcoder]TheTree
    *[topcoder]LittleElephantAndBalls
    *[topcoder]HexagonalBoard
    *[topcoder]AstronomicalRecords
    *[topcoder]LittleElephantAndIntervalsDiv1
    [topcoder]IncrementAndDoubling
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5330551.html
Copyright © 2011-2022 走看看