【问题标题】:Do Graphics Cards boost speed of other rendering when we don't invoke DirectX or OpenGL?当我们不调用 DirectX 或 OpenGL 时,显卡是否会提高其他渲染的速度?
【发布时间】:2011-06-11 05:14:58
【问题描述】:

我很好奇显卡的一般工作原理。请赐教。

如果我们不调用诸如 DirectX 或 OpenGL 之类的图形库,显卡是否也会在屏幕上渲染所有其他内容?还是这些渲染计算都依赖CPU,由CPU渲染?

例如,如果我要创建一个简单的程序来加载图像并将其渲染到窗口框架上,不使用 DirectX 或 OpenGL,如果使用更快的显卡,是否可以更快地渲染该图像在这种情况下?或者如果我们不使用 DirectX 或 OpenGL,这是否完全取决于 CPU?

【问题讨论】:

  • 我目前的理解是,如果你用WPF写一个应用程序,你可以获得一些硬件加速的好处(不确定到什么程度)。我认为 WPF 无论如何都是 DirectX 之上的一层。
  • gamedev.stackexchange.com 上发布这个问题可能会更好

标签: performance image graphics hardware rendering


【解决方案1】:

简单的答案是“是”,在现代操作系统中,显卡确实会在屏幕上呈现大部分内容。这不是一个“显卡”问题,而是一个操作系统问题。该卡从 3dfx 天开始就可以做到这一点,但操作系统直到最近才将它用于窗口合成等。

对于您的示例,答案实际上取决于您用于呈现窗口的 API。可以想象一种远离操作系统的 API,它选择始终将图像数据保存在 CPU 内存中。如果每一帧都是通过将可见部分从 CPU 传输到 GPU 来显示的,那么 GPU 可能不会成为瓶颈(PCIE 可能会是)。但是,其他 API(希望是您使用的 API)可以将图像数据存储在 GPU 内存中,并且可以从 GPU 内存中显示可见部分,而无需每帧都遍历 PCIE。也就是说,窗口的“装饰”部分很可能是由一系列 OpenGL 或 DX 调用绘制的。

希望这能很好地回答问题吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-18
    • 1970-01-01
    • 2016-11-17
    • 2017-11-29
    • 1970-01-01
    • 2011-08-12
    • 1970-01-01
    • 2011-07-21
    相关资源
    最近更新 更多