到底谁在渲染,GPU或CPU?

渲染主要是指通过软件模型生成图像的过程。程序计算要绘制的图形的几何,顶点和其他信息,然后获取图像。在此过程中,计算机的处理器需要执行线性代数(矩阵)和微积分等操作。

首先要确认的是CPU和GPU都可以执行渲染任务。但是,由于一系列原因,CPU在日常使用中承担的渲染任务的比例越来越小。在今天的图形界面和越来越多的3D游戏中,CPU并没有假设渲染任务的“感觉”,但事实上,CPU仍然可以执行渲染任务,而CPU也在GPU渲染过程中做了一些工作。

要理解这个问题,我们需要从最早的图形界面开始。自从Xerox的Palo Alto研究中心(着名的PARC)开发图形计算机界面以来,计算机的使用发生了重大变化。但是,从那时起的一段时间内,通用计算机内部没有处理2D图像的处理器,但当时的图形界面非常简单,因此CPU可以完成渲染任务,但自20世纪90年代以来,由于随着游戏等图形应用的出现,CPU的图形计算能力无法满足这些应用,因此在20世纪90年代,出现了专门处理图形显示的芯片,特别是在进行3D图形渲染,GPU中的硬件坐标转换等时。功能方面,CPU对图形的处理压力急剧下降。

实际上受益于处理器中的某些扩展,并且可以执行某些渲染任务

从那时起,显卡开始接管计算机系统中的图形处理。此外,由于高分辨率和高图像质量要求,CPU的单精度浮点性能无法满足这些复杂图像的渲染要求。此时,GPU接管了大部分图形渲染工作。

但是,除了仍然执行某些软件渲染任务之外,CPU仍然参与渲染任务。 CPU将参与其他渲染任务。显示芯片需要接受渲染指令来执行渲染任务,因此CPU承担任务。使用DirectX和OpenGL等图形API,处理器可以通过Draw Call指令向GPU发送渲染指令,然后GPU可以渲染。

因此,为了再次总结这个问题,在图形处理器出现之前,CPU负责渲染(主要用于当时的主流计算机,不计算工作站)。在图形处理器出现之后,GPU主要从事计算机渲染任务,但CPU需要通过一些指令来安排GPU渲染。因此CPU和GPU正在渲染。