单个函数一数据为局部变量(临时变量)和成员变量对游戏CPU速度的影响。

Profiler对函数SerchObjectMore分析:

1.targetObjects不管是局部变量(临时变量)还是成员变量,100个GameObject实验其对CPU的影响差异没有显著性差异。【采用完全随机试验2处理3重复取3次观测值的平均值】

2.分别设置为:

GameObject[] targetObjects

GameObject[] targetObjects = new GameObject[100]

GameObject[] targetObjects = new GameObject[500]

GameObject[] targetObjects = new GameObject[1000]

装填100个GameObject实验其对CPU的影响差异没有显著性差异。【采用完全随机试验4处理2重复取4次观测值的平均值】

结论:就这一个函数添加100个GameObject。虽然不管是局部变量(临时变量)还是成员变量,或开始就设置数组大小,都对CPU消耗时间没有显著的差异,但是遵循尽量避免在Update和for循环内创建临时变量[1],所以选用成员变量。

测试函数:

 GameObject[] targetObjects;
 public virtual void SerchObjectMore()
    {
        if (targetObject == null)
        {
            if (tag == "Side1")
            {
                 targetObjects = GameObject.FindGameObjectsWithTag("Side2"); //获得敌人的Object
                if (targetObjects != null)
                {
                    if (targetObjects.Length > 1)
                        targetObject = ChoiceObject(targetObjects, favoriteChoice);
                    else
                        targetObject = GameObject.FindWithTag("Side2");
                }
            }
            else if (tag == "Side2")
            {
                 targetObjects = GameObject.FindGameObjectsWithTag("Side1");
                if (targetObjects != null)
                {
                    if (targetObjects.Length > 1)
                        targetObject = ChoiceObject(targetObjects, favoriteChoice);
                    else
                        targetObject = GameObject.FindWithTag("Side1");
                }
            }
        }
    }

第2号试验的分析结果:

矫正数=1124.62459453125
总平方和=5.40628671874993
总自由度=7
处理间平方和=1.18687109374991
处理间自由度=3
误差平方和=4.21941562500001
误差自由度=4
变异原因           SS           df           MS           F           F0.01
处理间      1.18687109374991   3   0.395623697916638    0.375050701876886^    16.69
误差         4.21941562500001   4   1.05485390625
总变异      5.40628671874993   7
平均数1=12.23875
平均数2=12.235
平均数3=11.5625
平均数4=11.39
Sd =Sqr(2*1.05485390625/2)=1.02706080942172
LSD001=4.72858796657761
LSD005=2.8511208069547
差异显著性表     
处理     平均数-A4   平均数-A3   平均数-A2   
A1=12.239  0.849  0.676  0.004
A2=12.235  0.845  0.672  0
A3=11.562  0.172  0  0
A4=11.39  0  0  0
S =Sqr(1.05485390625/2)=0.726241663033044
最小显著极差
SSR0.05=3.93  SSR0.05=4  SSR0.05=4.02  
SSR0.01=6.51  SSR0.01=6.8  SSR0.01=6.9  
LSR0.05=2.854  LSR0.05=2.905  LSR0.05=2.919  
LSR0.01=4.728  LSR0.01=4.938  LSR0.01=5.011  
新复极差检验~~~~~~~~~~~~~~~
ShowAlphabetTable
处理     5% 1% 
A1=12.239  a  A
A2=12.235  a  A
A3=11.562  a  A
A4=11.39  a  A
差异显著性表     
处理     平均数-A4   平均数-A3   平均数-A2   
A1=12.239  0.849  0.676  0.004
A2=12.235  0.845  0.672  0
A3=11.562  0.172  0  0
A4=11.39  0  0  0

[1]游戏扶持by腾讯游戏学院.Unity性能优化之代码优化小技巧.

2018-9-12/2022-12-3.

https://www.gameres.com/821584.html.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值