Present là mốc phần mềm hay thời điểm điểm ảnh thực sự đổi?
Present thường là mốc phần mềm báo ứng dụng đã gửi một khung hình để trình bày, không phải thời điểm mắt người chắc chắn thấy pixel thay đổi. Giữa lời gọi API và ánh sáng phát ra trên màn hình còn có hàng đợi, đồng bộ, quét hình và phản ứng của pixel. Vì vậy, một phép đo độ trễ cần nói rõ bắt đầu ở sự kiện nào và kết thúc ở đâu; nếu không, hai con số cùng tên có thể đang đo những đoạn khác nhau.
Điểm chínhDXGI mô tả cách ứng dụng giảm độ trễ khi dùng swap chain; thao tác present thuộc đường đi phần mềm của khung hình. [1] · Present không đồng nghĩa với thời điểm pixel vật lý đã đổi hoặc toàn bộ màn hình đã quét xong. · NVIDIA Reflex SDK cung cấp cơ chế và công cụ liên quan đến đo/giảm độ trễ trong hệ thống tích hợp, không định nghĩa một mốc duy nhất cho mọi phép đo. [2] · Cần công bố mốc đầu, mốc cuối, vị trí cảm biến và cấu hình hiển thị để so sánh. · Thời điểm phản hồi của điểm ảnh và sự kiện API là những đại lượng khác nhau.
Present là sự kiện trong đường đi phần mềm
Ứng dụng dựng khung hình trong bộ đệm rồi yêu cầu hệ thống trình bày bằng API như DXGI Present. Tài liệu Microsoft về swap chain và giảm độ trễ giải thích các cơ chế giúp ứng dụng phối hợp với hàng đợi hiển thị. [1] Đây là mốc hữu ích để quan sát việc gửi khung hình, nhưng nó không tự xác nhận rằng màn hình đã bắt đầu phát sáng theo nội dung mới.
Sau lệnh present, khung hình có thể chờ trong hàng đợi, chờ điều kiện đồng bộ, được đưa vào quá trình quét hoặc bị thay thế tùy cấu hình và nhịp render. Màn hình cũng cập nhật các vùng theo thời gian quét, trong khi điểm ảnh cần thời gian chuyển trạng thái. Do đó, present-to-present, input-to-present và input-to-photon không phải các phép đo tương đương.
Từ lệnh API đến thay đổi điểm ảnh
Một phép đo vật lý thường cần cảm biến hoặc camera tốc độ cao để nhận biết khi vùng màn hình thay đổi. Kết quả chịu ảnh hưởng vị trí vùng đo: phần trên và dưới màn hình có thể được quét ở thời điểm khác nhau. Loại màn hình, tần số, chế độ đồng bộ và tiêu chí nhận diện thay đổi cũng quan trọng. Nếu chỉ ghi timestamp phần mềm, phép đo không trực tiếp quan sát photon hay thời điểm mắt nhận tín hiệu.
NVIDIA Reflex SDK mô tả công具 tích hợp và khả năng làm việc với độ trễ trong đường render của trò chơi; phạm vi đo phụ thuộc cách nhà phát triển tích hợp và vị trí marker. [2] Tài liệu không có nghĩa rằng một marker phần mềm luôn là phép đo vật lý hoàn chỉnh. Hãy xem marker đại diện cho giai đoạn nào và tránh gộp nó với đầu ra màn hình nếu chưa có cảm biến tương ứng.
Cách báo cáo phép đo có thể lặp lại
Một báo cáo tốt nêu rõ sự kiện bắt đầu (ví dụ thao tác đầu vào hoặc marker), sự kiện kết thúc (present, tín hiệu đầu ra hay thay đổi pixel), công cụ ghi nhận, vị trí đo và cấu hình. Báo cáo nhiều lần thử và cách tính kết quả; giữ nguyên màn hình, tần số, chế độ đồng bộ và đường kết nối khi so sánh. Nếu thay một điều kiện, ghi rõ thay đổi đó thay vì diễn giải như khác biệt do riêng API.
Khi trình bày kết quả, gọi đúng tên phép đo thay vì chỉ ghi “độ trễ”. Người quan tâm đến nội dung trực tiếp có thể xem <a href="https://www.klive68.com/">KLIVE – các giải bóng rổ hấp dẫn</a>; liên kết nội dung này không phải xác nhận về thiết bị, độ trễ hay công nghệ hiển thị của dịch vụ.
Nguồn tham khảo
Câu hỏi thường gặp
Gọi Present có nghĩa màn hình đã hiện khung hình chưa?
Không. Đó là sự kiện trong đường đi phần mềm; khung hình còn có thể qua hàng đợi, đồng bộ, quét màn hình và thời gian đáp ứng pixel.
Đo từ thao tác chuột đến Present có phải input-to-photon không?
Không. Nó kết thúc ở mốc phần mềm, không quan sát trực tiếp lúc màn hình phát sáng. Muốn đo input-to-photon cần xác định và đo đầu ra vật lý phù hợp.
Vì sao báo cáo độ trễ phải nêu điểm đầu và điểm cuối?
Vì các mốc khác nhau bao phủ những đoạn khác nhau của hệ thống. Không nêu chúng sẽ khiến các kết quả không thể so sánh có ý nghĩa.