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自然要受到操作系统刷新率执行值的制约。

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

  • 相关阅读:
    ajax数据查看工具(chrome插件)
    JavaScript性能优化小知识总结
    jsonp
    学习Javascript闭包(Closure)
    浅析闭包和内存泄露的问题
    设备像素比
    【前端福利】用grunt搭建自动化的web前端开发环境-完整教程
    java开发的web下载大数据时的异常处理
    Node.js中的exports与module.exports的区分
    Task与Thread间的区别
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/6849738.html
Copyright © 2011-2022 走看看