NEW STATE Mobile mengurangi penggunaan GPU sebesar 22% dengan Android GPU Inspector

Latar belakang

NEW STATE Mobile adalah game battle royale dari Krafton yang diluncurkan pada November 2021 di seluruh dunia, dan didownload lebih dari 45 juta pada bulan pertama. KRAFTON, Inc. adalah kumpulan studio pengembangan game independen yang disatukan untuk menciptakan pengalaman hiburan yang inovatif dan menarik bagi gamer di seluruh dunia. Perusahaan ini terdiri dari PUBG Studios, Bluehole Studio, Striking Distance Studios, NaikWings, Dreamotion, dan Unknown Worlds, masing-masing dengan keahlian uniknya sendiri. NEW STATE Mobile dibuat dengan Unreal Engine 4, dan berbagai upaya telah dilakukan untuk mengurangi konsumsi baterai dan panas yang disebabkan oleh penggunaan GPU yang tinggi dari fitur game khas mereka.

Gamer dapat memainkan pertarungan jarak jauh, sehingga game engine harus dapat merender adegan dari jarak yang cukup jauh. Selain itu, banyak vegetasi hadir di medan perang, sehingga overdraw menarik vegetasi ini memiliki dampak substansial terhadap penurunan performa. Hal ini mengarahkan tim ke Android GPU Inspector (AGI) untuk membantu mengoptimalkan penggunaan GPU game dan menghilangkan bottleneck.

Screenshot dari NEW STATE Mobile

Gambar 1: Screenshot dari NEW STATE Mobile

Yang mereka lakukan

NEW STATE Seluler menggunakan AGI untuk mengakses banyak informasi penghitung GPU dan mengoptimalkan penggunaan GPU mereka. Mereka mengidentifikasi render pass yang tidak perlu dengan bantuan data pembuatan profil aktivitas GPU yang disediakan oleh AGI. Setelah mengidentifikasi segmen mana yang menghabiskan penggunaan GPU dan bandwidth memori, mereka terus memeriksa progres pengoptimalan menggunakan Penghitung GPU dan aktivitas GPU bolak-balik untuk memeriksa apakah mereka menuju ke arah yang benar.

Screenshot dari NEW STATE Mobile

Gambar 2: Screenshot dari NEW STATE Mobile

Berikut beberapa hal yang mereka pelajari tentang performa game menggunakan AGI:

  • Pengoptimalan base pass: Depth prepass, yaitu teknologi yang meningkatkan penggunaan Early-z, membantu mengurangi penggunaan bayangan fragmen. Prepass depth secara khusus digunakan untuk LOD0 yang memenuhi sebagian besar ruang layar, meminimalkan beban yang dapat berasal dari panggilan gambar tambahan. Selain itu, menggunakan format scenecolor 32 bit dapat meningkatkan performa seluruh render pass. Format SceneColor default UnrealEngine4 adalah FloatRGBA, yaitu 64-bit. Jika format 32-bit digunakan, bandwidth memori dapat dikurangi setengahnya.

  • Dampak diukur: Setelah menerapkan depth prepass, pemakaian GPU turun sebesar 7,5%. Karena prepass kedalaman, lebih banyak Fragment mungkin merupakan Early-Z. Laju waktu yang diperlukan untuk bayangan fragmen telah menurun sebesar 2%. Melalui format scenecolor 32-bit, pemanfaatan GPU berkurang sebesar 5,3%. Shaders Sibuk berkurang 2%, dan total GPU yang dibaca dari memori sistem berkurang 330 MB/s. Jumlah yang ditulis GPU ke memori sistem berkurang 78 MB/dtk dan pembacaan memori Tekstur juga berkurang 43 MB/dtk.

  • Pengoptimalan penerusan bayangan: Saat mesh digunakan sebagai kastor bayangan, penggunaan LOD poligon tinggi tidak benar-benar membuat perbedaan dalam kualitas. Sebaiknya gunakan LOD poligon rendah yang membantu mengurangi jumlah segitiga. Di Unreal Engine 4, LOD poligon rendah dapat digunakan melalui perintah konsol 'ForceLODShadow'.

  • Dampak diukur: Jumlah segitiga yang digunakan untuk bayangan berkurang sekitar 120.000. Data penghitung GPU pada AGI menunjukkan bahwa penggunaan GPU menurun sekitar 2%, jumlah memori GPU yang dibaca dari memori sistem menurun 130MB/s, dan jumlah yang ditulis dari GPU ke memori sistem menurun sekitar 23MB.

  • Auto-instancing: Auto-instancing, yang dapat diterapkan untuk pengoptimalan shadow pass dan base pass, memungkinkan Anda menggabungkan perintah render yang sama pada runtime dan dirender sekaligus. Hal ini memungkinkan NEWSTATE seluler menerapkan pencahayaan global ke setiap objek tanpa kehilangan performanya. Pembuatan otomatis adalah fitur dasar yang disediakan oleh UnrealEngine4.

  • Dampak diukur: Panggilan gambar berkurang 500. Ini mengurangi sekitar 48% panggilan gambar. Pemakaian GPU menurun sekitar 3,5%. Pengukuran ini dilakukan menggunakan OpenGL.

Data internal yang menunjukkan pengurangan penggunaan GPU

Gambar 3: Data internal yang menunjukkan pengurangan penggunaan GPU

Hasil

Dengan menggunakan AGI, NEW STATE Mobile mengurangi penggunaan GPU-nya sebesar 22%. Dari pengoptimalan depth prepass dan shadow pass, penggunaan GPU turun masing-masing sebesar 19% dan 3%. Panggilan draw dan total memori yang dibaca dan ditulis oleh GPU dari memori sistem juga berkurang signifikan.

Mulai

Pelajari cara menganalisis dampak game Anda pada perangkat Android dengan mengidentifikasi masalah performa dan area yang akan dioptimalkan dengan Android GPU Inspector (AGI).