Mengonfigurasi Pengoptimalan yang Dipandu Profil di Visual Studio

Dukungan Pengoptimalan yang Dipandu Profil diperkenalkan di AGDE versi 22.2.71.

Menemukan setelan PGO

Buka setelan project Anda dari Solution Explorer.

Menu properti Visual Studio Solution Explorer untuk project
saat ini.

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.

Dialog properti project dengan properti Umum yang ditampilkan, dan setelan PGO
yang ditandai

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.

Bagian atas dialog Halaman Properti, yang menampilkan drop-down Konfigurasi Solusi
Aktif dan Platform, serta tombol Configuration
Manager

Gambar 3: Dialog Configuration Manager.

Pada dialog Configuration Manager, pilih drop-down Active solution configuration dan pilih <New…>.

Dialog Configuration Manager, dengan menu drop-down
Konfigurasi Solusi Aktif terbuka dan opsi Baru
ditandai.

Gambar 4: Membuat konfigurasi build Baru.

… dan membuat konfigurasi Instrumentasi PGO baru.

Dialog Konfigurasi Solusi Baru, membuat konfigurasi
build Instrumentasi PGO baru berdasarkan konfigurasi
build Rilis yang ada

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.

Dialog Project Properties, membuka ke setelan Umum, dengan setelan
PGO ditampilkan, dan mode Profile Guided Optimization ditetapkan ke
Instrumented.

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.

Dialog New Solution Configuration akan membuat konfigurasi build berdasarkan
build Rilis, tetapi kali ini dengan Beroptimasi PGO sebagai nama konfigurasi
build baru.

Gambar 7: Membuat konfigurasi Build Beroptimasi PGO yang baru.

Tetapkan setelan Profile Guided Optimization Mode di halaman properti project ke Optimized.

Dialog Properti Project, membuka ke setelan Umum, dengan setelan PGO
ditampilkan, dan mode Pengoptimalan yang Dipandu Profil ditetapkan ke
Dioptimalkan

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. Dokumentasi Clang 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).