Configurazione dell'ottimizzazione guidata dal profilo in Visual Studio

In AGDE è stato introdotto il supporto dell'ottimizzazione guidata al profilo versione 22.2.71.

Individuazione delle impostazioni PGO

Apri le impostazioni del progetto da Esplora soluzioni.

Il menu delle proprietà di Esplora soluzioni di Visual Studio per la campagna corrente
progetto.

Figura 1: la finestra Esplora soluzioni di Visual Studio.

Assicurati che la piattaforma sia impostata su una configurazione Android (ad esempio, Android-arm64-v8a).

Nel riquadro di sinistra, seleziona Proprietà di configurazione > Generali. Cerca il gruppo di proprietà PGO.

La finestra di dialogo delle proprietà del progetto in cui sono mostrate le proprietà generali e le impostazioni di PGO
in evidenza

Figura 2: la finestra di dialogo Proprietà del progetto.

Abilita le build con strumenti PGO nel progetto

Aggiungi al tuo progetto una nuova configurazione denominata Instrumented. Si basa su configurazione che utilizzi durante lo sviluppo per i test, che dovrebbe essere la tradizionale build ottimizzata (puoi comunque avere altre attivate se conservi le impostazioni di ottimizzazione del compilatore).

Fai clic su Configuration Manager... nella finestra di dialogo della pagina Proprietà.

La parte superiore della finestra di dialogo Pagine delle proprietà, in cui è mostrata la soluzione attiva
nei menu a discesa Configurazione e piattaforma e il pulsante Gestione configurazione
pulsante

Figura 3: la finestra di dialogo Gestore di configurazione.

Nella finestra di dialogo Gestione configurazione, seleziona Soluzione attiva configurazione e scegli <New...>.

La finestra di dialogo Configuration Manager, con la sezione Active Solution Configuration
è aperto il menu a discesa, quindi l&#39;opzione
in evidenza.

Figura 4: creazione di una nuova configurazione di build.

... e creo una nuova configurazione con strumentazione PGO.

La finestra di dialogo Nuova configurazione della soluzione, in cui viene creata una nuova build con strumenti PGO
configurazione basata sulla build della release esistente
configurazione

Figura 5: la finestra di dialogo Nuova configurazione della soluzione.

Per abilitare la creazione in modalità con strumentazione PGO, in modo da poter generare un profilo per il tuo gioco, seleziona Intrusato dall'elenco di opzioni per Impostazione della Modalità di ottimizzazione guidata dal profilo.

La finestra di dialogo Proprietà del progetto, aperta nelle impostazioni generali, con il PGO
e la modalità di ottimizzazione guidata del profilo è impostata su
Strumentati.

Figura 6: la finestra di dialogo Proprietà del progetto in cui sono evidenziate le impostazioni di PGO.

Per l'impostazione Profili di ottimizzazione guidata, inserisci il percorso in cui scrivere il file di dati del profilo di output non elaborato sul tuo dispositivo Android. Generalmente questo valore è simile a /data/data/<package name>/cache/, dove <package name> è il nome completo del pacchetto APK, ad esempio com.google.sample.tunnel.

Per informazioni più dettagliate su come funziona, consulta la sezione Clang documentazione.

Scrittura di dati del profilo PGO-Instrumented sul tuo dispositivo in corso...

I dati PGO vengono solitamente scritti sul dispositivo dal sistema di strumentazione PGO quando esce da un processo. Su Android, le app non si chiudono, sono sempre chiuse. Questo significa che l'impostazione predefinita "scrivi su disco" di funzionalità non si attiva mai, richiedendo per scrivere manualmente i dati PGO.

La tua app devi chiamare esplicitamente __llvm_profile_write_file per scrivere il i dati del tuo profilo. Questo simbolo è disponibile solo quando si crea una strumentazione PGO creare. Per semplificare questa operazione, ti consigliamo di utilizzare il seguente pattern quando con la dichiarazione __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

La chiamata di questa funzione scrive i dati del profilo nella cartella specificata in precedenza.

Esecuzione di un'esecuzione del profilo

Per generare il profilo, esegui l'APK creato con la strumentazione PGO sulla dispositivo di destinazione. Dopo aver utilizzato il codice in modo soddisfacente e dopo ha attivato la chiamata alla funzione __llvm_profile_write_file, la tua app i dati del profilo nello spazio di archiviazione.

A questo punto, copia i profili dal dispositivo per utilizzarli con il compilatore.

Preparazione dei dati del profilo per l'utilizzo da parte del compilatore

Se utilizzato in modo isolato, lo strumento a riga di comando llvm-profdata viene spedito come parte di clang/LLVM nel NDK di Android viene usato per preparare i file di dati del profilo da usare dal compilatore durante l'ottimizzazione guidata dal profilo di una build.

AGDE esegue automaticamente questo passaggio unendo tutti i profili i file di dati aggiunti al progetto e di utilizzarli quando L'impostazione della Modalità di ottimizzazione guidata dal profilo nelle pagine delle proprietà del progetto è impostata su Ottimizzata.

Creazione del tuo progetto con l'ottimizzazione guidata dal profilo attivata

Ora che hai acquisito i tuoi profili e li hai aggiunti al tuo progetto, può utilizzare questi dati per ottimizzare l'ottimizzazione della build.

Creare una nuova configurazione di progetto per la build ottimizzata per PGO, in modo da in questa modalità quando necessario.

La finestra di dialogo Nuova configurazione soluzione in cui viene creata una configurazione di compilazione basata su
la build della release, ma questa volta con PGO-Optimized come nuova build
del nome della configurazione.

Figura 7: creazione di una nuova configurazione della build ottimizzata per PGO.

Configura l'impostazione Modalità di ottimizzazione guidata dal profilo nella proprietà del progetto. pagine su Ottimizzato.

La finestra di dialogo Proprietà del progetto, aperta nelle impostazioni generali, con il PGO
e la modalità di ottimizzazione guidata del profilo è impostata su
Ottimizzato

Figura 8: impostazione della modalità di ottimizzazione PGO su Ottimizzata.

Copia i file dal dispositivo e aggiungili al tuo progetto nella sezione Soluzione Spazio di esplorazione. Questi file di dati del profilo vengono selezionati dal compilatore la volta successiva per creare la tua configurazione ottimizzata per PGO e usata per regolare il modo per ottimizzare il codice.

Puoi copiare i file di dati del profilo nel tuo progetto dal dispositivo utilizzando ADB, o utilizzando Esplora dispositivi Android.

Utilizzare l'ottimizzazione guidata dal profilo al di fuori di AGDE

Se utilizzi un sistema di compilazione non supportato da AGDE, potrebbe essere necessario e modificare direttamente la build. Clang documentazione copre gli interruttori necessari: -fprofile-generate, e -fprofile-use.

Se utilizzi un motore middleware per il tuo gioco, consulta la documentazione per il tuo motore per vedere come attivare PGO (se supportato).