Pembuatan profil performa

Pembuatan profil dan penyesuaian performa adalah tugas kompleks yang lebih terasa seperti seni daripada sains. Banyaknya komponen yang bergerak dan perlu disinkronkan dengan sempurna dalam game, ditambah dengan kompleksitas dalam adegan tertentu, dapat membuat pemahaman dan isolasi masalah menjadi sulit. Di ChromeOS, banyak alat yang dirancang dengan mempertimbangkan chipset ARM. Berikut beberapa tips untuk membantu mempercepat prosesnya.

Hal yang perlu diingat saat mengoptimalkan performa game Anda secara khusus di ChromeOS adalah masalah performa yang mendasarinya sama di semua perangkat, dan peningkatan akan meningkatkan performa dan daya tahan baterai untuk semua pengguna. ChromeOS, dengan kecenderungan untuk layar yang lebih besar dan perangkat input desktop, mungkin lebih mudah memunculkan masalah tertentu. Misalnya, algoritma pemuatan tekstur yang tidak efisien mungkin “berfungsi dengan baik” di perangkat seluler kelas atas, tetapi tidak dapat berfungsi dengan baik di Chromebook dengan layar 4k. Peningkatan algoritma akan meningkatkan kualitas game di semua perangkat.

Jika Anda baru mengenal pembuatan profil, pendekatan umum yang baik adalah:

  1. Tentukan apakah performa dibatasi oleh:
    • CPU
    • GPU
    • Lainnya: Input/Disk/Jaringan
  2. Coba isolasi penyebab utama
  3. Coba optimalkan
  4. Ulangi

Biasanya, game akan menunjukkan dirinya sebagai “terikat CPU” atau “terikat GPU”. Dengan menggunakan tips dan alat pembuatan profil di bawah, coba tentukan di mana sistem “menghabiskan waktunya” setiap frame. Misalnya, jika perlu waktu lama untuk menghitung dan memuat verteks sebelum GPU mulai merender, game Anda mungkin terikat CPU. Sebaliknya, jika Anda menggunakan sejumlah besar filter berbasis GPU yang mendetail, game Anda kemungkinan terikat GPU. Ingatlah bahwa banyak ponsel dan perangkat ChromeOS tidak memiliki kartu grafis diskrit. Game desktop yang mengasumsikan filter GPU berjalan cepat, mungkin mendapati GPU terintegrasi membutuhkan waktu terlalu lama untuk merender setiap adegan.

Untuk mengetahui detail selengkapnya tentang cara melakukan pembuatan profil, lihat panduan ARM tentang 'Proses pengoptimalan'.

Alat

Meskipun Anda dapat menentukan hambatan sendiri, memiliki alat yang tepat akan mempermudah analisis performa game dan memberi Anda keyakinan bahwa Anda berfokus pada hal yang tepat. Ada banyak alat di luar sana, tetapi berikut beberapa program yang sering kami gunakan.

Profiler Android Studio

Cara termudah untuk memulai pembuatan profil aplikasi Android adalah dengan pemrofil Android Studio terintegrasi. Dari Android Studio, alih-alih menekan “Run”, cukup pilih “Profile” untuk menjalankan aplikasi dan mendapatkan insight real-time tentang penggunaan CPU, memori, dan jaringan. Trace CPU sederhana dapat menjadi cara cepat untuk mengisolasi area kode yang perlu diperiksa.

Alat ini tidak memberikan insight nyata tentang penggunaan GPU maupun tentang apa yang terjadi di antara setiap sinkronisasi frame. Jadi, meskipun merupakan alat yang bagus untuk dimiliki dalam toolbox, alat ini kemungkinan tidak akan cukup untuk membuat game Anda berjalan dengan performa puncak.

Snapdragon Profiler

Karena perilaku game Anda akan sama di seluruh perangkat, salah satu cara yang baik untuk mendapatkan informasi performa mendetail adalah dengan menggunakan Snapdragon Profiler di ponsel ARM berbasis Qualcomm. Meskipun tidak secara langsung membuat profil di perangkat ChromeOS, hal ini akan memberi Anda informasi tentang tempat game Anda menghabiskan sebagian besar waktunya setiap frame, dan dapat memberi Anda insight tentang panggilan GPU mana yang sedang digunakan.

Misalnya, jika Anda melihat bahwa banyak waktu yang dihabiskan dalam filter GPU anisotropik dan mendominasi tugas yang dilakukan setiap frame, Anda kemungkinan dapat memperoleh peningkatan performa yang besar dengan mengubah setelan ini.

Jika Anda melihat waktu GPU singkat dan teratur, tetapi waktu CPU mendominasi dan menyebabkan Anda kehilangan sinkronisasi frame, lihat algoritma pemuatan tekstur/persiapan frame Anda.

Lihat dokumentasi penggunaan resmi untuk mengetahui informasi selengkapnya.

ARM Mobile Studio

Profiler perangkat ARM lain yang berguna adalah ARM Mobile Studio. Beberapa developer mungkin lebih menyukainya daripada Snapdragon Profiler, tetapi dapat digunakan dengan cara yang serupa. Lihat dokumentasi penggunaan resmi.

Android GPU Inspector

Android GPU Inspector adalah alat baru yang dikembangkan oleh Google dan dirancang khusus untuk membantu Anda mendapatkan performa terbaik dari game dengan OpenGL dan Vulkan. Saat ini, fitur ini dalam status pratinjau developer dan mungkin memerlukan beberapa langkah untuk menyiapkan dan saat ini hanya berfungsi di beberapa perangkat. Fitur ini akan menjadi salah satu alat utama yang digunakan untuk pembuatan profil grafis di masa mendatang. Lihat dokumentasi resmi.

Pelacakan Ringkasan ARC

Ada juga alat yang lebih umum - ARC Overview Tracing - yang berfungsi serupa dengan alat ARC Graphics Tracing di atas. Tracer ini akan memberikan metrik tingkat tinggi tentang performa aplikasi dan ChromeOS. Output akan menampilkan FPS aplikasi dan Chrome itu sendiri, serta penggunaan CPU, penggunaan GPU, konsumsi daya, dan lainnya. Anda dapat menjalankan alat ini beberapa kali dan melihat grafik untuk setiap eksekusi yang ditumpuk bersama dengan warna untuk membedakannya. Setiap model pelacakan akan disimpan ke folder Download Anda dan dapat diimpor ulang untuk perbandingan di masa mendatang. Untuk pemeriksaan kondisi aplikasi umum, ARC Overview Tracing adalah tempat yang tepat untuk memulai.

Buka chrome://arc-overview-tracing di browser di ChromeOS untuk mengakses alat ini.

Langkah berikutnya

Jadi, Anda mungkin telah menemukan beberapa hambatan, tetapi tidak yakin apa yang harus dilakukan. Atau Anda telah menemukan dan menanganinya, tetapi Anda tidak yakin harus melakukan apa selanjutnya. Di bawah ini, kami telah menyusun daftar tips dan referensi umum khusus Android dan mesin untuk Anda.

Tips umum

Portal Android Developers memiliki beberapa tips berguna untuk meningkatkan performa aplikasi Anda. Pertimbangan waktu pemuatan, cara memanfaatkan multithreading, menangani jeda input, dan lainnya dapat ditemukan di sana.

Ingatlah untuk membuat profil lebih awal dan sering, terutama jika Anda menargetkan mesin yang kurang canggih atau mendorong batas arsitektur kelas atas. Memantau statistik performa aplikasi akan membantu Anda mengidentifikasi perubahan mana yang menurunkan kecepatan frame dan perubahan mana yang membantu Anda mempertahankan pengalaman lancar yang Anda inginkan.

Mesin Unity

Selain dokumen Android umum, Unity menyediakan dokumen khusus ChromeOS untuk membantu Anda membuat aplikasi ChromeOS berperforma tinggi menggunakan mesin mereka. Lihat dokumentasi ChromeOS mereka tentang memulai, input, pen-debug-an, dan pembuatan yang mencakup cara membuat build x86. Untuk konten mereka tentang performa, lihat memahami pengoptimalan dan kursus mereka tentang performa dan pengoptimalan.

Pertimbangkan untuk membaca panduan ARM tentang pemrofilan dan pengoptimalan game Unity serta praktik terbaik terkait. Hal ini akan memandu Anda melalui proses pembuatan profil contoh game di Unity dengan alat Streamline, salah satu aspek ARM Mobile Studio.

Mesin Unreal

Unreal telah menulis dokumen panduan performa dan tips dan trik sendiri yang mengajarkan cara memanfaatkan sebagian besar opsi dan setelan yang disediakan mesin ini dengan sebaik-baiknya. Di sini, Anda akan menemukan hal-hal seperti trik Level Detail, cara memaksimalkan pencahayaan, panduan langkah demi langkah tentang setelan kualitas materi dan shader, serta saran lainnya.

Untuk pengoptimalan berbasis grafis lainnya, ARM telah menulis panduan untuk mengoptimalkan game seluler. Tips pengoptimalan umum serta pertimbangan grafis khusus Unreal dapat ditemukan di sini.