单个函数一数据为局部变量(临时变量)和成员变量对游戏CPU速度的影响。-创新互联-成都快上网建站

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

用Profiler对函数SerchObjectMore分析:

10年积累的成都网站设计、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先建设网站后付款的网站建设流程,更有长宁免费网站建设让你可以放心的选择与我们合作。

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.

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前文章:单个函数一数据为局部变量(临时变量)和成员变量对游戏CPU速度的影响。-创新互联
文章位置:http://kswjz.com/article/dgsgse.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流