您好,欢迎来到Unity之家!   unity.jb51.net 
  • 首 页
  • 你问我答
  • 当前位置:首页 > 程序开发 > 开发经验 >
    DrawCall优化
    时间:2015-03-20 09:48 来源:Unity之家 作者:unity.jb51.net 浏览:收藏 挑错 推荐 打印



    Unity3D 对于移动平台的支持无可厚非,但是也有时候用Unity3D 开发出来的应用、游戏在移动终端上的运行有着明显的效率问题,

    比如卡、画质等各种问题。自己在做游戏开发的时候偶有所得。对于主要影响性能的因素做个总结。


    主要因素有:


    1.Drawcall 值过大


    Drawcall 值过大,所需要的 GPU 的处理性能较高,从而导致CPU的计算时间过长,于是就卡了。


    2.点、面过多


    点、面过多,GPU 根据不同面的效果展开计算,并且CPU计算的数据也多,所以效果出来了。


    由于Drawcall 值过大所引起的卡的问题我所做的优化方式有:


    1.对于模型

    Mesh 合并,有个不错的插件(DrawCall Minimizer   --->  直接上Asset Store 下载即可,免费的,而且有文档,很容易上手)

    2.对于UI:

    尽量避免使用Unity3D自带的 GUI 换用 NGUI或者EZGUI;因为这两个UI插件对于UI中的图片处理是将UI图片放置在一个 Atlas 中,一个 Atlas 对应一个Drawcall

    3.对于灯光

    可以使用 Unity3D 自带的  Lightmapping 插件来烘焙场景中的灯光效果到物体材质上

    4.对于场景

    可以使用 Unity3D 自带的 Occlusion Culling 插件把静止不动的场景元素烘焙出来

    5.对于特效

    尽量把材质纹理合并




    (责任编辑:脚印)
    免责声明:Unity之家部分内容来源于互联网,如有侵权,请联系我们,本站将立即进行处理。