Hãy bắt đầu với điều gì đó cơ bản: v-sync là gì? Thành phần trong bất kì máy tính nào đều bao gồm hai thành phần, đó là màn hình và bộ phận xử lí đồ họa (GPU). Card đồ họa xuất hình ảnh đến màn hình để hiện thị, và trên lý thuyết điều này là hoàn hảo. Nhưng tất nhiên thực tế thì không.
Màn hình máy tính hiển thị hình ảnh bằng cách quét theo chiều ngang từng dòng pixel một, hết một khung hình thì sẽ vẽ khung kế tiếp. Một khung hình xuất ra từ bộ phận đồ họa sẽ được hiển thị từ trên xuống dưới, và màn hình có độ làm tươi (refresh rate) càng lớn thì càng có khả năng hiển thị số khung hình trên giây cao. Nhưng vấn đề ở chỗ, màn hình máy tính là mấy thứ đồ không được thông minh cho lắm. Chúng sẽ hiển thị bất kì cái gì card đồ họa xuất ra. Khi khung hình thứ nhất chưa được vẽ xong, máy đã nhận khung thứ hai và vẽ tiếp. Điều này dẫn đến hiện tượng lệch khung hình, tựa như màn hình của bạn bị cắt ra rồi vụng về ghép lại vậy.
Kết quả là bạn liên tục bị những vết cắt ngang (screen tearing) trên màn hình làm phiền, và v-sync ở đây để giải quyết điều đó.
Double Buffer
Double Buffer là một chế độ cơ bản của v-sync. Thay vì bắt màn hình hiển thị tất cả những gì bộ phận đồ họa xuất ra, thì double buffer sẽ bắt card đồ họa ở chế độ chờ. Thời gian chờ này sẽ kéo dài đến khi màn hình hoàn thành một khung hình, và trong khi chờ thì card đồ họa sẽ vẽ nên một khung hình khác, đợi xuất. V-sync double buffer có độ trễ (input latency) rất thấp, nên rất thích hợp cho những game hành động nhanh.
Sẽ không có gì đáng nói nếu như GPU của bạn đủ mạnh để xuất ra số khung hình tương ứng với tần số quét của màn hình. Hãy lấy 60FPS là tiêu chuẩn. Một khung hình trong chế độ double buffer hoàn hảo sẽ được vẽ ra trong ít hơn hoặc bằng 16,67ms, chờ để lên hình. Nhưng khi máy bạn không thể cho ra sản phẩm trong thời gian này, thì khung hình tạm thời trên máy sẽ được lặp lại lần nữa, và 60FPS chuyển thành 30FPS.
Hiểu đơn giản thì trong chế độ double buffer, mỗi khi card của bạn không thể đảm đương nổi 60FPS, game sẽ tự động chạy ở 30FPS. Và tất nhiên không ai muốn điều này xảy ra.
Triple Buffer
Tương tự như double buffer, triple buffer hoạt động tương tự bằng cách vẽ ra khung hình trong thời gian chờ. Nhưng thay vì một, nó vẽ hai, đấy là nếu như máy bạn có khả năng vẽ ra một khung hình dưới 16,67ms. Nhưng nếu không, thì màn hình sẽ xuất lại khung hình hiện tại lần thứ hai, với thời gian là 33,33ms. Trong thời gian đó, ở double buffer, nếu như khung hình đã được vẽ xong, card đồ họa sẽ đơn giản không hoạt động nữa. Nhưng ở triple buffer, một khung hình chờ thứ hai sẽ được vẽ tiếp. Khung hình đang được hiển thị sẽ được thay bằng khung hình chờ một, và nếu đủ thời gian thì khung hình chờ hai sẽ tiếp nối.
Ưu điểm của triple buffer là không khóa FPS của bạn ở 30 nếu như card đồ họa không thể kham nổi 60FPS. Nhưng vấn đề ở chỗ, tựa game bạn đang chơi sẽ bị những đoạn giật nhỏ giữa hai khung hình một, tương tự như khi dùng hệ thống có lắp nhiều card đồ họa vậy.
Adaptive V-sync
Adaptive v-sync là công nghệ được phát triển bởi Nvidia, và được tích hợp vào hầu hết những GPU đến từ hãng này. Adaptive v-sync hoạt động dựa trên nguyên tắc: chỉ bật khi card đồ họa đảm đương nổi 60FPS. Mỗi khi tụt xuống dưới mức đó, adaptive v-sync tự động tắt để ngăn ngừa khóa cứng ở 30FPS.
Khi tắt đi, screen tearing sẽ xảy ra. Nhưng một giải pháp tạm thời được nêu ra, đó là thay vì hiển thị luôn khung hình tiếp theo, thì GPU sẽ đợi một chút. Kết quả là thay vì một vết cắt ngang ngay giữa màn hình, khu vực mà bạn tập trung vào, thì sẽ chỉ có screen tearing ở phần gần trên cùng thôi. Tất nhiên đây không phải là giải pháp hoàn hảo, nhưng đủ để không làm bạn bị phân tâm.
G-sync và FreeSync
G-sync và FreeSync là hai công nghệ màn hình của Nvidia và AMD, được tích hợp trong một vài màn hình.
Đối với G-sync, thay vì cố gắng hiển thị màn hình đồng đều với GPU, thì lúc này GPU sẽ điều khiển độ làm tươi của màn hình. Điều này có nghĩa rằng khi GPU xuất ra 42FPS, thì màn hình sẽ hiển thị ở 42Hz. Giải pháp này triệt tiêu screen tearing và tình trạng khóa cứng ở 30FPS. Điểm yếu lớn nhất của giải pháp này là giá thành cho màn hình khá cao.
FreeSync, mặt khác, là một dạng của Adaptive V-sync. Nếu như GPU xuất ra 15FPS, thì lúc này màn hình sẽ hiển thị gấp đôi hoặc gấp ba số đó, hay 30Hz hoặc 45Hz. Lúc này số khung hình bị lặp lại sẽ được đồng đều hơn, và có tác dụng khá giống G-sync. Vấn đề là FreeSync đôi khi cho ra hiện tượng ghosting – hiện tượng khung hình vừa được hiển thị bị giữ lại mờ mờ. FreeSync được tích hợp trên khá nhiều TV và màn hình hiện đại, nên dễ dàng tiếp cận hơn FreeSync.
Tổng kết
Không ai muốn có mấy vết cắt ngang ở màn hình cả, và bạn nên bật v-sync. Câu hỏi đặt ra là nên chọn loại nào? Nếu như GPU của bạn thực sự mạnh, thì double buffer là lựa chọn hàng đầu. Nếu như không, thì triple buffer hoặc adaptive v-sync nghe hợp lí hơn. Và nếu như bạn có điều kiện kinh tế một chút, thì hãy chọn mua màn hình G-sync hoặc FreeSync.