Unity性能调优手册11PlayerSettings:脚本运行环境,代码裁剪

翻译自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,请根据实际情况调整频率。如果您不使用加速度计,请确保禁用该设置。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值