Dukungan Pengoptimalan yang Dipandu Profil diperkenalkan di AGDE versi 22.2.71.
Menemukan setelan PGO
Buka setelan project Anda dari Solution Explorer.
Gambar 1: Jendela Visual Studio Solution Explorer.
Pastikan Platform Anda disetel ke konfigurasi Android (misalnya Android-arm64-v8a).
Di panel kiri, pilih Configuration Properties > General. Cari grup properti bernama PGO.
Gambar 2: Dialog Properti Project.
Mengaktifkan Build Instrumentasi PGO dalam Project
Tambahkan konfigurasi baru bernama Instrumented ke project Anda. Hal ini didasarkan pada konfigurasi yang Anda gunakan selama pengembangan untuk pengujian, yang harus berupa build tradisional yang dioptimalkan (Anda masih dapat mengaktifkan fitur proses debug tambahan selama Anda mempertahankan setelan pengoptimalan compiler).
Klik Configuration Manager… di dialog halaman Properti.
Gambar 3: Dialog Configuration Manager.
Pada dialog Configuration Manager, pilih drop-down Active solution configuration dan pilih <New…>.
Gambar 4: Membuat konfigurasi build Baru.
… dan membuat konfigurasi Instrumentasi PGO baru.
Gambar 5: Dialog Konfigurasi Solusi Baru.
Guna mengaktifkan build dalam mode Instrumentasi PGO, sehingga Anda dapat membuat profil untuk game, pilih Instrumented dari daftar opsi untuk setelan Profile Guided Optimization Mode.
Gambar 6: Dialog Project Properties, yang menyoroti setelan PGO.
Untuk setelan Profile Guided Optimization Profiles, masukkan jalur ke
folder untuk menulis file data profil output mentah di perangkat Android Anda.
Biasanya nilai ini harus seperti /data/data/<package
name>/cache/
– dengan <package name>
adalah nama paket lengkap APK
Anda – misalnya, com.google.sample.tunnel.
Untuk informasi lebih mendalam tentang cara kerjanya, lihat dokumentasi Clang.
Menulis data profil Instrumentasi PGO ke perangkat Anda
Data PGO biasanya ditulis ke perangkat oleh sistem instrumentasi PGO saat proses keluar. Di Android, aplikasi tidak keluar – aplikasi selalu dihentikan. Ini berarti fungsi "tulis ke disk" default tidak pernah terpicu, sehingga aplikasi Anda harus menulis data PGO secara manual.
Aplikasi Anda harus secara eksplisit memanggil __llvm_profile_write_file
untuk menulis
data profil. Simbol ini hanya tersedia saat mem-build build
instrumentasi PGO. Untuk mempermudah, sebaiknya gunakan pola berikut saat
mendeklarasikan __llvm_profile_write_file
.
#ifdef PGO_INSTRUMENT
extern "C" int __llvm_profile_write_file(void);
#else
extern "C" int __llvm_profile_write_file(void) { return 0; }
#endif
Memanggil fungsi ini akan menulis data profil ke folder yang Anda tentukan sebelumnya.
Menjalankan profil
Untuk membuat profil, jalankan APK yang di-build dengan instrumentasi PGO di
perangkat target. Setelah Anda menyelesaikan kode sesuai keinginan, dan telah
memicu panggilan ke fungsi __llvm_profile_write_file
, aplikasi Anda akan
menulis data profil ke penyimpanan.
Pada tahap ini, salin kembali profil dari perangkat untuk digunakan oleh compiler.
Menyiapkan data profil untuk digunakan oleh compiler
Saat digunakan secara terpisah, llvm-profdata
alat command line yang dikirimkan sebagai bagian
dari Clang/LLVM di Android NDK digunakan untuk menyiapkan file data profil yang akan digunakan
oleh compiler selama pengoptimalan build yang dipandu profil.
AGDE melakukan langkah ini secara otomatis untuk Anda dengan menggabungkan semua file data profil yang telah Anda tambahkan ke project, dan memakainya saat setelan Profile Guided Optimization Mode di halaman properti project ditetapkan ke Optimized.
Membuat project Anda dengan Pengoptimalan yang Dipandu Profil diaktifkan
Setelah Anda mengambil profil dan menambahkannya ke project, compiler dapat menggunakan data tersebut untuk meningkatkan pengoptimalan build.
Buat konfigurasi project baru untuk Build Beroptimasi PGO sehingga Anda hanya mem-build dalam mode ini saat diperlukan.
Gambar 7: Membuat konfigurasi Build Beroptimasi PGO yang baru.
Tetapkan setelan Profile Guided Optimization Mode di halaman properti project ke Optimized.
Gambar 8: Menyetel mode Pengoptimalan PGO ke Dioptimalkan.
Salin file dari perangkat dan tambahkan ke project Anda di Solution Explorer. File data profil ini akan diambil oleh compiler pada saat berikutnya Anda membangun konfigurasi yang Dioptimalkan dengan PGO, dan digunakan untuk menyesuaikan cara compiler mengoptimalkan kode Anda.
Anda dapat menyalin file data profil ke dalam project dari perangkat menggunakan ADB, atau dengan menggunakan Android Device Explorer.
Menggunakan Pengoptimalan yang Dipandu Profil di luar AGDE
Jika menggunakan sistem build yang tidak didukung oleh AGDE, Anda mungkin perlu
mengedit build secara langsung. Clang
dokumentasi
mencakup tombol yang diperlukan – -fprofile-generate
, dan
-fprofile-use
.
Jika Anda menggunakan mesin middleware untuk game Anda, baca dokumentasi untuk mesin Anda guna melihat cara mengaktifkan PGO (jika didukung).