Unity 中的 10个代码优化小技巧

本文介绍了10个Unity代码优化技巧,包括合理计算矢量操作顺序、缓存transform、使用localPosition、减少引擎调用、避免getter和setter等,旨在提升游戏性能和帧率。通过测试代码展示,这些优化方法能显著减少运算时间和提高效率。
摘要由CSDN通过智能技术生成

Unity 中的 10个代码优化小技巧

又到了开学导员开会的时候。满屋子的学生听着比讲课还无聊空洞的东西,于是整齐地打开了手机。于是就在知乎看到了 默然的这篇文章:

Unite Talk 让INSIDE实现稳定60帧的工具,技巧和技术

该文翻译了 Unite 2016 《INSIDE》开发人员的演讲。其中介绍了 10 个 Unity 代码优化技巧。我觉得非常有意思和有启发性,但里面有些地方我持存疑态度,所以写篇文章进行记录,和验证。

1、通过合理的计算顺序来减少矢量操作次数

来看下面这几行代码:

Vector3 vec = new Vector3(1, 2, 3);
Vector3 nvec = vec * 3f * 2f;

Vector3 与 float 相乘,实际上是 Vector3 中的三个分量分别与 float 相乘,也就是进行了 三次乘法运算,然后返回乘后的 Vector3

那么对于上面的代码,vec 与 3f 相乘,进行了 3次 乘法运算,然后得到一个临时的 Vector3 我们称其为 temp。 然后 temp 与 2f 相乘,又进行了 3次 乘法运算。那么总共就进行了 6次 乘法运算。 但我们可以通过调整运算顺序来减少乘法次数:

Vector3 vec = new Vector3(1, 2, 3);
Vector3 nvec = vec * (3f * 2f);

这里我们只是加了一个括号,让 3f * 2f 先进行运算。那么这行代码的运算过程就是这样的:首先计算 3f * 2f 只需要一次乘法运算 得出 6f,然后计算 vec * 6f 需要三次乘法运算,得出最

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值