NEW STATE Mobile mengurangi penggunaan GPU sebesar 22% dengan Android GPU Inspector
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
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.

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.

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.

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).
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2022-02-25 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2022-02-25 UTC."],[],[],null,["# NEW STATE Mobile reduces GPU usage by 22% with Android GPU Inspector\n\nBackground\n----------\n\n[NEW STATE Mobile](https://play.google.com/store/apps/details?id=com.pubg.newstate) is a battle royale game from Krafton that launched Nov 2021 worldwide, and reached 45M+ downloads in the first month of launch. KRAFTON, Inc. is a collective of independent game development studios brought together to create innovative and engaging entertainment experiences for gamers across the world. The company consists of PUBG Studios, Bluehole Studio, Striking Distance Studios, RisingWings, Dreamotion, and Unknown Worlds, each with its own unique expertise. NEW STATE Mobile was created with Unreal Engine 4, and various attempts have been made to reduce heat and battery consumption caused by high GPU usage from their distinctive gaming features.\n\nGamers can play long range battles, so the game engine needs to be able to render scenes from quite a distance. Also, numerous vegetations are present in the battleground, leading the overdraw of these vegetations to have a substantial impact on decreasing performance. This led the team to [Android GPU Inspector](http://developer.android.com/agi) (AGI) to help optimize the game's GPU usage and eliminate bottlenecks.\n\n**Figure 1**: Screenshot from NEW STATE Mobile\n\nWhat they did\n-------------\n\nNEW STATE Mobile used AGI to access loads of GPU counter information and optimize their GPU usage accordingly. They identified unnecessary render passes with the help of the GPU activity profiling data provided by AGI. After identifying which segments were taking up GPU usage and memory bandwidth, they continued to check the optimization progress using the GPU Counter and GPU activity back and forth to check if they were headed in the right direction.\n\n**Figure 2**: Screenshot from NEW STATE Mobile\n\nHere are a few things they learned about the game's performance using AGI:\n\n- **Base pass optimization**: Depth prepass, which is a technology that increases usage of Early-z, helped decrease the use of fragment shading. Depth prepass was specifically used for LOD0 which takes up most of the screen space, minimizing the burden that can come from additional draw calls. Also, using the 32-bit scenecolor format can increase the performance of the entire render pass. Default SceneColor format of UnrealEngine4 is FloatRGBA, which is 64-bit. If a 32-bit format is used, memory bandwidth can be reduced by half.\n\n- **Impact measured**: After applying depth prepass, GPU utilization dropped by 7.5%. Due to the depth prepass, more Fragments could be Early-Z. The rate of time required for fragment shading has decreased by 2%. Through the 32-bit scenecolor format, GPU utilization was reduced by 5.3%. Shaders Busy decreased by 2%, and total GPU read from system memory decreased 330 MB/s. The amount the GPU writes to system memory was reduced by 78 MB/s and Texture memory read was also reduced by 43 MB/s.\n\n- **Shadow pass optimization**: When meshes are used as shadow casters, using high polygon LOD does not really make a difference in quality. It is preferred to use low polygon LOD which helps reduce the number of triangles. In Unreal Engine 4, low polygon LOD can be used via the console command 'ForceLODShadow'.\n\n- **Impact measured**: The number of triangles used for shadows decreased by about 120,000. The GPU counter data in AGI showed that GPU usage decreased about 2%, the amount of the GPU memory read from the system memory decreased 130MB/s, and the amount written from the GPU to the system memory decreased about 23MBs.\n\n- **Auto-instancing**: Auto-instancing, which can be applied for both shadow pass and base pass optimization, allows you to merge the same render commands at runtime and then be rendered all at once. This allowed NEWSTATE mobile to apply global illumination to individual objects without losing performance. Auto-instancing is a basic feature provided by UnrealEngine4.\n\n- **Impact measured**: Draw calls were reduced by 500. It reduced about 48% of the draw calls. GPU utilization decreased about 3.5%. These measurements were taken using OpenGL.\n\n**Figure 3**: Internal data showing GPU usage reduction\n\nResults\n-------\n\nBy using AGI, NEW STATE Mobile reduced its GPU usage by 22%. From depth prepass and shadow pass optimization, GPU usage was down by 19% and 3% respectively. Draw calls and the total memory read and written by GPU from system memory was also substantially reduced.\n\nGet started\n-----------\n\nLearn how to analyze the impact of your game on Android devices by identifying performance issues and areas to optimize with the [Android GPU Inspector](https://developer.android.com/agi) (AGI)."]]