Unity3d 性能优化

         众所周知,Unity3d 的性能优化是一个非常复杂的话题,根据不同的分类标准,可以分为不同的项目,根据以往参考别人的看法,本文将其归纳为为三大类:


    CPU

    

          DrawCall

                提起优化,就不得不提DrawCall,DrawCall 可以归纳为cpu向gpu的一次调用。

                Batching: 

                      Static Batching

                      Dynamic Batching

 

               将图片打包成图集:

          GC

               gc的调用时机,当堆内存不足是调用,或者自己调用

               

          

                                          


          

            

            


       GPU

             occlusion:

              

              减少顶点的数目:

                     优化模型:


              减少片元的数目:


       内存:


程序方面:

      01,务必删除脚本中为空或不需要的默认方法。

              查阅过一些资料,也曾向一位大牛问过,但是说实话,没找到让我信服答案,不过这条准则肯定是没毛病的。

      02,只在一个脚本中使用OnGUI方法。

               你就当这是废话吧!


      03,避免在OnGUI中对变量,方法进行更新,赋值。输入变量建议在upadate中进行。

              通过脚本测试发现,OnGUI的调用频率为update的2倍,通过查阅其它相关资料发现,有人说是至少两倍                   (未验证)

      04,不要频繁的去获取组件,如果需要,最好声明未变量。

               其实这里指的就应该是getcomponent, 客观的讲,我并没有进行相关的测试,从网上得到的结果是:                            Getcompont 有三个重载的版本,getcompont<T> ()  getComponet(System.type  type); getComponet(string                str); 并且它们三个的效率是依次递减的,另外最后一个还涉及的C#的反射机制,故效率可以说是低的可                      以。不行你试试,反正我暂时是懒得验证了!

      05,尽量使用整型数字,因为IPhone的浮点数计算能力很差

                后半句,我不确定,我从来都不屑于用Iphone, 没错,你猜的很对,太穷了,根本就买不起啊

      06,  尽量少的进行实例化(instantiate)对象,对于确实需要频繁重新生成的物体,可以使用对象池。

                这个我是深有体会,确实应该如此!记住就行,优化必备

      

   

             

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值