【问题标题】:Wouldn't be better if Windows used directx to draw stuff?如果 Windows 使用 directx 来绘制东西会不会更好?
【发布时间】:2011-07-04 01:37:47
【问题描述】:

Windows 使用 GDI 来绘制它的窗口。 Directx 比 GDI 快得多。
如果他们使用 Directx 来绘制所有的东西,那不是很聪明吗?

【问题讨论】:

  • 我可能错了,但 Windows 7 不使用 DirectX 进行渲染,或者至少使用快速矢量图形 API?
  • 这与 C++ 无关。也就是说,这是一个很好的问题,但它不属于这里。我将作为题外话结束,但对于 SuperUser(尽管它是否属于那里值得怀疑)。
  • 我相信您已经意识到在编写 Windows 和 GDI 子系统时还没有发明 DirectX。更高版本的 Windows 已开始利用 DirectX 的某些功能,但 GDI 仍然存在。它负责更多的事情,而不是在屏幕上显示图形。与设备无关的图形很重要。

标签: c++ windows directx gdi


【解决方案1】:

我不是专家,但 Windows 7 附带的 Aero interface 需要与 DirectX 9 兼容的图形处理器和 Windows 显示驱动程序模型 (WDDM) 驱动程序、硬件中的像素着色器 2.0 和至少 128 MB显存。

所以我怀疑 DirectX 确实被用于,至少部分用于在 Windows 7 中渲染内容。

此外,用于在基于 Windows 的应用程序中呈现用户界面的新图形子系统 Windows Presentation Foundation (WPF) 在后台使用 DirectX。

【讨论】:

    【解决方案2】:

    与更直接的硬件访问方法相比,GDI 最重要的能力可能是它的扩展能力和目标设备的抽象。使用 GDI,很容易在多个设备上绘图,例如屏幕和打印机,并期望在每种​​情况下都能正确复制。此功能是 Microsoft Windows 所见即所得应用程序的核心。 http://en.wikipedia.org/wiki/Graphics_Device_Interface

    听起来,至少从历史上看,GDI/GDI+ 更兼容各种硬件。

    Windows 7 使用 Aero,并且确实使用了 DirectX。

    具有 Windows 显示驱动程序模型 (WDDM) 驱动程序、硬件中的像素着色器 2.0 和至少 128 MB 视频 RAM 的 DirectX 9 兼容图形处理器 http://en.wikipedia.org/wiki/Windows_Aero

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-24
      • 2023-03-18
      • 1970-01-01
      • 2015-04-03
      相关资源
      最近更新 更多