Graphics - Draw Call

DrawCall是指CPU调用图形编程接口进行渲染的操作,过多的DrawCall可能导致CPU过载。通过批处理技术可以减少DrawCall,提高性能。静态物体可一次性合并,动态物体则需每帧重新合并。

一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;

Draw Call

简单的说来,就是CPU调用图像编程接口,如OpenGL中的glDrawElements命令或者DirectX中的DrawIndexedPrimitive命令,以命令GPU进行渲染的操作;

Draw Call中造成性能的原因一般是CPU方面的原因;原因是每次调用Draw Call之前,CPU需要向GPU发送很多内容,包括数据、状态和命令等;在这一阶段,CPU需要完成很多工作,例如检查渲染状态等;而一旦CPU完成了这些准备工作,GPU就可以开始本次的渲染;GPU渲染能力很强,渲染200个或者2000个三角面通常没什么区别,如果Draw Call数量太多,CPU就会把大量时间花费在提交Draw Call上,造成CPU的过载;

要尽量减少Draw Call,可以使用批处理的思想,也就是把很多小的Draw Call合并成一个大的Draw Call;合并处理更适合那些静态的物体,如不会移动的物件等,这些静态物体只需要合并一次;也可以对动态物体进行合并,但由于其是不断运动的,所以每一帧都需要重新进行合并然后再发送给GPU,这对时间和空间都会造成一定影响;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

DoomGT

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

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

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

打赏作者

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

抵扣说明:

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

余额充值