通俗的講因為幀數(shù)生成時間不是均勻的
而顯示器刷新率是固定的。
所以即使60幀和刷新60hz的顯示器 也沒有辦法完全同步,還是會有幀數(shù)丟失,造成畫面卡頓。所以還是幀數(shù)越高越好。
有些時候,幀數(shù)遠(yuǎn)遠(yuǎn)大于顯示器刷新率,還會造成畫面撕裂現(xiàn)象,原因是屏幕刷新由上到下需要一定時間,如果這個時候正好有新的幀數(shù)傳來所以導(dǎo)致上半部分還是前一幀,而后半部分是新的幀數(shù)了。所以需要開啟垂直同步。
參考資料:http://tieba.baidu.com/p/4706197185#95227474030l
關(guān)于三重緩沖
在幀率比顯示器刷新率高很多的情況下,為了將顯示器的刷新時間和顯卡向緩沖區(qū)寫入畫面的時間保持同步,必然就需要人為地增加延遲,來延后“過快生成的畫面“向顯示器的輸出。因此在競技游戲中,開啟垂直同步后的手感會大打折扣。
既然垂直同步的延遲是因為顯卡輸出完一幅圖像就歇著等待紅綠燈了,無法響應(yīng)鼠標(biāo)鍵盤最新的操作,那么我們?yōu)樯恫蛔岋@卡一直工作呢?這樣不就能一直響應(yīng)最新的輸入操作了嗎?三重緩沖就是基于這種思路設(shè)計的,它在雙重緩沖的基礎(chǔ)上再加入了一個幀緩沖區(qū),組成了一個前緩沖區(qū),兩個后緩沖區(qū)的規(guī)格。程序來回向兩個后緩沖區(qū)寫入圖像,每次顯示器刷新時,前緩沖區(qū)就和最近完成寫入的那個后緩沖區(qū)交換??梢钥吹?,即便有一個緩沖區(qū)要受到紅綠燈的管控,另外兩個緩沖區(qū)還是可以來回寫入圖像,于是就不需要人為增加畫面延遲了。
https://www.sohu.com/a/130603157_641165