出處: yesy10的專欄 韓小冬
unity3d中新建乙個場景空的時候,幀速率(fps總是很低),大概在60~70之間。我們可以關閉vsync(垂直同步)來提高幀速率。
要知道什麼是垂直同步,必須要先明白顯示器的工作原理。
顯示器上的所有影象都是一線一線的掃瞄上去的,
無論是隔行掃瞄還是逐行掃瞄,顯示器都有兩種同步引數——水平同步和垂直同步。
什麼叫水平同步?什麼叫垂直同步?
垂直和水平是crt中兩個基本的同步訊號
水平同步訊號決定了crt畫出一條橫越螢幕線的時間
垂直同步訊號決定了crt從螢幕頂部畫到底部,再返回原始位置的時間,而恰恰是垂直同步代表著crt顯示器的重新整理率水平。
為什麼關閉垂直同步訊號會影響遊戲中的fps數值?
道理一點都不複雜,首先我們平時執行作業系統一般螢幕重新整理率是多少?大概一般都是在85上下吧,那麼顯示卡就會每按照85的頻率時間來傳送乙個垂直同步訊號,訊號和訊號的時間間隔是上兩次螢幕更新的時間間隔。
如果我們選擇等待垂直同步訊號(也就是我們平時所說的垂直同步開啟),那麼在遊戲中或許強勁的顯示卡迅速的繪製完一屏的影象,但是沒有垂直同步訊號的到達,顯示卡無法繪製下一屏,只有等85單位的訊號到達,才可以繪製。這樣fps自然要受到作業系統重新整理率執行值的制約。
而如果我們選擇不等待垂直同步訊號(也就是我們平時所說的關閉垂直同步),那麼遊戲中作完一屏畫面,顯示卡和顯示器無需等待垂直同步訊號就可以開始下一屏影象的繪製,自然可以完全發揮顯示卡的實力。
小結:正是因為垂直同步的存在,才能使得遊戲程序和顯示器重新整理率同步,使得畫面更加平滑和穩定。
取消了垂直同步訊號,固然可以換來更快的速度,但是在影象的連續性上勢必打折扣。這也正是關閉垂直後畫面不連續的理論原因。
VSync Count 垂直同步
unity3d中新建乙個場景空的時候,幀速率 fps總是很低 大概在60 70之間。一直不太明白是怎麼回事,現在基本上明白了。我在這裡解釋一下原因,如有錯誤,歡迎指正。在unity3d中當執行場景開啟profiler的時候,我們會看到vsync 這一項佔了很大的比重。這個是什麼呢,這個就是垂直同步,...
VSync Count 垂直同步
原文 unity3d中新建乙個場景空的時候,幀速率 fps總是很低 大概在60 70之間。一直不太明白是怎麼回事,現在基本上明白了。我在這裡解釋一下原因,如有錯誤,歡迎指正。在unity3d中當執行場景開啟profiler的時候,我們會看到vsync 這一項佔了很大的比重。這個是什麼呢,這個就是垂直...
VSync Count 垂直同步
unity3d中新建乙個場景空的時候,幀速率 fps總是很低 大概在60 70之間。一直不太明白是怎麼回事,現在基本上明白了。我在這裡解釋一下原因,如有錯誤,歡迎指正。在unity3d中當執行場景開啟profiler的時候,我們會看到vsync 這一項佔了很大的比重。這個是什麼呢,這個就是垂直同步,...