Feb 19, 2011
107 Views

Cơ bản về V-Sync – VGA

Written by

Nói cho dễ nhất , V-sync có nghĩa là "đồng bộ fps trong game với độ làm tươi của màn hình" (Refresh rate)

nói nhỏ : V-Sync = Vertical Synchronization , fps là frame per second trong game !!!

Mỗi màn hình đều có Refresh rate của nó , hay ta còn gọi là độ làm tươi , đc tính theo Hertz. Là số lần màn hình thay đổi trong 1 giây. Nếu Refresh rate của bạn là 60Hz thì trong 1 giây màn hình sẽ thay đổi 60 lần để cho ra hình ảnh (cho dù là ảnh động hay ảnh tĩnh !!!)

Vấn đề nảy sinh khi ta chơi game. Lấy vd màn hình bạn set Refresh rate = 60Hz. Nhưng khi chơi game fps lúc này = 80 , có nghĩa là hơn Refresh rate tới 20 fps. Hay còn gọi là "không đồng bộ"
Lúc này nếu chú ý ta sẽ thấy những hình ảnh bị "rách hay bóng mờ" trong lúc chơi game. Đó là do fps của game quá cao nên màn hình refresh ko kịp , dẫn đến tình trạng khó chịu trên.

ps : nếu chơi game với fps thấp và nhịp độ chậm , tình trạng trên sẽ ko nhận thấy đc bằng mắt thường , nhưng nếu những game tốc độ ta sẽ dễ dàng thấy ngay

Double-buffering (bộ đệm đôi) đc sinh ra để khắc fục tình trạng này. Cơ bản là nó có 2 bộ đệm. Khi màn hình tự refresh thì bộ đệm thứ nhất là frame buffer có chứa năng đưa hình ảnh ra màn hình hiển thị , bộ đệm thứ 2 đc gọi là back buffer sẽ nạp trước hình ảnh sau đó và copy hình ảnh này tới frame buffer
Có nghĩa là cứ mỗi lần màn hình refresh là frame buffer sẽ cho ra hình ảnh , back buffer nạp trước và copy vào frame buffer …..

Tuy nhiên quá trình copy này vẫn tốn thời gian và nếu màn hình refresh ngay trong lúc quá trình copy diễn ra thì hình ảnh sẽ bị "rách"

V-sync có nghĩa là đồng bộ fps của game sao cho chỉ max bằng với refresh rate của màn hình. fps lúc này sẽ ko bao giờ qua đc hơn 60 (với Refresh rate =60Hz). Và tất nhiên sẽ ko gây ra tình trạng xé hình trên nữa.

V-sync sẽ bắt back buffer ko đc copy tới frame buffer cho đến khi màn hình refresh. Có nghĩa là chỉ sau khi 1 hình ảnh đc frame buffer đưa ra hiển thị rồi thì back buffer mới copy tới frame buffer , sẽ tránh đc tình trạng chậm trễ hay ùn tắt trong quá trình copy liên tục.

Với những game có fps cao hơn Refresh rate , điều này là ok.
Lúc này back buffer sẽ luôn có đc hình ảnh , chờ đến khi màn hình refresh và copy hình ảnh này tới frame buffer , sau đó lại tiếp tục lưu hình ảnh và đợi lần refresh tiếp theo.

Trường hợp khác là khi ta set Refresh rate = 75Hz , chơi 1 game và chỉ đạt đc 50fps (thấp hơn 33% Refresh rate của màn hình)
Có nghĩa là mỗi lần màn hình refresh , Vid card chỉ đưa ra đc 2/3 của hình kế tiếp.

Chi tiết hơn là khi màn hình refresh (lần1), hình ảnh thứ nhất (A) đc copy tới frame buffer , 2/3 của hình ảnh thứ 2 (B) đc đưa vào back buffer. Và khi màn hình refresh lần kế đó (lần 2), frame buffer sẽ vẫn đưa ra hình ảnh trước đó (A) vì 1/3 còn lại của hình ảnh thứ 2 (B) đang đc nạp vào back buffer để cùng với 2/3 (của B) đã nạp trước kia hợp thành 1 hình ảnh (B). Và hình ảnh (B) này fải đợi thêm xong hết lần refresh này (lần2) để copy vào frame buffer ……
Khi màn hình refresh lần nữa (lần 3), quá trình lại xảy ra như trên ….. và sau 4 lần màn hình refresh thì chỉ có 2 hình đc hiển thị ra. Và với refresh rate là 75Hz , ta chỉ có thể thấy game đang chạy ở 37.5fps

Vì vậy V-Sync chỉ có tác dụng ở những game cho fps cao hơn refresh rate nhằm ko gây trường hợp xé hình , bóng mờ ….

Tuy nhiên cũng có kĩ thuật Triple-Buffering (bộ đệm 3) để khắc fục V-Sync và Double-Buffering. Nói nôm na dễ hiểu nó tạo thêm 1 cái back buffer ( tổng cộng là 1 frame buffer và 2 back buffer ) giúp cho 1/3 hình ảnh lúc copy sẽ đc nạp vào và đưa ra frame buffer ngay sau đó. Tuy nhiên ko fải game nào cũng hỗ trợ triple-buffering , và nó sẽ làm giảm performance game chút ít cũng như cần Ram nhiều hơn để họat động.

Qua những điều trên thì ta thấy , game có nên bật V-sync hay ko cái đó tùy vào cảm nhận mắt của mỗi người cũng như Refresh rate ta set.
Nên nhớ là khi benchmark luôn tắt V-Sync

updated:
Where to config V-Sync?
–>

Trong ATI Catalyst Control Center :
3D –> All setting –> wait for V-Sync

Còn Nvidia Control Panel thì :
Manage 3D Setting –> Global Setting –> V-Sync

– Sẽ có các option : force always off, force always on, hoặc tùy theo game 3D mình chỉnh trong khi vào game

Article Tags:
· · ·
Article Categories:
IT & Network
    http://linholiver.com

    https://linholiver.com/diary/about/