查看: 733|回复: 0
打印 上一主题 下一主题

[其他] 关于批处理方面的资料总结

[复制链接]
may    

8830

主题

81

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
52336
精华
343

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2015-11-30 01:09:12 |只看该作者 |倒序浏览

动态批处理:

优点:
1.不需要代码控制
2.优化许多物体的时候不会引起卡顿
3.支持每一个物体的剔除
4.物体可以移动旋转
5.物体可以生成销毁

缺点:
1.如果有点光源和探照灯则无法起作用
2.物体必须使用统一的缩放
关于动态批处理,之前有个误解,以为通过ctrl+d复制出来的进行动态批处理,而通过代码instantiate出来的则不进行批处理,这一点是错误的,主要原因是上述缺点第一条造成的,因为有光所以instantiate出来的物体没有进行批处理

静态批处理:

优点:
1.没有点光源和探照灯的情况下可以大幅减少draw call
2.有点光源和探照灯的情况下可以减少draw call
3.支持每一个物体的剔除
4.物体可以销毁

缺点:
1.为了优化防止卡顿需要大量代码控制
2.如果有点光源和探照灯则无法起作用和合并网格一样
3.物体必须使用统一的缩放
4.批处理之后物体不能被移动
5.为了优化新创建的物体必须重新批处理

网格合并:
优点:
1.在各种照明情况下工作良好
2.在任何缩放下工作良好
缺点:
1.避免优化产生的滞后尖峰需要代码做很多工作
2.不支持单个物体的剔除,造成大量计算屏幕外物体的资源浪费
3.物体合并之后不能移动,除非移动之后重新合并
4.物体合并之后不能创建和销毁,同样除非事后重新合并
5.需要更多的内存去存储合并之后的网格

比较好的做法:
尽量使用动态批处理
原文链接
http://answers.unity3d.com/questions/197415/dynamic-batching-and-instantiating.html
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-14 15:08 , Processed in 0.306632 second(s), 28 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部