zoukankan      html  css  js  c++  java
  • [Unity优化]批处理02:动态批处理

    参考链接:

    https://docs.unity3d.com/Manual/DrawCallBatching.html

    原理:

    cpu每帧把可以进行动态批处理的网格进行合并,再把合并后的数据传给gpu,使用同一个材质对其渲染

    条件限制:

    1.

    要求mesh不能超过900个顶点属性,同时不能超过300个顶点

    如果shader用到了Vertex Position, Normal and single UV,那么不能超过300个顶点

    如果shader用到了Vertex Position, Normal, UV0, UV1 and Tangent,那么不能超过180个顶点

    如下,Cube可以被批处理,Sphere不可以被批处理(单个Sphere顶点数>500)

    2.

    transform的scale属性不能有负值

    如下,图一均为(1,1,1),图二将其中一个改为(1,-0.1,1)

    3.

    使用不同的材质会破坏批处理

    4.

    多个pass的shader会破坏批处理

    如下,Cube使用的是默认材质Default-Material,对应shader为内置的Standard,是一个有多个pass的shader。图一使用平行光,图二使用点光源

  • 相关阅读:
    Git常用
    自学过程
    SpringJunitTest
    通过Maven更换环境配置文件
    MongDB的DateZone
    工具使用问题
    项目中遇到的关于Java的问题
    iTerm2使用Profiles自动登录
    脚本:将git项目下载到本地并启动
    一些新的认识
  • 原文地址:https://www.cnblogs.com/lyh916/p/10779688.html
Copyright © 2011-2022 走看看