AGDE'de Profil Rehberli Optimizasyon desteği kullanıma sunuldu 22.2.71 sürümüne sahip olduğunuzdan emin olun.
PGO ayarlarını bulma
Çözüm Gezgini'nden proje ayarlarınızı açın.
Şekil 1: Visual Studio Çözüm Gezgini penceresi.
Platformunuzun bir Android yapılandırmasına (örneğin, Android-arm64-v8a) girin.
Sol panelde Yapılandırma Özellikleri > Genel. Şunlara bakın: PGO adlı mülk grubu bulunuyor.
Şekil 2: Proje Özellikleri iletişim kutusu.
Projede PGO Araçlı Derlemeleri Etkinleştirme
Projenize Instrumented adında yeni bir yapılandırma ekleyin. Bu, üzerinde çalıştığınız yapılandırmanın yüksek olması gerekir. optimize edilmiş geleneksel derlemeniz (ayrıca ek hata ayıklama özelliklerinin etkinleştirilmesini sağlayabilirsiniz.
Özellik sayfası iletişim kutusunda Configuration Manager...'ı tıklayın.
Şekil 3: Configuration Manager iletişim kutusu.
Configuration Manager iletişim kutusunda Etkin çözüm'ü seçin. yapılandırma açılır menüsünü tıklayıp <Yeni...> seçeneğini belirleyin.
Şekil 4: Yeni derleme yapılandırması oluşturma.
... ve yeni bir PGO Enstrümanlı yapılandırma oluşturun.
Şekil 5: Yeni Çözüm Yapılandırması iletişim kutusu.
PGO Enstrümanlı modda derlemeyi etkinleştirmek için profil oluşturabilirsiniz. Oyununuz için seçenek listesinden Enstrümanlı'yı seçin. Profil Rehberli Optimizasyon Modu ayarı.
Şekil 6: PGO ayarlarının vurgulandığı Proje Özellikleri iletişim kutusu.
Profil Açıklamalı Optimizasyon Profilleri ayarı için
klasörünü seçin.
Bu değer genellikle /data/data/<package
name>/cache/
gibi bir şey olmalıdır. Burada <package name>
, öğenizin tam paket adıdır.
APK (örneğin, com.google.sample.tunnel).
Bunun işleyiş şekli hakkında daha ayrıntılı bilgi için bkz. Clang dokümanlarına göz atın.
Cihazınıza PGO Enstrümanlı profil verileri yazma
PGO verileri genellikle aşağıdaki durumlarda PGO araç sistemi tarafından cihaza yazılır. çıktığını görebilirsiniz. Android'de uygulamalar kapanmaz, her zaman feshedilir. Bu anlamına gelir. hiçbir zaman tetiklenmez, yalnızca uygulamasını kullanarak PGO verilerini manuel olarak yazabilirsiniz.
Uygulamanızı açıkça belirtmek için __llvm_profile_write_file
profil verileri. Bu simge yalnızca PGO özellikli bir tasarım oluştururken kullanılabilir
seçeceğiz. Bu işlemi kolaylaştırmak için,
__llvm_profile_write_file
belirtiliyor.
#ifdef PGO_INSTRUMENT
extern "C" int __llvm_profile_write_file(void);
#else
extern "C" int __llvm_profile_write_file(void) { return 0; }
#endif
Bu işlevi çağırmak, profil verilerini belirttiğiniz klasöre yazar anlatacağım.
Profil çalıştırması gerçekleştirme
Profili oluşturmak için PGO araçları ile oluşturulan APK'nızı
hedef cihaz Kodu istediğiniz gibi uyguladıktan sonra,
__llvm_profile_write_file
işlevine çağrıyı tetiklediğinde uygulamanız
profil verilerini depolama alanına yaz.
Bu noktada, derleyici tarafından kullanılmak üzere profilleri cihazdan tekrar kopyalayın.
Profil verilerini derleyicinin kullanması için hazırlama
Ayrı olarak kullanıldığında, parça olarak gönderilen llvm-profdata
komut satırı aracı
Android NDK'daki Clang/LLVM'nin örneği, profil veri dosyalarını kullanıma hazırlamak için kullanılıyor
.
AGDE, herhangi bir profili birleştirerek bu adımı sizin için otomatik olarak gerçekleştirir. veri dosyalarını kullanabilir ve Proje mülkü sayfalarındaki Profil Rehberli Optimizasyon Modu ayarı Optimize edilmiş olarak ayarlanmalıdır.
Profil Rehberli Optimizasyon etkinleştirilmiş olarak projenizi oluşturma
Profillerinizi yakalayıp projenize eklediğinize göre derleyici, derlemenizin optimizasyonunda ince ayar yapmak için bu verileri kullanabilir.
PGO için Optimize Edilmiş Derlemeniz için yeni bir proje yapılandırması oluşturun. Böylece, bu modda derleyebilirsiniz.
Şekil 7: PGO İçin Optimize Edilmiş Yeni Derleme yapılandırması oluşturma.
Proje mülkünde Profil Rehberli Optimizasyon Modu ayarını yapın Optimize edilmiş olarak ayarlayabilirsiniz.
Şekil 8: PGO Optimizasyon modunun "Optimize edilmiş" olarak ayarlanması.
Cihazdaki dosyaları kopyalayın ve Çözüm'deki projenize ekleyin öğrenin. Bu profil verisi dosyaları, bir dahaki sefere derleyici tarafından seçilir PGO için Optimize Edilmiş yapılandırmanızı oluşturursunuz ve derleyicinin kodunuzu optimize eder.
Profil verisi dosyalarını ADB kullanarak cihazdan projenize kopyalayabilirsiniz. veya Android Cihaz Gezgini'ni kullanarak oluşturabilirsiniz.
AGDE dışında Profil Rehberli Optimizasyonu kullanma
AGDE tarafından desteklenmeyen bir derleme sistemi kullanıyorsanız
düzenlemenizi sağlar. Clang's
belgeleri
gerekli anahtarları kapsar – -fprofile-generate
ve
-fprofile-use
.
Oyununuz için bir ara katman yazılımı motoru kullanıyorsanız dokümanlara bakın PGO'yu nasıl etkinleştireceğinizi görmek için motorunuzu kontrol edin (destekleniyorsa).