游戲卡幀深入探索!揭開渲染延時面紗
至此CPU、內(nèi)存、GPU、顯存我們?nèi)孢M行了測試,現(xiàn)有的硬件無論如何搭配均會出現(xiàn)不同程度的卡頓現(xiàn)象。難道真就沒有讓游戲既能全開特效,又能變流暢的方法了嗎?
● 消除卡頓兩部曲:垂直同步和三重緩沖
以前有玩家反映選擇垂直同步后畫面變卡或者幀數(shù)下降,其實主要原因就是沒有開啟三重緩沖,當然這會消耗更多的顯存空間,但是現(xiàn)在顯卡顯存動輒1G以上,這也算不上什么問題了。 假如關閉這兩項,顯卡性能很強的情況下,游戲幀數(shù)會有超過60幀甚至上百幀的情況,但是現(xiàn)在我們大多數(shù)使用的液晶固定刷新率都60,所以那些測得的高幀率完全沒有實際意義,只會讓顯卡玩普通游戲都處于滿載狀態(tài)又費電又熱。

打開垂直同步后,游戲畫面FPS數(shù)能達到或超過你顯示器的刷新率,這時游戲畫面FPS數(shù)被限制為你顯示器的刷新率,畫面流暢平滑,同時還能防止高速移動時游戲畫面出現(xiàn)的撕裂現(xiàn)象。在文章的最后,我們費了九牛二虎之力,沒有找到硬件之病因,卻發(fā)現(xiàn)了軟件之良藥……
既然說到了垂直同步,那就不得不介紹一下它的黃金搭檔——“三重緩沖”。
三重緩沖(Triple Buffering)圖象處理技術(shù)的原理和它的名字一樣具體而簡單,一句話概括就是使用一個前置緩存和兩個后置緩存。在著色完第一個后置緩沖區(qū)的數(shù)據(jù)后,立即開始處理第二個后置緩沖區(qū)。三重緩沖,有3個緩沖區(qū),顯卡無需等待前緩沖區(qū)清空進而騰出后緩沖區(qū),隨時可以把渲染結(jié)果放入第3個緩沖區(qū)。這就是說,可以在打開垂直同步的同時最大限度保持應有的幀速了。事實上AMD和NVIDIA的驅(qū)動中都有打開三重緩沖(triple buffering)的選項,但美中不足的是驅(qū)動中的3重緩沖選項只對OpenGL游戲起作用。
全文總結(jié):
一路歧途走來,最終卻意外到了終點,這恐怕是本文的真實寫照。雖然到了最后,我們不得不接受一個現(xiàn)實:CPU、內(nèi)存、顯存、GPU,這些對性能影響很大的硬件,竟然都不能有效阻止游戲卡幀!但之前所有的努力探索依然很有價值,如果不將他們一一排除,必然還會有很多朋友在上面白白浪費精力和資源,而經(jīng)過實際驗證,垂直同步才是從根本上解決這一棘手問題的有效方法。
人類的欲望是進步的動力之源,伊甸園中夏娃如果不摘樹上的蘋果,也許今天還在做上帝的寵物;同樣如果人人都對游戲卡幀無所謂,那永遠不會有流暢和完美的游戲。有人問蛇為什么要去引誘夏娃?上帝笑了。■<
關注我們


