Using the engine compilation configuration editor
Godot incluye un amplio conjunto de funciones integradas. Si bien esto es práctico, también implica que su tamaño binario es mayor de lo que podría ser, especialmente para proyectos que solo utilizan una pequeña parte de sus funciones.
Para reducir el tamaño binario, es posible compilar plantillas de exportación personalizadas con ciertas funciones deshabilitadas. Esto se describe en detalle en Optimizando una compilación para reducir el tamaño. Sin embargo, determinar qué funciones deben deshabilitarse puede ser una tarea tediosa. El editor de configuración de compilación del motor busca solucionar esto proporcionando una interfaz para visualizar y administrar estas funciones fácilmente, a la vez que permite detectar las funciones que se utilizan actualmente en el proyecto.
El te permite crear y administrar perfiles de compilación para tu proyecto de Godot.
A partir de ahora tienes dos posibilidades:
Ve la lista y desmarca manualmente las funciones que no necesites.
Utiliza el botón para detectar automáticamente las funciones que se utilizan actualmente en el proyecto y deshabilitar las que no se usan. Ten en cuenta que esto anulará la lista de funciones existente; por lo tanto, si has desmarcado manualmente algunos elementos, su estado se restablecerá en función de si el proyecto realmente utiliza la función.
Abrir el editor de configuración de compilación del motor
Al hacer clic en el botón , se ejecutará el paso de detección del proyecto. Esto puede tardar desde unos segundos hasta varios minutos, dependiendo del tamaño del proyecto. Una vez completada la detección, verás una lista actualizada de funciones con algunas deshabilitadas:
Lista de funciones actualizada después de usar la detección de características (ejemplo de la demostración de plataformas 3D)
Advertencia
Desmarcar las características en este cuadro de diálogo no reducirá el tamaño del binario directamente al exportar. Dado que solo es posible eliminar características del binario en tiempo de compilación, es necesario compilar plantillas de exportación personalizadas con el perfil de compilación especificado para aprovechar al máximo el editor de configuración de compilación del motor.
Ahora puede guardar el perfil de compilación haciendo clic en Guardar como en la parte superior. El perfil de compilación se puede guardar en cualquier ubicación, pero es recomendable guardarlo en la carpeta del proyecto y añadirlo al control de versiones para poder acceder a él más tarde cuando lo necesite. Esto también permite usar el control de versiones para realizar un seguimiento de los cambios en el perfil de compilación.
El perfil de compilación es un archivo JSON (y extensión .gdbuild) que se ve así después de la detección en el ejemplo anterior:
{
"disabled_build_options": {
"disable_navigation_3d": true,
"disable_xr": true,
"module_godot_physics_3d_enabled": false,
"module_msdfgen_enabled": false,
"module_openxr_enabled": false
},
"disabled_classes": [
"AESContext",
...
"ZIPReader"
],
"type": "build_profile"
}
Este archivo se puede pasar como una opción de SCons al compilar plantillas de exportación:
scons target=template_release build_profile=/path/to/profile.gdbuild
El sistema de compilación utilizará esto para deshabilitar las clases no utilizadas y reducir el tamaño binario como resultado.
Limitaciones
The functionality relies on reading the project's scenes and scripts. It will not be able to detect used features in the following scenarios:
Características que se utilizan en GDScripts que se crean mediante procedimiento y luego se ejecutan en tiempo de ejecución.
Features that are used in expressions.
Características utilizadas en GDExtensions, a menos que la vinculación del lenguaje permita definir clases utilizadas y la extensión utilice la funcionalidad. Consulte GH-104129 para obtener más información.
Features that are used in external PCKs loaded at runtime.
Certain edge cases may exist. If unsure, please open an issue on GitHub with a minimal reproduction project attached.
Ver también
You can achieve further size reductions by passing other options that reduce binary size. See Optimizando una compilación para reducir el tamaño for more information.