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.

Usar perfiladores de C++

Para optimizar el rendimiento de Godot, es necesario saber qué aspectos optimizar primero. Para lograr esto, los perfiles son herramientas útiles.

Nota

There is a built-in GDScript profiler in the editor, but using a C++ profiler may be useful in cases where the GDScript profiler is not accurate enough or is missing information due to bugs in the profiler.

Existen dos tipos principales de perfiladores: perfiladores de muestreo y perfiladores de rastreo.

Sampling profilers periodically interrupt the running program and take a "sample", which records which functions are running. Using this information, the profiler estimates which functions the program spent the most time in.

Tracing profilers work by recording application-specific events (such as the start and end of a single frame), producing a log called a "trace". The profiler can use the trace to produce a graph showing an accurate high-level timeline of what happened. However, any code that is not explicitly instrumented will not appear in a tracing profiler's timeline!

Godot supports both sampling profilers and tracing profilers, and already includes the logging code for common Godot events for use with a tracing profiler!

Different problems may be easier to debug with one kind of profiler over the other, but it's difficult to provide a set of rules for which to use. Give both a try, and see what you can learn from them!

Sampling profilers

We recommend the following sampling profilers:

Estos perfiladores pueden no ser las opciones más poderosas o flexibles, pero su operación independiente y conjunto limitado de características tiende a hacerlos más fáciles de usar.

Configurar Godot

Para obtener información de perfilación útil, es absolutamente necesario utilizar una compilación de Godot que incluya símbolos de depuración. Los binarios oficiales no incluyen símbolos de depuración, ya que esto aumentaría significativamente el tamaño de la descarga.

Para obtener datos de perfilado que se ajusten mejor al entorno de producción (pero con símbolos de depuración), deberás compilar los binarios con las siguientes opciones de SCons production=yes debug_symbols=yes.

It is possible to run a profiler on less optimized builds (e.g. target=template_debug without LTO), but results will naturally be less representative of real world conditions.

Advertencia

No elimines los símbolos de depuración en los binarios usando el comando strip después de compilarlos. De lo contrario, ya no obtendrás información de perfilación útil al ejecutar un perfilador.

Realización de pruebas de referencia de los tiempos de inicio/apagado

If you're looking into optimizing Godot's startup/shutdown performance, you can tell the profiler to use the --quit command line option on the Godot binary. This will exit Godot just after it's done starting. The --quit option works with --editor, --project-manager, and --path <path to project directory> (which runs a project directly).

Ver también

Véase Tutorial de línea de comandos para obtener más información sobre los argumentos de línea de comandos admitidos por Godot.

Tracing profilers

Godot currently supports three tracing profilers:

Nota

Perfetto is the default tracing system for Android, so pre-built export templates with Perfetto built-in and enabled are provided from the GitHub Releases page.

In order to use either of them, you'll need to build the engine from source. If you've never done this before, please read these docs for the platform you want to profile on. You'll need to perform the same steps here, but with some additional arguments for scons.