Skip to content

Frame, Game, Draw và GPU trong Unreal có phải các khoảng cộng nối tiếp không?

admin
Tóm tắt

Các con số Frame, Game, Draw và GPU trong Unreal mô tả những góc đo khác nhau của quá trình dựng hình; không thể mặc nhiên cộng chúng để suy ra độ trễ đầu-cuối. Muốn hiểu một lần chậm, cần xác định counter đến từ đâu, build và cấu hình nào, rồi đọc các sự kiện trên cùng timeline thay vì ghép các giá trị rời rạc.

Điểm chính

  1. Tên counter trong Unreal là nhãn đo; quan hệ phụ thuộc và cách hiển thị phải được kiểm chứng trên phiên bản, build và cấu hình đang dùng.
  2. Frame time, Game Thread, Draw và GPU không nhất thiết là những đoạn thời gian độc lập nối tiếp nhau, nên cộng số hiển thị có thể đếm trùng hoặc hiểu sai phạm vi.
  3. Bảng thống kê không có giá trị GPU không tự chứng minh GPU không làm việc; cần kiểm tra counter khả dụng, cách thu thập và timeline.
  4. So sánh hiệu năng có ý nghĩa hơn khi workload, thiết lập, thời điểm lấy mẫu và cách tái hiện đều được ghi rõ.

Vì sao các nhãn không tạo thành phép cộng đơn giản?

Khi một khung hình xuất hiện chậm, người đọc thường nhìn các mục Frame, Game, Draw và GPU rồi cộng từng số. Cách làm này chỉ đúng nếu biết rõ mỗi mục đo đúng một khoảng riêng, các khoảng nối tiếp nhau và không chồng lấp. Tên gọi trên màn hình chưa đủ để xác nhận các điều kiện đó. Trong engine, công việc CPU và GPU có thể được xếp hàng hoặc diễn ra đồng thời; thời gian một luồng cũng không phải lúc nào là thời lượng toàn khung hình. Vì vậy, tổng số của những counter khác loại có thể không tương ứng với trải nghiệm độ trễ mà người dùng quan sát.

Cần phân biệt ít nhất ba câu hỏi: counter đo thao tác nào, đơn vị và thời điểm lấy mẫu là gì, và nó nằm ở đâu trong chuỗi xử lý. Tài liệu lệnh thống kê của Unreal mô tả các nhóm lệnh hiển thị thông tin runtime; do đó nên dùng đúng lệnh và mô tả phù hợp với môi trường của mình thay vì coi mọi nhãn quen thuộc là định nghĩa bất biến. [1]

Đọc riêng Frame, Game, Draw và GPU

Frame thường được dùng như khung quan sát tổng thể, nhưng người đọc vẫn cần xác nhận cụ thể bảng đang mở báo thời gian khung hình, tốc độ khung hình hay một đại lượng khác. Game thường gợi đến công việc của luồng trò chơi trên CPU; Draw có thể liên quan việc chuẩn bị hoặc gửi lệnh vẽ; GPU phản ánh công việc phía bộ xử lý đồ họa. Đây là cách định hướng để đặt câu hỏi, không phải cam kết rằng mọi phiên bản đều có cùng counter, cách đo hay ranh giới.

Illustration: Đọc riêng Frame, Game Decorative illustration for the section "Đọc riêng Frame, Game"; visual only, carries no data.

Đặc biệt, một số tác vụ có thể chồng thời gian. Nếu CPU chuẩn bị công việc trong lúc GPU xử lý lệnh trước đó, việc cộng hai khoảng độc lập như các công đoạn nối tiếp sẽ phóng đại tổng thời gian. Ngược lại, một counter CPU cao không chứng minh GPU là nút thắt, và GPU time cao cũng không tự giải thích khung hình nào bị giới hạn. Hãy xem quan hệ bắt đầu-kết thúc, hàng đợi và dấu mốc của từng sự kiện trong công cụ profiling đang sử dụng; không suy luận từ tên hoặc thứ tự cột.

Tại sao bảng trống chưa phải bằng chứng GPU nhàn rỗi?

Counter có thể vắng mặt vì lệnh thống kê chưa được bật, công cụ không thu được loại dữ liệu đó, phiên bản hoặc build không cung cấp trường tương ứng, hay cách hiển thị đang lọc dữ liệu. Các khả năng này cần được phân biệt bằng tài liệu và kiểm tra thực tế; chỉ nhìn một ô rỗng thì không thể kết luận phần cứng không thực hiện công việc. Ghi lại phiên bản engine, loại build, nền tảng, lệnh đã chạy và điều kiện tái hiện sẽ giúp giải thích vì sao bảng ở máy khác trông khác.

Khi cần chẩn đoán, hãy thu thập timeline đủ dài để bao gồm các khung hình đại diện và các điểm bất thường. Đọc các dấu mốc cùng lúc, tìm xem khoảng chậm xuất hiện ở phía nào và có lặp lại hay không. Không cần buộc mọi counter phải khớp bằng phép cộng: mục tiêu là xác định diễn biến và quan hệ phụ thuộc, không phải làm cho các con số thành một tổng duy nhất.

Quy trình so sánh có thể kiểm tra lại

Trước tiên, xác định một cảnh hoặc thao tác cụ thể và giữ nguyên các điều kiện quan trọng như độ phân giải, chất lượng, nội dung đang chạy và thiết lập đo. Tiếp đó ghi phiên bản, build và các lệnh thống kê được bật. Chạy lại cùng workload nhiều lần, tránh so một lần chạy nóng với một lần chạy khác điều kiện. Sau khi thu trace, đánh dấu khung hình hoặc khoảng thời gian cần giải thích rồi đối chiếu các luồng trong cùng cửa sổ thời gian.

Illustration: Quy trình so sánh có thể kiểm tra Decorative illustration for the section "Quy trình so sánh có thể kiểm tra"; visual only, carries no data.

Nếu một counter không xuất hiện, kiểm tra khả năng thu thập trước khi diễn giải. Nếu số đo thay đổi giữa các lần chạy, xem workload và môi trường có thực sự giống nhau không. Người muốn theo dõi nội dung thể thao vẫn có thể dùng Tìm lịch thi đấu bóng đá trên KLIVE như một điểm đến riêng cho lịch và diễn biến trận; trang đó không cung cấp phép đo Unreal hay thay thế profiler. Tách bạch công cụ quan sát trò chơi với thông tin trận đấu giúp tránh gán cho dịch vụ thể thao khả năng kỹ thuật không được xác nhận.

Nguồn tham khảo

  1. Epic Games — Stat Commands in Unreal Engine

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

Có thể cộng Frame, Game, Draw và GPU để tính độ trễ không?

Không nên cộng chúng theo mặc định. Trước hết cần biết chính xác từng counter đo gì và liệu các khoảng có độc lập, nối tiếp hay chồng lấp. Timeline và tài liệu ứng với cấu hình đang dùng quan trọng hơn phép cộng tên gọi.

Game time cao có nghĩa GPU đang chậm không?

Không. Đây là các góc quan sát khác nhau. Hãy xem sự kiện và luồng trên timeline, đồng thời kiểm tra workload và điều kiện đo trước khi xác định nút thắt.

Bảng không hiện GPU có chứng minh GPU không làm việc?

Không. Dữ liệu có thể không được thu, không được hỗ trợ trong cấu hình hoặc bị ẩn. Kiểm tra lệnh, build, công cụ và tài liệu trước khi kết luận.

320,000+ issues. Every publisher. Zero subscriptions.

Same-day digital releases from Marvel, DC, Image, IDW, Dark Horse, Boom!, Dynamite, and Oni Press — readable in your browser in under three seconds.

Start Reading Free