NEW STATE Mobile giảm mức sử dụng GPU xuống 22% nhờ Android GPU Inspector

Thông tin khái quát

NEW STATE Mobile là một trò chơi battle royale của Krafton, ra mắt trên toàn thế giới vào tháng 11 năm 2021 và đạt hơn 45 triệu lượt tải xuống trong tháng đầu tiên ra mắt. KRAFTON, Inc. là một tập hợp các hãng phát triển trò chơi độc lập, được thành lập để tạo ra những trải nghiệm giải trí sáng tạo và hấp dẫn cho người chơi trên toàn thế giới. Công ty này bao gồm PUBG Studios, Bluehole Studio, Striking Distance Studios, RisingWings, Dreamotion và Unknown Worlds, mỗi công ty đều có chuyên môn riêng. NEW STATE Mobile được tạo bằng Unreal Engine 4 và chúng tôi đã thử nghiệm nhiều cách để giảm nhiệt và mức tiêu thụ pin do mức sử dụng GPU cao từ các tính năng chơi trò chơi đặc biệt.

Người chơi có thể chơi các trận chiến tầm xa, vì vậy, công cụ phát triển trò chơi cần có khả năng kết xuất cảnh từ khá xa. Ngoài ra, có rất nhiều cây cối xuất hiện trên chiến trường, dẫn đến việc vẽ nhiều lần các cây cối này sẽ ảnh hưởng đáng kể đến việc giảm hiệu suất. Điều này đã đưa nhóm đến với Android GPU Inspector (AGI) để giúp tối ưu hoá mức sử dụng GPU của trò chơi và loại bỏ nút thắt cổ chai.

Ảnh chụp màn hình từ NEW STATE Mobile

Hình 1: Ảnh chụp màn hình từ NEW STATE Mobile

Những việc họ đã làm

NEW STATE Mobile đã sử dụng AGI để truy cập vào nhiều thông tin về bộ đếm GPU và tối ưu hoá mức sử dụng GPU cho phù hợp. Họ đã xác định được các lượt kết xuất không cần thiết nhờ dữ liệu phân tích hoạt động GPU do AGI cung cấp. Sau khi xác định được những phân đoạn nào đang chiếm mức sử dụng GPU và băng thông bộ nhớ, họ tiếp tục kiểm tra tiến trình tối ưu hoá bằng cách sử dụng Bộ đếm GPU và hoạt động GPU để kiểm tra xem họ có đang đi đúng hướng hay không.

Ảnh chụp màn hình từ NEW STATE Mobile

Hình 2: Ảnh chụp màn hình từ NEW STATE Mobile

Sau đây là một số điều họ tìm hiểu được về hiệu suất của trò chơi khi sử dụng AGI:

  • Tối ưu hoá lượt truyền cơ sở: Lượt truyền trước theo chiều sâu là một công nghệ giúp tăng mức sử dụng Early-z, giúp giảm mức sử dụng tính năng đổ bóng mảnh. Tính năng truyền trước độ sâu được sử dụng riêng cho LOD0, chiếm phần lớn không gian màn hình, giảm thiểu gánh nặng có thể đến từ các lệnh gọi vẽ bổ sung. Ngoài ra, việc sử dụng định dạng màu cảnh 32 bit có thể làm tăng hiệu suất của toàn bộ lượt kết xuất. Định dạng SceneColor mặc định của UnrealEngine4 là FloatRGBA, 64 bit. Nếu sử dụng định dạng 32 bit, băng thông bộ nhớ có thể giảm đi một nửa.

  • Đo lường mức tác động: Sau khi áp dụng tính năng truyền trước độ sâu, mức sử dụng GPU giảm 7,5%. Do quá trình truyền trước độ sâu, nhiều Mảnh có thể là Early-Z hơn. Tốc độ thời gian cần thiết để đổ bóng mảnh đã giảm 2%. Thông qua định dạng màu cảnh 32 bit, mức sử dụng GPU đã giảm 5,3%. Số lượng chương trình đổ bóng đang bận giảm 2% và tổng dung lượng đọc GPU từ bộ nhớ hệ thống giảm 330 MB/giây. Lượng dữ liệu mà GPU ghi vào bộ nhớ hệ thống đã giảm 78 MB/giây và lượng dữ liệu đọc bộ nhớ kết cấu cũng giảm 43 MB/giây.

  • Tối ưu hoá lượt truyền bóng: Khi lưới được dùng làm vật phát bóng, việc sử dụng LOD đa giác cao không thực sự tạo ra sự khác biệt về chất lượng. Bạn nên sử dụng LOD đa giác thấp để giảm số lượng tam giác. Trong Unreal Engine 4, bạn có thể sử dụng LOD đa giác thấp thông qua lệnh bảng điều khiển "ForceLODShadow".

  • Đo lường mức tác động: Số lượng tam giác dùng cho bóng đã giảm khoảng 120.000. Dữ liệu bộ đếm GPU trong AGI cho thấy mức sử dụng GPU giảm khoảng 2%, dung lượng bộ nhớ GPU đọc từ bộ nhớ hệ thống giảm 130 MB/giây và dung lượng được ghi từ GPU vào bộ nhớ hệ thống giảm khoảng 23 MB/giây.

  • Tự động tạo bản sao: Tính năng tự động tạo bản sao có thể được áp dụng cho cả quá trình tối ưu hoá lượt truyền bóng và lượt truyền cơ sở, cho phép bạn hợp nhất cùng một lệnh kết xuất trong thời gian chạy, sau đó kết xuất tất cả cùng một lúc. Điều này cho phép NEWSTATE dành cho thiết bị di động áp dụng tính năng chiếu sáng toàn cục cho từng đối tượng mà không làm giảm hiệu suất. Tự động tạo bản sao là một tính năng cơ bản do UnrealEngine4 cung cấp.

  • Đã đo lường được tác động: Giảm 500 lệnh gọi vẽ. Điều này đã làm giảm khoảng 48% số lệnh gọi vẽ. Mức sử dụng GPU giảm khoảng 3,5%. Các phép đo này được thực hiện bằng OpenGL.

Dữ liệu nội bộ cho thấy mức sử dụng GPU giảm

Hình 3: Dữ liệu nội bộ cho thấy mức sử dụng GPU giảm

Kết quả

Bằng cách sử dụng AGI, NEW STATE Mobile đã giảm mức sử dụng GPU xuống 22%. Nhờ tối ưu hoá lượt truyền trước độ sâu và lượt truyền bóng, mức sử dụng GPU đã giảm lần lượt 19% và 3%. Số lệnh gọi vẽ và tổng bộ nhớ mà GPU đọc và ghi từ bộ nhớ hệ thống cũng giảm đáng kể.

Bắt đầu

Tìm hiểu cách phân tích tác động của trò chơi trên thiết bị Android bằng cách xác định các vấn đề về hiệu suất và các khu vực cần tối ưu hoá bằng Android GPU Inspector (AGI).