首页 > 编程知识 正文

draw和paint区别,coreldraw软件

时间:2023-05-04 07:03:28 阅读:20958 作者:1591

DrawCall顾名思义,就是有启动器和收件人。 启动器是CPU,收件人是GPU。 也就是说,绘制调用是CPU向GPU启动的命令,它只是指向需要渲染的基本体列表。

给定DrawCall后,GPU将基于渲染状态(如材质、纹理和着色器)和所有输入的顶点数据进行计算,并最终输出到屏幕上显示的像素。 此过程称为渲染管线(渲染管线)

绘制管线分为几何阶段和光栅化阶段,整个过程是将顶点数据转换为屏幕数据;

GPU渲染管线在应用阶段加载到图形内存中,并接收由绘制调用指定的顶点数据作为输入,然后传递给顶点着色器。 “顶点着色器”(vertex shader )是完全可编程的,通常用于提供顶点空间变换和顶点着色等功能。

DrawCall还具有被认为是CPU调用的图像编程接口,如OpenGL的glDrawElements命令和DX的DrawIndexedPrimitive命令。

CPU和GPU通过存储CPU指令的指令缓冲器实现并行动作,GPU从其中取出指令并执行; DrawCall是CPU提交到命令缓冲区的命令之一,DrawCall越多,CPU提交的次数就越多。 与读取文件一样,过多的次数会占用CPU大量时间来提交CPU,从而导致CPU过载。 因此,我们得出的结论是,在DrawCall中引起性能问题的mldyg是CPU而不是GPU。

一种通用方法减少绘制调用:合并静态物体网格,并将多个小绘制调用合并为一个大绘制调用。 但是,运动的物体不太适合合并网格处理,空间和时间会影响。

开发中尽量不要大量使用小网格; 尽可能在不同的网格之间共享一种材质,而不使用很多材质。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。