Visual Studio'da Profile Dayalı Optimizasyonu Yapılandırma

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.

Geçerli öğe için Visual Studio Çözüm gezgini özellikler menüsü
belirler.

Ş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.

Genel özelliklerin ve PGO ayarlarının gösterildiği proje özellikleri iletişim kutusu
öne çıkarıldı

Ş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.

Mülk Sayfaları iletişim kutusunun en üst kısmında Etkin Çözüm'ün gösterilmesi
Yapılandırma ve Platform açılır listeleri ve Configuration Manager
düğme

Ş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.

Etkin Çözüm Yapılandırması bulunan Configuration Manager iletişim kutusu
açılır menüsünü açın ve Yeni seçeneğini
vurgulanıyor.

Şekil 4: Yeni derleme yapılandırması oluşturma.

... ve yeni bir PGO Enstrümanlı yapılandırma oluşturun.

PGO Araçlı yeni bir derleme oluşturan Yeni Çözüm Yapılandırması iletişim kutusu
mevcut Sürüm derlemesine göre yapılandırma
yapılandırma

Ş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ı.

PGO ile Genel ayarlarda açılan Proje Özellikleri iletişim kutusu
ayar gösterilir ve Profil Rehberli Optimizasyon modu
Enstrümanlı.

Ş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.

Şuna göre bir derleme yapılandırması oluşturan Yeni Çözüm Yapılandırması iletişim kutusu:
ama bu kez yeni derleme olarak PGO-Optimized ile
yapılandırma adına dokunun.

Ş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.

PGO ile Genel ayarlarda açılan Proje Özellikleri iletişim kutusu
ayar gösterilir ve Profil Rehberli Optimizasyon modu
Optimize edilmiş

Ş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).