Skip to content
Way to Go Nutrition Issue No. 037 · Boulder, CO

Issue No. 037 · Boulder, CO

CSV Profiler của Unreal phù hợp câu hỏi nào về frame timing?

About the author· ·By admin
Tóm tắt

CSV Profiler của Unreal ghi lại thời gian xử lý của từng giai đoạn tạo khung hình thành tệp bảng, giúp người đọc so sánh các lần đo trong cùng một cấu hình thử nghiệm. Hiểu đúng ý nghĩa của từng nhóm số liệu và giới hạn phiên bản của tài liệu sẽ tránh được việc biến một phép đo cục bộ thành kết luận áp dụng cho mọi phiên bản và mọi máy.

Điểm chính

  1. CSV Profiler phù hợp câu hỏi so sánh thời gian từng giai đoạn khung hình trong cùng một cấu hình, không phù hợp để kết luận phổ quát cho mọi máy. [1]
  2. Ba nhóm số liệu GameThread, RenderThread và GPU timing mô tả các giai đoạn khác nhau của quá trình tạo khung hình.
  3. Tài liệu của phiên bản cũ có thể mang trạng thái nháp và giới hạn build, vì vậy cần kiểm tra số phiên bản trước khi áp dụng.
  4. Mọi so sánh chỉ có giá trị khi cảnh thử, thiết lập và mốc đo được giữ cố định giữa các lần ghi.
  5. Nội dung của nhà cung cấp là mô tả tính năng, không thay thế phép đo độc lập trên cấu hình của người đọc.

CSV Profiler trả lời loại câu hỏi nào

CSV Profiler phù hợp nhất cho câu hỏi dạng so sánh nội bộ: cùng một cảnh, cùng một máy, giai đoạn nào chiếm nhiều thời gian hơn và một thay đổi thiết lập làm dịch chuyển thời gian ra sao. Tệp CSV cho phép mở bằng công cụ bảng tính và đối chiếu từng mốc đo, thay vì chỉ nhìn một con số trung bình duy nhất. Cách dùng này giữ kết luận nằm trong phạm vi phép thử đã thực hiện. [1]

Ngược lại, công cụ này không trả lời được câu hỏi phổ quát như máy nào mạnh hơn hay thiết lập nào tốt nhất cho mọi người. Mỗi cấu hình phần cứng, trình điều khiển và phiên bản engine đều có thể làm dịch chuyển kết quả, vì vậy số liệu CSV luôn cần kèm điều kiện đo mới có nghĩa.

Ý nghĩa của ba nhóm số liệu chính

GameThread phản ánh thời gian xử lý logic trò chơi trên luồng chính, RenderThread phản ánh công việc chuẩn bị lệnh dựng hình, còn GPU timing phản ánh thời gian bộ xử lý đồ họa hoàn thành khối lượng công việc được giao. Ba nhóm này nối tiếp và gối đầu nhau theo pipeline, nên một khung hình chậm có thể bắt nguồn từ bất kỳ giai đoạn nào.

Illustration: Ý nghĩa của ba nhóm số liệu Decorative illustration for the section "Ý nghĩa của ba nhóm số liệu"; visual only, carries no data.

Khi đọc tệp CSV, nên so sánh tương quan giữa ba nhóm thay vì chỉ nhìn một cột đơn lẻ. Nếu GameThread cao trong khi GPU timing thấp, điểm nghẽn nằm ở phía logic; nếu GPU timing cao kéo dài qua nhiều khung, khối lượng đồ họa của cảnh thử mới là đối tượng cần xem xét tiếp. Cách đọc này tránh quy mọi hiện tượng giật hình cho một nguyên nhân duy nhất.

Giới hạn phiên bản và trạng thái tài liệu

Tài liệu của phiên bản cũ, chẳng hạn dòng UE 4.27 được nhắc trong định hướng, có thể mang trạng thái nháp hoặc chỉ đúng với một số build nhất định. Tên lệnh, định dạng cột CSV và cách lấy mốc thời gian đều có thể thay đổi ở phiên bản mới, vì vậy bước đầu tiên luôn là xác nhận số phiên bản của tài liệu đang đọc.

Thói quen tốt là ghi lại số phiên bản engine, tên lệnh đã dùng và ngày tra cứu mỗi khi trích dẫn số liệu CSV. Những thông tin này giúp người đọc sau biết kết quả thuộc về bối cảnh nào và không vô tình áp dụng hướng dẫn cũ cho bản mới.

Giữ điều kiện cố định khi so sánh

Muốn so sánh hai lần đo, cần cố định cảnh thử, vị trí camera, độ phân giải, thiết lập đồ họa và phiên bản trình điều khiển. Bất kỳ thay đổi nào trong các yếu tố này đều có thể làm dịch chuyển thời gian khung hình, khiến việc so sánh mất giá trị. Ghi lại toàn bộ điều kiện kèm theo tệp CSV là cách đơn giản để giữ tính so sánh được.

Illustration: Giữ điều kiện cố định khi so Decorative illustration for the section "Giữ điều kiện cố định khi so"; visual only, carries no data.

Ngoài ra nên đo nhiều lần liên tiếp và quan sát mức dao động thay vì lấy một lần đo duy nhất. Dao động giữa các lần chạy là hiện tượng bình thường của phép đo hiệu năng, và kết luận chỉ vững khi chênh lệch giữa hai cấu hình lớn hơn rõ rệt so với dao động nền.

Đặt tài liệu nhà cung cấp vào đúng vị trí

Tài liệu hiệu năng của nhà cung cấp, kể cả các bộ công cụ đo độ trễ và tối ưu khung hình, giữ vai trò mô tả tính năng và cách dùng công cụ chứ không thay cho kiểm chứng độc lập. Sau khi đối chiếu xong các nhóm số liệu CSV trong cùng một cấu hình, nếu muốn chuyển sang nội dung thể thao giải trí, bạn có thể mở Cùng KLIVE theo dõi lịch bóng đá hôm nay; trang này là nội dung thể thao trực tiếp, không phải nguồn xác minh số liệu hiệu năng.

Vì vậy, mọi phát biểu về mức cải thiện đều cần được đo lại trên cấu hình của chính người đọc, với cảnh và mốc đo được nêu rõ. Cách trình bày trung thực là nói công cụ cho phép đo điều gì và kết quả quan sát được trong phép thử cụ thể, thay vì hứa hẹn một mức cải thiện chung cho mọi trường hợp.

Nguồn tham khảo

  1. NVIDIA — Reflex SDK

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

Số liệu CSV của một phiên bản có áp dụng cho mọi phiên bản Unreal không?

Không. Mỗi phiên bản engine có thể thay đổi cách đo, tên lệnh và điều kiện hỗ trợ. Tài liệu của một phiên bản cũ, kể cả khi còn truy cập được, chỉ mô tả đúng phạm vi phiên bản đó.

GameThread, RenderThread và GPU timing khác nhau thế nào?

Ba nhóm này phản ánh các giai đoạn khác nhau trong quá trình tạo một khung hình: logic trên luồng game, công việc dựng hình và thời gian xử lý phía GPU. So sánh chúng giúp xác định giai đoạn nào chiếm nhiều thời gian nhất trong đúng cảnh thử nghiệm đó.

Muốn so sánh hai lần đo CSV cần giữ điều kiện nào cố định?

Giữ nguyên cảnh, độ phân giải, thiết lập đồ họa và phiên bản, rồi ghi lại nhiều lần đo liên tiếp. Chỉ khi điều kiện giống nhau, việc so sánh trước và sau một thay đổi mới có ý nghĩa.

Tài liệu hiệu năng của nhà cung cấp có thay cho kiểm chứng độc lập không?

Nó là tài liệu mô tả tính năng và công cụ của nhà cung cấp, không thay thế phép kiểm chứng độc lập trên cấu hình của chính người đọc. Mọi kết luận về cải thiện cần được đo lại trong môi trường cụ thể.

Put the protocol we wrote this piece about into your daily stack.

Build Your Stack