什么是DrawCall CPU调用图像编程接口?
在应用Shader渲染管线时,当CPU准备场景数据并设置渲染状态时,将调用DrawCall命令并启动渲染过程
2 .为什么DrawCall变多会影响帧速率? 每次CPU调用DrawCall时,都需要向GPU发送很多数据、状态。 发送前,CPU需要执行从硬盘调用存储在显示器上的数据、设置的渲染状态和DrawCall命令的操作。 当CPU执行APP应用阶段时,GPU开始此次渲染。 GPU的渲染速度比CPU发送命令的速度快得多。 因此,性能受CPU提交速度的影响,如果DrawCall数量过多,CPU将花费大量时间提交命令
3 .如何减少DrawCall批处理:可以将许多较小的DrawCall合并为一个DrawCall,以减少CPU提交DrawCall的次数和时间,但不是所有情况都可以合并。 但是,合并网格需要很长时间,因此批处理适用于静态网格,也适用于在项目中选择静态的物体
合并需要注意:
请不要使用大量的小网格。 如果不可避免,请考虑整合
请不要使用太多的材质。 如果是同样的材质,我们可以很容易地整合