[Unity优化]批处理02:动态批处理
发布日期:2021-08-13 04:05:39 浏览次数:17 分类:技术文章

本文共 617 字,大约阅读时间需要 2 分钟。

参考链接:

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。图一使用平行光,图二使用点光源

posted on
2019-04-27 18:35  阅读(
...) 评论(
...) 收藏

转载于:https://www.cnblogs.com/lyh916/p/10779688.html

转载地址:https://blog.csdn.net/weixin_30675247/article/details/98998293 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:39个让你受益的HTML5教程
下一篇:beautifulsoup功能

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月11日 05时43分52秒