Unity | 優化(一):V Sync Count

1. 點擊Unity->Edit->Project Setting->Quality,打開QualitySetting面板,有一個V Sync Count參數,該參數表示垂直同步。它有三個值可以選擇:

  • Don't Sync:不設置垂直同步,需要通過代碼Application.targetFrameRate來指定幀率
  • Every V Blank:幀率爲60,Application.targetFrameRate無效
  • Every Second V Blank:幀率爲30,Application.targetFrameRate無效

2. Application.targetFrameRate:設置該值不能保證幀速率爲目標值,可能由於平臺的特殊性而出現波動,或者由於計算機速度太慢,遊戲可能無法達到幀速率。它有三個特殊值:

  • Application.targetFrameRate=-1:使遊戲儘可能快地渲染
  • Application.targetFrameRate=30:一般在手機遊戲中,設置幀率爲30
  • Application.targetFrameRate=60:網頁播放器遊戲的渲染速度一般爲50-60幀/秒

3.打開垂直同步能防止遊戲畫面高速移動時畫面產生撕裂現象。

我們平時運行操作系統一般顯示器刷新率是在85左右,顯卡會按照每85的頻率時間來發送一個垂直同步信號,如果我們選擇“等待垂直同步信號”(也就是我們平時所說的“垂直同步打開”),那麼在遊戲中,或許強勁的顯卡迅速的繪製完一屏的圖像,但是沒有垂直同步信號的到達,顯卡無法繪製下一屏,只有等85單位的信號到達,纔可以繪製;而如果我們選擇“不等待垂直同步信號”(也就是我們平時所說“關閉垂直同步”),那麼遊戲繪製完一屏畫面,顯卡和顯示器無需等待垂直同步信號,就可以開始下一屏圖像的繪製,自然可以完全發揮顯卡的實力。

正是因爲垂直同步的存在,才能使得遊戲刷新率和顯示器刷新率同步,使得畫面平滑,使得畫面穩定。取消了垂直同步信號,固然可以換來更快的速度,但是在圖像的連續性上,性能勢必打折扣。

通常渲染要慢的多,開了垂直同步,計算機就會等待上一張圖片渲染完成後纔會發出開始下一張渲染的命令;不開垂直同步,那麼計算機就急不可待的想把算好的結果渲染在屏幕上,這樣就容易出現上一張還沒有渲染完,又來新的圖來覆蓋,時間差大到一定程度就會出現屏幕撕裂。

4.最近做的項目是基於2D的一個工具類項目,所以設置爲30幀即可。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章