流星

流星消逝的时候,光明已在望。黑暗无论多么长,光明迟早总是会来的。

unity优化 有更新!

    主要是发觉端在android表现不好
    1:setpass大致等于实际材质数量,相同材质文件的不累加计数
    2:batch等于合并材质后实际渲染次数
    类似于1个meshrenderer带 5个材质球,2个A文件2个B文件1个A文件
    前2个A文件可以合并计算1次
    2次B计做一次
    1次A再记做一次
    所以建模时,使用相同材质的,尽量放在一起,如果与其他发生穿插,则batch会明显增大

    要减少setpass,使用相同材质的连接到同一个文件,而不要使用相同的参数和shader创建相同的材质
    假设10个网格都使用1个A文件10次,那么setpass是1
    但是如果用代码每个网格都创建1个A文件一样的材质(贴图和shader设置相同)则setpass为10

    现在客户端一个界面30-40个batch,原来没有做这块优化的时候一直没理,现在开始同步做优化
    争取在android低端机上也跑满60帧

    记录一下以下情况
    UGUI DrawCall,正交相机模式下。

    Image组件:
    尽量不要使用
    overrideSprite,这个玩意会导致DrawCall+1,即使是相同的Packing Tag

    ScrollView组件:
    尽量把Mask换成RectMask2D,当遮罩为矩形时,Mask会产生额外的DrawCall
    其他. Mask中的UI元素无法与其他batch,从而增加DrawCall。
    避免使用Mask组件/RectMask2D组件。

    Camera组件
    Screen Space-Camera模式:
    unity中UI的渲染是以Canvas为单位的,把一个Canvas里的UI元素移除到摄像机视锥体外,DrawCall可能不会减少
    经尝试,只有移除到很远处时,会减少DrawCall.
    如果不显示只是存放物件,则不要放到Canvas层级内,放到Canvas层级外,则不会有DrawCall

    validate