Extension VK_AMD_anti_lag triển khai ý tưởng tương tự từ AMD: CPU pacing tự động.
Cơ chế này ngăn CPU chạy quá xa so với GPU, giảm số khung hình bị xếp hàng và từ đó giảm độ trễ giữa input và khung hình hiển thị.
Extension này được thêm vào hệ sinh thái Vulkan trong các bản cập nhật mới của đặc tả, mở rộng Anti‑Lag ra ngoài môi trường DirectX.
Thay vì driver GPU trực tiếp xử lý các extension này, low_latency_layer làm việc theo ba bước chính:
Quảng bá extension cho game
Game tin rằng hệ thống hỗ trợ VK_NV_low_latency2 hoặc VK_AMD_anti_lag.
Chặn lời gọi API
Khi game gọi các hàm điều khiển độ trễ, layer sẽ bắt các lệnh này.
Tự triển khai logic điều phối
Layer điều chỉnh thời điểm CPU bắt đầu xử lý frame, đồng bộ với GPU và giảm số frame bị buffer quá nhiều.
Do phần lớn công việc là điều phối thời gian CPU và gửi lệnh Vulkan, cách này có thể hoạt động độc lập với driver của từng hãng GPU.
Một điểm thú vị của approach này là nó có thể hoạt động trong cả hai hệ sinh thái game Linux phổ biến.
Các game Linux viết trực tiếp bằng Vulkan có thể nạp layer giống như mọi Vulkan layer khác. Sau khi kích hoạt, layer sẽ cung cấp các extension độ trễ thấp cho game.
Phần lớn game Windows trên Linux chạy qua Proton với các lớp chuyển đổi như:
Các lớp này đã bắt đầu ánh xạ các tính năng giảm độ trễ sang Vulkan. Ví dụ DXVK 2.6 mở rộng hỗ trợ Nvidia Reflex cho game DirectX 11 khi extension VK_NV_low_latency2 có sẵn.
Nếu một Vulkan layer cung cấp extension đó bên dưới, game Windows vẫn có thể tận dụng cơ chế giảm độ trễ.
Tuy nhiên layer này chủ yếu tập trung vào extension của AMD. Một lớp cố gắng cung cấp cả API kiểu Nvidia và AMD có thể giúp nhiều game tương thích hơn.
Trước đây dự án LatencyFleX cũng từng thử tạo middleware giảm độ trễ đa hãng, cho phép game hỗ trợ Nvidia Reflex chạy trên GPU không phải Nvidia.
low_latency_layer đi theo triết lý tương tự nhưng dựa trực tiếp vào các extension Vulkan.
Benchmark công khai dành riêng cho low_latency_layer vẫn còn hạn chế, vì dự án còn khá mới.
Tuy vậy, hành vi của các hệ thống giảm độ trễ nói chung khá rõ ràng:
Ngoài ra, một lớp Vulkan chung không thể tái tạo mọi tối ưu hóa độc quyền.
Ví dụ Nvidia Reflex 2 bổ sung công nghệ Frame Warp, cho phép cập nhật khung hình bằng input mới nhất ngay trước khi hiển thị.
Tính năng kiểu này phụ thuộc sâu vào driver và phần cứng nên layer mã nguồn mở khó tái tạo hoàn toàn.
Trong nhiều năm, các công nghệ giảm độ trễ thường gắn chặt với:
Một Vulkan layer mã nguồn mở thay đổi phần nào cục diện đó:
Nếu ý tưởng này tiếp tục phát triển, nó có thể giúp hệ sinh thái game Linux trở nên hấp dẫn hơn cho game thủ cạnh tranh và esports, nơi độ trễ input đôi khi quan trọng ngang với FPS.
Hiện tại, low_latency_layer vẫn là một thử nghiệm. Nhưng nó cho thấy một hướng đi đáng chú ý: đưa các công nghệ giảm độ trễ cao cấp đến toàn bộ GPU trên Linux, thay vì chỉ nằm trong driver của một hãng duy nhất.
Comments
0 comments