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.

Utilizzo dei profiler C++

Per ottimizzare le prestazioni di Godot, bisogna sapere prima cosa ottimizzare. A tal fine, i profiler sono strumenti utili.

Nota

Nell'editor è disponibile un profiler integrato per GDScript, ma un profiler C++ può essere utile nei casi in cui il profiler di GDScript non sia preciso abbastanza o manchi di informazioni a causa di bug.

Esistono due tipi principali di profiler: i profiler a campionamento e i profiler a tracciamento.

I profiler di campionamento interrompono periodicamente l'esecuzione del programma e prelevano un "campione", che registra quali funzioni sono in esecuzione. Tramite queste informazioni, il profiler stima in quali funzioni il programma ha impiegato la maggior parte del tempo.

I profiler di tracciamento funzionano registrando eventi specifici dell'applicazione (come l'inizio e la fine di un singolo frame), producendo un log chiamato "traccia". Il profiler può utilizzare la traccia per generare un grafico che mostra una cronologia accurata e di alto livello di ciò che è accaduto. Tuttavia, qualsiasi codice non esplicitamente strumentato non apparirà nella cronologia di un profiler di tracciamento!

Godot supporta sia i profiler di campionamento sia i profiler di tracciamento e include già codice per registrare gli eventi più comuni in Godot, per l'uso con un profiler di tracciamento!

Alcuni problemi possono essere più facili da risolvere con un tipo di profiler rispetto a un altro, ma è difficile fornire regole e istruzioni su quale usare. Provali entrambi e vedi cosa puoi imparare!

Profiler a campionamento

Raccomandiamo i seguenti profiler a campionamento:

Questi profiler potrebbero non essere le opzioni più potenti o flessibili, ma il loro funzionamento autonomo e l'insieme limitato di funzionalità tendono a renderli più facili da usare.

Configurazione di Godot

Per ottenere informazioni di profilazione utili, è assolutamente necessario utilizzare una build di Godot che includa i simboli di debug. I binari ufficiali non includono i simboli di debug, poiché questi aumenterebbero considerevolmente le dimensioni del download.

Per ottenere dati di profilazione che corrispondano al meglio all'ambiente di produzione (ma con simboli di debug), si dovrebbero compilare i binari con le opzioni di SCons production=yes debug_symbols=yes.

È possibile eseguire un profiler su build meno ottimizzate (ad esempio target=template_debug senza LTO), ma i risultati saranno naturalmente meno rappresentativi delle condizioni reali.

Avvertimento

Non rimuovere i simboli di debug dai file binari tramite il comando strip dopo la compilazione. Altrimenti, non si otterranno più informazioni di profilazione utili durante l'esecuzione di un profiler.

Benchmarking startup/shutdown times

Se si cerca di ottimizzare le prestazioni di avvio/arresto di Godot, è possibile indicare al profiler di usare l'opzione da riga di comando --quit sul binario di Godot. Questo chiuderà Godot subito dopo l'avvio. L'opzione --quit funziona con --editor, --project-manager e --path <percorso alla cartella del progetto> (che esegue direttamente un progetto).

Vedi anche

Consultare Tutorial sulla riga di comando per ulteriori argomenti di riga di comando supportati da Godot.

Profiler a tracciamento

Attualmente Godot supporta tre profiler a tracciamento:

Nota

Perfetto è il sistema di tracciamento predefinito per Android, quindi i modelli di esportazione precompilati con Perfetto integrato e abilitato sono disponibili nella pagina dei rilasci su GitHub.

Per utilizzare uno dei due, è necessario compilare il motore da sorgente. Se non l'hai mai fatto prima, consulta la documentazione per la piattaforma su cui desideri effettuare una profilazione. Dovrai effettuare gli stessi passaggi anche qui, ma con alcuni argomenti in più per scons.