翻译自https://github.com/CyberAgentGameEntertainment/UnityPerformanceTuningBible/
PlayerSettings
脚本运行环境
Unity允许您在Mono和IL2CPP之间进行选择,作为Android和Standalone (Windows, macOS, Linux)等平台的脚本后端。我们建议选择IL2CPP,性能会有所提高。
此外,将脚本后端更改为IL2CPP也将更改c 可选择“Compiler Configuration 编译器配置”。
在这里,您可以在Debug、Release和Master之间进行选择,每一个都在构建时间和优化程度之间进行权衡,因此最好使用最适合您的构建目标的那个。
Debug
调试在运行时表现不佳,因为没有执行优化,但与其他设置相比,构建时间最短。
Release
优化提高了运行时性能,减少了构建的二进制文件的大小,但增加了构建时间。 手游项目使用的是Release
Master
平台可用的所有优化都已启用。例如,Windows构建将使用更积极的优化,如链接时间代码生成(LTCG)。 作为回报,构建时间将比发布设置更长,但Unity建议在可接受的情况下使用Master设置进行生产构建。
Strip Engine Code / Managed Stripping Level
Strip Engine Code剥离引擎代码是一个Unity功能,允许你设置托管剥离Level来自通过编译c#生成的CIL字节码,并且期望通过分别删除未使用的代码来减少构建的二进制文件的大小。 但是,由于确定是否使用给定代码非常依赖于代码中没有直接引用的类型,或者在反射中动态调用的代码,可能会被错误地删除。 在这种情况下,使用link.xml文件或指定Preserve属性。* 1 *1 https://docs.unity3d.com/2020.3/Documentation/Manual/ManagedCodeStripping.html 译者增加部分 对于lua调用C#,主要会被代码剪裁影响,这时你可以配置ReflectionUse(不要配LuaCallSharp),执行“Generate Code”,这时不会对该类生成封装代码,而是生成link.xml把该类配置为不剪裁。 手游项目中使用
Accelerometer Frequency (iOS)
这是一个ios特有的设置,允许你改变加速度计的采样频率。默认设置为60hz,请根据实际情况调整频率。如果您不使用加速度计,请确保禁用该设置。