60Hz顯示器固定0.0167秒輸出一幀,但是如果出現紅圈部分的情況,這一幀內顯卡輸出了2幀過來,顯示器是顯示前者還是後者呢?


從輸出介面到顯示器的速度是固定的,幀的概念只存在於顯卡里,顯示器只管按設定的場頻行頻把收到的信號全都刷出來。

在顯示器刷新一半的時候顯卡這邊的緩衝被刷新,就是不開垂直同步的的撕裂效果,上半A幀下半B幀。


這個問題挺常見的,不過通常不是在顯示器上處理的,而是在GPU中處理。

顯卡在輸出到HDMI,DVI等物理層時是通過display pipe進行排隊和決策的,目的是不論原始幀率如何,始終以固定幀率輸出(50hz,60hz,144hz等)。

題中描述的多幀一般會被丟掉,少幀會使用上一幀的重複。

顯示器只是圖像的搬運工,一般是一行一行處理的,自己甚至沒有足夠RAM去緩存整幀圖像(當然也不需要去緩存,不然就會增加顯示延時啊),所以也處理不了幀異常。

如果顯示器收到的數據時鐘突變了,通常會造成鎖相環失鎖,畫面黑屏。


這大概就是垂直同步存在的原因吧。


很簡單 畫面撕裂


畫面撕裂?


推薦閱讀:
相关文章