螢幕撕裂(Screen Tearing)是螢幕顯示器將螢幕畫面的不同影格同時顯示出來所造成的現象。雖然網路上幾乎所有資料都提到螢幕撕裂是和螢幕顯示器有關,是因為顯示晶片輸出畫面的速率大於螢幕顯示器的畫面更新率才這樣的,但筆者覺得這問題並不是那麼的單純。



請先看看下面這個Full HD 60fps的影片。

正常情況下,即便以上影片中的黑條一直往左邊移動,我們在觀看的時候,瞬間看到的靜態影像應該會是如下圖的樣子。

tearing-test

然而,如果我們的電腦有螢幕撕裂的問題,畫面看起來會像是以下這樣。

tearing-test

tearing-test

上面兩張圖就是螢幕撕裂的模樣啦!不過,它們都是後製模擬出來的圖。為什麼要模擬,難道螢幕截圖截不出來嗎?事實上,如果螢幕撕裂只是真的和螢幕顯示器的頻率有關的話,那麼螢幕截圖理論上是截不出來的,但是筆者的微星PE60 6QE筆電是能夠將螢幕撕裂確確實實地截出來的哦(極度懷疑是NVIDIA Optimus的問題)。

像是用滑鼠拉動視窗時再截圖,就會是以下的模樣。

tearing-test

所以這惱人的螢幕撕裂問題究竟要如何解決?很遺憾,筆者至今也未尋得完美的解決方法(在不更換硬體的條件下),但可以確定的是,如果有辦法開啟垂直同步功能,那麼螢幕撕裂的問題是可以改善的。

如果想確定自己的電腦究竟會不會有螢幕撕裂的問題,那麼可以透過上面的黑白條移動的影片用肉眼來判斷。不過若是使用Linux作業系統的話,還可以利用以下方式來判斷。

Linux檢查畫面輸出有無垂直同步

首先我們可以先用xrandr指令工具來查看當前使用的螢幕的解析度以及更新頻率。如下圖可知當前使用的解析度是1920 x 1080,頻率是60Hz。

tearing-test

接著可以用glxgears指令工具來偵測畫面輸出的FPS。

tearing-test

若是發現glxgears偵測出來的FPS比螢幕的更新頻率還要大,那麼該台電腦就極有可能有螢幕撕裂的問題。如果FPS剛好是螢幕的更新頻率,就表示垂直同步功能有在作用,螢幕撕裂的問題就會比較輕微或是沒有。

tearing-test

螢幕撕裂測試影片下載

4K 240fps
4K 120fps
4K 60fps
4K 30fps
FHD 240fps
FHD 120fps
FHD 60fps
FHD 30fps