Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
为尺寸优化构建¶
依据¶
有时, 需要针对大小而不是速度来优化构建. 这意味着不编译引擎上的未使用的函数, 以及使用特定的编译器标志来帮助减小构建大小. 常见情况包括为移动和Web平台创建构建.
本教程旨在概述创建较小二进制文件的不同方法. 在继续之前, 建议阅读之前有关为每个平台编译Godot的教程.
下面的选项按照从最重要(大小节省得最多)到最不重要(大小节省得最少)的顺序排列。
剥离二进制文件¶
节省空间:非常高
难度:简单
在官方构建中执行:是
如果你从源码构建了 Windows(MinGW)、Linux、macOS 的二进制文件,请记得剥离二进制文件中的调试符号。首先请安装你的发行版中的 strip
包,然后执行:
strip path/to/godot.binary
在 Windows 上,大多数 MinGW 工具链安装时都会包含 strip.exe
。
这样可以将编译后二进制文件减少到原先五分之一到十分之一的大小。缺点是崩溃追踪中就无法再提供准确的信息了(可用于查找崩溃原因)。C++ 性能分析器也将无法显示函数名称(不影响内置的 GDScript 性能分析器)。
备注
The above command will not work on Windows binaries compiled with MSVC
and platforms such as Android and Web. Instead, pass debug_symbols=no
on the SCons command line when compiling.
编译时使用连接时间优化¶
节省空间:高
难度:简单
在官方构建中执行:是
启用链接时优化可以在性能和文件大小方面生成更高效的二进制文件. 它通过消除重复的模板功能和未使用的代码来工作. 目前, 它可以与GCC和MSVC编译器一起使用:
scons target=template_release lto=full
使用此选项时,链接会变得特别慢、消耗更多的内存,所以应该仅用于构建发布版本:
编译
master
分支时,如果启用了 LTO,那么你需要至少 8 GB 可用内存才能成功链接。编译
3.x
分支时,如果启用了 LTO,那么你需要至少 6 GB 可用内存才能成功链接。
针对大小而不是速度优化¶
节省空间:高
难度:简单
Performed in official builds: Yes, but only for web builds
Godot 3.1以上版本允许使用尺寸优化(而不是速度优化)进行编译. 要启用这个功能, 请将 optimize
标志设置为