Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Perfetto

Vedi anche

Consultare le istruzioni per il profiler di tracciamento per ulteriori informazioni.

Perfetto è il sistema di tracciamento predefinito per Android. Infatti, il suo servizio di tracciamento di sistema è integrato nella piattaforma a partire da Android 9.

Utilizzare i modelli con Perfetto ufficiali

A partire da Godot 4.7, i modelli di esportazione con Perfetto sono disponibili per ogni versione stabile di Godot e si possono scaricare dalla pagina dei rilasci su GitHub.

Utilizzare il modello di compilazione Gradle

  • Accedere alla pagina dei rilasci e scaricare l'artefatto di rilascio Godot_v<godot_version>_android_source.perfetto.zip dove godot_version corrisponde alla versione del motore in uso.

  • Nella finestra Progetto > Esporta, è necessario abilitare Opzioni avanzate e Usa Build Gradle.

  • Puntare Android Source Template al modello di esportazione scaricato.

../../../_images/cpp_profiler_perfetto_gradle_build_config.webp

Seguire le istruzioni nella sezione Configurazione per imparare come configurare e creare una traccia.

Utilizzare i modelli di compilazione non-gradle

  • Accedere alla pagina di rilascio e scaricare i seguenti artefatti di rilascio, dove godot_version corrisponde alla versione del motore in uso:

    • Godot_v<godot_version>_android_debug.perfetto.apk (per le build di debug)

    • Godot_v<versione_godot>_android_release.perfetto.apk (per le build di rilascio)

  • Nella finestra di dialogo Progetto > Esporta:

    • Opzioni avanzate deve essere abilitato

    • L'opzione Usa Gradle Build deve essere disabilitata

  • Puntare il Modello personalizzato ai modelli di esportazione scaricati.

../../../_images/cpp_profiler_perfetto_non_gradle_build_config.webp

Seguire le istruzioni nella sezione Configurazione per imparare come configurare e creare una traccia.

Build di Godot personalizzate con supporto di Perfetto

Dalla cartella principale godot, eseguire il seguente script Python per installare l'ultima versione dell'SDK Perfetto nella cartella thirdparty/perfetto:

python misc/scripts/install_perfetto.py

Successivamente, creare i modelli di debug o di rilascio per Android per la architettura attraverso scons (come descritto in Compilare per Android), ma aggiungendo l'argomento profiler=perfetto.

Nota

In genere si consiglia di profilare i modelli di rilascio, perché è la versione che i giocatori useranno e avrà prestazioni diverse rispetto ad altri tipi di build. Tuttavia, nel caso di Android, a volte può essere utile usare modelli di debug, perché Godot può eseguire il debug remoto solo dei giochi esportati dai modelli di debug.

Ad esempio, per compilare i modelli di rilascio per arm64:

scons platform=android target=template_release arch=arm64 generate_android_binaries=yes profiler=perfetto

Configurazione

Perfetto richiede un file di configurazione che gli indichi quali eventi tracciare.

Creare un file chiamato godot.config con il seguente contenuto:

# Trace for 10 seconds.
duration_ms: 10000

buffers {
    size_kb: 32768
    fill_policy: RING_BUFFER
}

# Write to file once every second to prevent overflowing the buffer.
write_into_file: true
file_write_period_ms: 1000

# Track events in the "godot" category.
data_sources {
    config {
        name: "track_event"
        track_event_config {
            enabled_categories: "godot"
        }
    }
}

Nota

Godot registra due categorie di eventi di traccia:

  • godot: usato per registrare gli eventi del motore Godot. Serve per l'analisi delle prestazioni. Il sovraccarico dovuto alla tracciatura di questi eventi non dovrebbe influire significativamente sulle prestazioni. Questa dovrebbe essere la modalità di tracciatura tipica per la maggior parte degli sviluppatori.

  • godot_scripting: usato per registrare gli eventi di scripting di Godot. Questa categoria è lenta in quanto profila l'intera logica di scripting del gioco. Serve per comprendere codice, per motivi di debug, e per individuare le cause di un rallentamento. Le prestazioni sono molto più lente, ma aiuta a trovare quella chiamata di funzione problematica che altrimenti sarebbe rimasta nascosta.

Registrare una traccia

Infine, avviare il tuo gioco su un dispositivo Android utilizzando i modelli di esportazione compilati prima.

Quando si è pronti a registrare una traccia (ad esempio, dopo aver raggiunto la parte del gioco che presenta problemi di prestazioni), si può utilizzare questo script dal repository di Perfetto su Github.

./record_android_trace -c /path/to/godot.config

La registrazione durerà 10 secondi (in base alla configurazione) o finché non si preme Ctrl + C.

Esaminare la traccia

Appena lo script termina, si avvierà l'interfaccia utente di Perfetto in un browser web.

Per visualizzare gli eventi di Godot, espandere la riga relativa all'applicazione cliccando sul suo Nome univoco / Nome del pacchetto / ID app di Android (Perfetto includerà nella traccia anche alcuni eventi dei servizi di sistema).

../../../_images/cpp_profiler_perfetto.webp

Quindi si possono premere i tasti WASD per navigare nel grafico:

  • Premere A o D per navigare avanti o indietro lungo la timeline

  • Premere W o S per ingrandire o ridurre lo zoom

Probabilmente sarà necessario ingrandire un po' prima di riuscire a vedere i singoli eventi da Godot.

Per saperne di più, consultare la documentazione di Perfetto UI.