真Unity3d_场景和模型的优化和压缩(入门)

静态批处理和动态批处理

(以下测试前提是在Editor环境,和手机环境肯定不同,不过不影响结论的推断)

多的不说了,我们的选择只有2个,不是A就是B,就好像一个定理,你如果不是蠢人,那么你就是蠢人

我们先来看看静态批处理:

- 网上很多关于静态批处理的言论几乎清一色是“空间换时间”,“省了CPU,但是占内存”

- 但事实真的如此吗???

1.没有静态的很多树,可以看到Saved by batching == 0

2.树已经设置为静态, 明显是Saved by batching == 99,(我已经挑了最好一帧截图,实际帧率在155~190之间)

静态批处理言过其实

结论是:设了静态批处理,确实是可以做到Saved By batching, 但完全没有卵用,减少了DrawCall,内存一点没变,PASS也没变,静态批处理所减少的Draw Call,只是减少了渲染Shader处理的其中一个环节,对整体游戏和渲染影响有限

在单一树这种简单情况下,静态批处理根本不可能提高帧率

(或者某些特定情况静态批处理可以有其关键作用,但连这么简单的环境都不起作用,可以果断弃坑,就让网上那些无知的人继续自嗨吧)

所以:静态批处理就是入门中的入门,在实际项目组中根本不会用到

(其实这几年Unity发展很快,很多信息和测试被披露,现在也很少人谈到DrawCall和批处理了)

静态批处理不用说了,下一个文章再说说动态批处理

(A不行,那 B肯定应该行了吧,会好一点,可是都不是重点,例如,不是男就是女,是不是男的比女的容易成才?显然不是的,男女只是识别人的其中一个维度,成才的关键并不在于这个维度,明天希望把动态批处理优化说清楚,以及对整个场景优化问题做个总结)

最后,放大招,帧率可以直接上到666??

3.直接设为Cast Shadows == off

3.1 同样的树,不是静态。。。。。

 

原理:减少了Shadow也就是减少了绘制的面+绘制步骤,而不单单是减少Drawcall,不过这和静态和动态批处理并不属于的同一纬度,只是测试好玩,不能完全说明A方法就是比B方法好,或者用某一种方法就是最优解(若这世界有标准答案,那现在还在搞科研的在搞什么??)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

avi9111

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值