2011年10月23日 星期日

NVIDIA 顯卡 + compiz 的垂直同步(vsync)設定

Linux 要開垂直同步真不是一件容易的事情,往往某些地方 ok,另一邊就會失敗。好不容易弄出一個自己可以接受的解,趕快筆記一下 XD

原本的採用的設定是:nvidia-settings (OpenGL Vsync ON),compiz (sync to vblank)

這樣的組合的結果是:全部視窗有 vsync,但是 compiz 動畫和全螢幕視窗效能減半,全螢幕視窗效能可以靠 compiz 的 unredirect_fullscreen_windows 來加速,它可以讓全螢幕視窗不要把畫面導到 compiz 以加速顯示,所以它的 vsync 設定是純看 nvidia-settings,而且一旦有任何需要把畫面導到 compiz 的視窗出現,compiz 就會暫時取消 unredirect_fullscreen_windows,這樣才能把兩個視窗做混和,切換的瞬間會有明顯的閃爍。另外就是切換解析度的全螢幕視窗需要開啟這個選項才能解決畫面不更新問題。結論是除非切換解析度的全螢幕視窗很重要,不然不要開它。


新採用的設定是:nvidia-settings (OpenGL Vsync Off),compiz (sync to vblank)

這個設定等於是完全讓 compiz 控制 vsync,全部的視窗都有 vsync,compiz 動畫和全螢幕視窗全速,整個環境一整個順到不可思議,也不用開 unredirect_fullscreen_windows,VLC全螢幕中顯示彈出視窗不再有閃爍問題。