有问有答:到底谁在渲染,GPU或CPU?

  超能网2天前我要分享

  渲染主要是指通过软件模型生成图像的过程。通过程序将需要绘制的图形的几何、顶点等信息进行运算,然后得到的图像。在这个过程中计算机的处理器需要进行线性代数(矩阵)、微积分等运算。

  首先需要确认的是,CPU和GPU都可以进行渲染任务。只不过由于一系列原因,在日常使用时CPU承担的渲染任务比重越来越小,在图形界面、3D游戏越来越多的今天,才会有CPU没有在承担渲染任务的“感觉”,但实际上CPU依旧可以执行渲染任务,而且也GPU渲染时,CPU也在承担着一些工作。

  image.php?url=0MiidyxVMY

  要讲清楚这个问题,需要从最早的图形化界面开始,自施乐公司的Palo Alto研究中心(著名的PARC)开发出图形化的计算机操作界面后,计算机的使用方式就开始发生了重大的变化。不过从那时开始的一段时间内,一般的计算机内部并没有专门处理2D图像的处理器,但那时的图形界面都非常简单,所以CPU就能完成渲染任务,但从上世纪90年代开始,由于游戏等图形应用的出现,CPU的图形计算能力满足不了这些应用,所以上世纪90年代左右,专门处理图形显示的芯片出现了,尤其是在做3D图形渲染时,GPU中的硬件坐标转换等功能,CPU对图形的处理压力大幅下降。

  image.php?url=0MiidyBZp6

  实际上得益于处理器中的一些扩展 指令集,也能进行一定的渲染任务

  也是从那时开始,显卡开始逐渐接管计算机系统中的图形处理。而且由于高分辨率、高画质要求,CPU的单精度浮点性能跟不上这些复杂画面的渲染需求,到此时GPU接管了大部分图形渲染工作。

  不过CPU依旧参与在渲染任务中,除了依旧会执行一些软件的渲染任务外。CPU会参与到渲染工作的其他任务。显示芯片执行渲染任务需要接受渲染指令,所以CPU就承担起了这个任务。通过如DirectX、OpenGL等图形API,处理器就可以通过Draw Call指令向GPU发送渲染指令,然后GPU进行渲染工作。

  所以再次总结一下这个问题,在图形处理器出现之前,电脑中CPU在负责渲染(主要针对当时的主流电脑,工作站不算),在图形处理器出现后,GPU在主要进行计算机的渲染任务,不过CPU需要通过一些指令调度GPU进行渲染。所以说CPU和GPU都在渲染。

  收藏举报投诉

达到当天最大量