FPS trung bình bỏ sót điều gì về nhịp phản hồi theo từng khung?

By admin
Tóm tắt

FPS trung bình hữu ích để mô tả tốc độ dựng hình trong một khoảng quan sát, nhưng không kể lại từng khung đến theo thứ tự nào, khung nào chậm bất thường hay thao tác đầu vào đã được phản ánh khi nào. Muốn đánh giá nhịp phản hồi, cần xem chuỗi thời gian và xác định rõ mốc đo thay vì xem một số trung bình như phép đo độ trễ.

Điểm chínhFPS là tốc độ tổng hợp; giá trị trung bình không thể hiện toàn bộ độ dài và thứ tự từng khung. [1] · Một phép đo độ trễ cần nêu rõ điểm bắt đầu và kết thúc; FPS không tự xác định thời điểm thao tác được lấy mẫu hay pixel đổi. [2] · Trong Unreal, các thống kê Frame, Game, Draw và GPU giúp xem những phần thời gian khác nhau, nhưng không mặc nhiên là click-to-photon. · So sánh cần giữ nguyên cảnh, phiên bản, thiết lập và khoảng lấy mẫu; tránh kết luận từ một lần quan sát. · Ghi cả phân bố hoặc timeline bên cạnh FPS để nhận ra dao động; không biến một biểu đồ thành chẩn đoán nguyên nhân.

Một con số gộp nhiều khung

FPS thường được hiểu là số khung hình được xử lý trong một đơn vị thời gian. Khi báo một mức trung bình, người đọc có được cái nhìn khái quát về tốc độ, nhưng con số đó làm phẳng trình tự thời gian. Hai khoảng quan sát có thể cho mức trung bình gần nhau trong khi nhịp từng khung khác đáng kể: một khoảng đều đặn, khoảng kia xen kẽ những khung ngắn và dài. Chỉ nhìn giá trị tổng hợp sẽ khó phân biệt hai hình thái ấy.

Thời gian mỗi khung (frametime) bổ sung góc nhìn theo từng khung. Thay vì chỉ hỏi ‘bao nhiêu khung trong một giây’, có thể quan sát chuỗi thời gian để biết các khung nối tiếp nhau ra sao. Tuy nhiên, biểu đồ cũng cần được đọc trong giới hạn: nó mô tả thời điểm hoặc thời lượng mà công cụ ghi nhận, không tự giải thích vì sao xuất hiện dao động. Lệnh thống kê Unreal cung cấp các nhóm thông tin hiệu năng theo phạm vi công cụ; người đọc cần xác định chính xác chỉ số nào đang được hiển thị. [1]

Trung bình vẫn có giá trị khi mục tiêu là tóm tắt tốc độ trong cùng phương pháp đo. Sai lầm xuất hiện khi dùng nó để trả lời câu hỏi khác, như một thao tác cụ thể mất bao lâu mới nhìn thấy trên màn hình. Đó là câu hỏi về đường đi đầu vào–xử lý–trình bày, không phải chỉ phép đếm khung.

Tốc độ khung không đồng nghĩa độ trễ

Độ trễ đầu vào cần có mốc bắt đầu và mốc kết thúc được định nghĩa. Chẳng hạn, phép đo có thể bắt đầu từ tín hiệu đầu vào hoặc marker phần mềm, còn điểm cuối có thể là một giai đoạn trong pipeline hay thay đổi hình ảnh quan sát được. Nếu không nói rõ hai mốc này, nhãn ‘latency’ dễ gộp các đại lượng khác nhau. Tài liệu NVIDIA Reflex SDK trình bày các marker và khái niệm liên quan pipeline; những mốc phần mềm ấy không nên mặc nhiên được gọi là phép đo vật lý từ thao tác tới điểm ảnh. [2]

Illustration: Tốc độ khung không đồng nghĩa độ Decorative illustration for the section "Tốc độ khung không đồng nghĩa độ"; visual only, carries no data.

FPS trung bình không cho biết ứng dụng lấy mẫu thao tác ở thời điểm nào trong vòng lặp, có bao nhiêu khung đang chờ hay màn hình đã đổi điểm ảnh lúc nào. Vì vậy, mức FPS cao hơn không tự động chứng minh thao tác phản hồi nhanh hơn trong mọi tình huống, cũng như FPS thấp hơn không đủ để chỉ ra chính xác lớp nào gây chậm. Cần một phép đo có phạm vi phù hợp với câu hỏi.

Trong Unreal, các giá trị Frame, Game, Draw và GPU giúp khoanh vùng thời gian ở những phần khác nhau. So sánh chúng có thể hỗ trợ hình thành giả thuyết về thời gian xử lý, nhưng phép đo ở cấp thành phần không bao gồm tự động toàn bộ đường đi. Nếu mục tiêu là độ trễ đầu-cuối, hãy nêu rõ phần chưa đo được thay vì đổi tên một chỉ số thành kết luận rộng hơn.

Cách xem số liệu có trách nhiệm

Trước khi so sánh, ghi lại công cụ và lệnh đã dùng, phiên bản engine hoặc ứng dụng, cảnh thử, cấu hình liên quan và thời lượng ghi. Giữ nguyên điều kiện càng nhiều càng tốt; nếu đổi cảnh, giới hạn khung hoặc thiết lập giữa hai lần, khác biệt quan sát được có thể đến từ nhiều nguyên nhân. Ghi bối cảnh không làm phép đo hoàn hảo, nhưng giúp người khác hiểu con số đang đại diện cho trường hợp nào.

Nếu công cụ cung cấp timeline, đặt FPS tổng hợp cạnh diễn biến theo thời gian và tìm các đoạn lệch nhịp. Xem sự kiện nào trùng thời điểm với biến động, song đừng coi tương quan là nguyên nhân đã được chứng minh. Cần kiểm tra thêm giả thuyết trong cùng bối cảnh. Khi chỉ có một phép đo tổng hợp, hãy nói thẳng giới hạn đó thay vì suy đoán khung hình cụ thể.

Cũng nên phân biệt thời gian khung với trải nghiệm thao tác. Một chuỗi khung đều đặn có thể là thông tin hữu ích về nhịp trình bày, nhưng bản thân nó chưa đo lúc thao tác được ghi nhận. Khi trao đổi về trải nghiệm chơi hoặc nội dung trực tiếp, hãy diễn đạt theo dữ liệu thực có. Bạn có thể xem Trang theo dõi các giải đấu thể thao trực tiếp của KLIVE như điểm đến nội dung thể thao; liên kết không hàm ý một kết quả đo, chức năng kỹ thuật hoặc cam kết nào về độ trễ.

Chọn đúng câu hỏi cho đúng chỉ số

Nếu câu hỏi là ‘tốc độ khung tổng thể ra sao’, FPS trung bình có thể là phần tóm tắt phù hợp, miễn ghi rõ cách tính và khoảng quan sát. Nếu câu hỏi là ‘nhịp có đều không’, xem chuỗi frametime hoặc timeline. Nếu câu hỏi là ‘CPU hay GPU mất thời gian ở đâu’, hãy đối chiếu các nhóm thống kê đúng với công cụ và phiên bản. Còn câu hỏi về thời gian từ thao tác tới hình ảnh cần phương pháp có mốc đầu-cuối tương ứng.

Illustration: Chọn đúng câu hỏi cho đúng chỉ Decorative illustration for the section "Chọn đúng câu hỏi cho đúng chỉ"; visual only, carries no data.

Không cần biến mọi bài kiểm tra thành phép đo phức tạp. Điều quan trọng là tránh tuyên bố vượt quá dữ liệu. Một báo cáo ngắn có thể ghi chỉ số, cách thu thập, điều kiện và điều chưa thể kết luận. Nhờ vậy người đọc hiểu FPS trung bình trả lời điều gì, đồng thời biết phần nào vẫn cần quan sát thêm.

Nguồn tham khảo

  1. Epic Games — Stat Commands in Unreal Engine
  2. NVIDIA — Reflex SDK

Câu hỏi thường gặp

FPS trung bình có cho biết khung nào bị trễ không?

Không. Nó tóm tắt tốc độ trong một khoảng và không giữ lại đầy đủ trình tự từng khung; cần dữ liệu theo thời gian để quan sát dao động.

FPS cao có chứng minh độ trễ đầu vào thấp không?

Không tự nó chứng minh điều đó. Độ trễ cần mốc bắt đầu và kết thúc cụ thể; FPS không cho biết thời điểm lấy mẫu thao tác hay hiển thị thay đổi.

Stat Unit trong Unreal có phải phép đo click-to-photon không?

Không nên mặc định như vậy. Các nhóm Frame, Game, Draw và GPU mô tả thời gian ở những phạm vi riêng, không tự bao quát toàn bộ đường đi vật lý tới màn hình.