drawcall,batch,setpass

nviada结论,1GHZ的CPU满载情况下能处理25K batch/s
针对2GHZ CPU设备,如果目标帧率30,假设20%CPU用于传递batch,那么每帧能处理的batch数量为25000 * 2 / 30 * 0.2 = 333
Oppo A5在项目中是中配机,2018年7月上市的千元机,高通骁龙1.8GHZ
结合项目中batch数量的实际情况,那么预计batch的消耗将占到CPU的20%量级

https://www.nvidia.de/docs/IO/8230/BatchBatchBatch.pdf

文章总结:
1:绘制一百万个物体每个物体十个三角形和绘制十个物体每个物体一百万个三角形,显然后者效率更高,不是因为在GPU上切换状态不够快,
不是因为在GPU上组织建立三角形很占用资源,不是因为在内核中传输数据很慢,而是因为batch数量导致CPU瓶颈。
2:不同的GPU,相同的CPU,triangles/batch较小时,每秒绘制triangles接近,因为GPU的速度远高于CPU,当triangles/batch增大时,GPU导致效率的区别。batch中triangles数量不影响CPU效率,
会影响GPU效率。
3:对CPU来说,CPU耗费的周期与batch数的提交数量是呈现线性关系的。
4:Batch指得就是一次draw call调用。GPU的速度要远远的高于CPU,绘制的瓶颈往往是CPU没有提交足够大的batch。CPU耗费了大量的时间在驱动和3D Runtime上面,而这些耗费和Batch的尺寸并没有直接关系,
为了绘制更多的三角形,想尽所有的办法整合batch,绘制更多的物体。

https://zhuanlan.zhihu.com/p/366779113

http://imgtec.eetrend.com/blog/2022/100558021.html
drawcall, batch,setpass

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值