【发布时间】:2012-12-08 19:58:38
【问题描述】:
软件渲染器必须至少在将图像数据写入帧缓冲区时与 GPU 进行通信(以这种或其他方式)。如果我将另外使用 gpgpu 进行计算,我的渲染器是否仍然是“软件”? 纯“软件”渲染器和 GPU 渲染器的界限在哪里?
维基百科说:
在渲染(计算机图形)上下文中,软件渲染是指无需任何专用图形硬件(如显卡)辅助的渲染过程。
这是否意味着软件渲染器可以发送到 GPU 的唯一工作是帧缓冲区填充,否则它将不是纯“软件”?
【问题讨论】:
软件渲染器必须至少在将图像数据写入帧缓冲区时与 GPU 进行通信(以这种或其他方式)。如果我将另外使用 gpgpu 进行计算,我的渲染器是否仍然是“软件”? 纯“软件”渲染器和 GPU 渲染器的界限在哪里?
维基百科说:
在渲染(计算机图形)上下文中,软件渲染是指无需任何专用图形硬件(如显卡)辅助的渲染过程。
这是否意味着软件渲染器可以发送到 GPU 的唯一工作是帧缓冲区填充,否则它将不是纯“软件”?
【问题讨论】:
我会说边界是您使用硬件的实际图形相关功能(以及实际的“专用图形硬件”,如纹理过滤、光栅化等)来与您在任何多核处理器中都可以(当然在较小程度上)发现的数据并行处理的单纯 GP GPU 功能相比,您的优势。当然最后一切都是在硬件上完成的,但是只是将一些算法移植到 GPU 上,而不使用 GPU 的图形相关硬件设施并不能神奇地使其成为硬件加速渲染,即使算法本身与渲染有关。
当然,这是一个更主观的答案(首先是一个相当哲学和离题的问题),我猜这个边界很松散。最后,这些定义通过最近将 GPU 发展为相当通用的并行处理器来进行测试。
【讨论】: