很多人在玩遊戲的過程中,會出現畫面卡頓和變化太大的情況。這種時候你就會發現你的屏幕畫面發生了錯位的撕裂現象,遊戲的畫面為什麼會發生撕裂?很多初入門的人知道這是因為顯卡的原因,那究竟是哪部分的原因呢?今天我就帶大家初步的了解一下。
在了解畫面撕裂之前,首先要了解幀這個概念。這就好像小時候我們玩的小人書一樣,在紙張上畫很多具有微小運動差異的連續畫面,然後快速翻頁。它利用人眼的視覺暫留效應。我們在效應消失之前,将下一個畫面播放出來,畫面就是連續的了。而這每一頁就被我們稱之為一幀,圖片數量就是幀數(FPS)。
而在電腦中,幀是由顯卡去渲染的。你看到的動畫都是顯卡一幀一幀畫出來,随後輸出到顯示器,顯示器将它們展現到顯示面闆上你才能看到。目前,顯示器都是利用逐行掃描技術完成的,并不是一張一張顯示。一頁掃描完成會将掃描點從右下角返回到左上角,這個過程稱之為Vblank。
逐行掃描的速度就是我們常說的屏幕刷新率,60Hz的屏幕意味着一個屏幕在1秒内進行完整的60次全畫幅的逐行掃描。同樣,144Hz的屏幕意味着一個屏幕在1秒内可以完成144次的逐行掃描,所以刷新率越高的屏幕所能表現出的幀數也就越多。相應的,畫面延遲也就越低,流暢度也就越高。
可以這麼說,幀數是顯卡一秒鐘渲染好并發送給顯示器多少張畫面;而刷新率指的則是顯示器逐行掃描畫面的速度。現在給大家引入一個新的概念:幀緩存。
衆所周知,顯卡在渲染畫面的時候,由于其本身性能是固定的,而遊戲場景的複雜程度卻是因遊戲而異的。不同的畫面對于顯卡本身的運算壓力也不同,所以幀數會一直變化。而顯示器的刷新率也是固定的,什麼級别的顯示器就隻能顯示多少頁。為了讓一個固定的輸出幀能匹配固定的刷新率,電腦就設置了幀緩存。
在正常情況下,自己的筆記本電腦有兩個幀緩存——FrontBuffer(前緩存)和BackBuffer(後緩存)。顯卡需要在後緩存寫入完成後,前後緩存發生交替,這個過程被稱為Buffer Swan(幀傳遞)。
想了解更多科普向内容,請點擊關注,我們很快會再見面。
,