Tóm tắt

Overdraw xảy ra khi một vùng màn hình có thể trải qua nhiều lần xử lý bề mặt trước khi màu cuối cùng được xác định. Visualization về overdraw giúp người phát triển nhìn thấy nơi các lớp phủ có thể tạo thêm công việc pixel, nhờ đó chọn vùng cần điều tra. Nhưng hình ảnh tô màu chỉ là chỉ báo định hướng: nó không cho biết riêng overdraw có phải nguyên nhân giới hạn tốc độ khung hình hay không. Cần kết hợp với phép đo và đúng thiết bị, renderer, nội dung đang xét.

Điểm chính

  1. Tài liệu Epic về tối ưu rendering di động mô tả workload và profiling trong phạm vi renderer mobile, không phải lời khuyên phổ quát cho PC. [1]
  2. Visualization giúp xác định nơi có khả năng nhiều lớp phủ chồng lên cùng vùng pixel; màu hiển thị cần được diễn giải theo công cụ cụ thể.
  3. Vùng có overdraw cao chưa tự chứng minh đây là bottleneck chính của frame.
  4. Đo trước và sau một thay đổi trong điều kiện kiểm soát để đánh giá tác động, thay vì chỉ dựa vào ảnh debug.
  5. Không suy rộng kết quả từ thiết bị di động sang GPU hoặc cấu hình desktop khác.

Overdraw mô tả công việc chồng lên cùng vùng

Trong một cảnh 3D, nhiều bề mặt có thể phủ lên cùng vị trí trên màn hình. Tùy thứ tự và quy trình render, một số pixel có thể được xử lý trước khi bề mặt nhìn thấy cuối cùng quyết định màu hiển thị. Hiện tượng xử lý lặp này thường được gọi là overdraw. Nó đặc biệt đáng chú ý khi cảnh có nhiều lớp trong suốt hoặc nhiều phần tử chồng nhau, nhưng mức độ ảnh hưởng phụ thuộc vào nội dung và đường render.

Visualization không nhất thiết là phép đo thời gian trực tiếp. Nó thường biến một đại lượng hoặc tình trạng thành màu sắc để người phát triển nhận biết vùng cần xem xét. Hãy đọc chú giải của đúng công cụ và phiên bản trước khi diễn giải màu; không giả định mọi chế độ debug dùng cùng thang màu hoặc cách tính.

Dùng hình hiển thị để khoanh vùng, không kết luận bottleneck

Một vùng có màu biểu thị nhiều lớp có thể là ứng viên để kiểm tra cấu trúc cảnh, vật liệu hoặc thứ tự vẽ. Tiếp theo, hãy xác định phần tử nào phủ lên vùng đó và xem có cách giảm công việc mà vẫn giữ kết quả hình ảnh cần thiết hay không. Tuy nhiên, visualization chỉ giúp đặt câu hỏi. Nó không cho biết GPU đang bị giới hạn bởi pixel shading, băng thông, hình học, đồng bộ hay một chặng khác.

Illustration: Dùng hình hiển thị để khoanh vùng, Decorative illustration for the section "Dùng hình hiển thị để khoanh vùng,"; visual only, carries no data.

Epic trình bày các chủ đề workload và profiling trong tài liệu Rendering Optimization for Mobile của Unreal Engine 5.6. Tài liệu này có phạm vi mobile và các tình huống thiết bị cụ thể; không nên biến khuyến nghị trong đó thành quy tắc chung cho mọi PC hoặc mọi renderer. [1]

Kiểm chứng bằng phép đo phù hợp

Để kiểm tra giả thuyết, trước hết giữ cố định cảnh, độ phân giải, thiết bị và cấu hình đo. Ghi lại thời gian frame hoặc chỉ số phù hợp trước khi thay đổi. Thử một thay đổi nhỏ có mục tiêu, chẳng hạn giảm một lớp phủ xác định, rồi lặp lại phép đo. Nếu ảnh visualization đổi nhưng thời gian không đổi đáng kể trong điều kiện đó, overdraw có thể không phải yếu tố giới hạn duy nhất; cần khảo sát các chặng khác.

Một kết quả đơn lẻ không đủ loại trừ biến động. Nên chạy lặp, ghi trạng thái làm nóng thiết bị nếu có liên quan và lưu thiết lập. Tránh so sánh các ảnh debug được chụp ở độ phân giải hoặc nội dung khác nhau như thể cùng một workload. Các bước này cải thiện khả năng diễn giải, nhưng không bảo đảm một thay đổi sẽ có lợi trên mọi phần cứng.

Giữ đúng phạm vi khi chuyển từ mobile sang PC

Cùng một khái niệm đồ họa có thể xuất hiện trên nhiều nền tảng, nhưng giới hạn hiệu năng và đường render không đồng nhất. Thiết bị di động có ngân sách điện năng, nhiệt và kiến trúc khác desktop; do đó tài liệu tối ưu mobile cần được áp dụng trong ngữ cảnh của nó. Nếu làm việc trên PC, hãy dùng công cụ đo và hướng dẫn tương ứng với engine, renderer, GPU và cấu hình mục tiêu.

Illustration: Giữ đúng phạm vi khi chuyển từ Decorative illustration for the section "Giữ đúng phạm vi khi chuyển từ"; visual only, carries no data.

Bạn có thể xem <a href="https://www.klive68.com/">Nguồn cập nhật các trận đấu game đối kháng trên KLIVE</a> để tham khảo trang dịch vụ thể thao. Liên kết này không liên quan đến hiệu năng đồ họa và không xác nhận bất kỳ tính năng kỹ thuật nào của KLIVE. Khi báo cáo, mô tả visualization như dấu hiệu khoanh vùng, rồi nêu riêng phép đo đã xác nhận hoặc chưa xác nhận bottleneck.

Nguồn tham khảo

  1. Epic Games — Rendering Optimization for Mobile (UE 5.6)

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

Overdraw visualization có đo trực tiếp thời gian frame không?

Không nhất thiết. Nó giúp biểu diễn một khía cạnh của lớp phủ; cần dùng phép đo timing phù hợp để đánh giá tác động.

Vùng overdraw nổi bật có chắc là bottleneck chính không?

Không. Cần kiểm tra và đo các chặng khác; visualization chỉ giúp khoanh vùng giả thuyết.

Tài liệu tối ưu mobile có thể áp dụng nguyên xi cho PC không?

Không nên. Nguồn đề cập mobile và thiết bị cụ thể; renderer desktop cần được đánh giá trong điều kiện của nó.