Skip to content

第 2 部分:2D、加速和 Windows:不是所有的显卡都一样吗?

    1652314022

    简介:为什么 2D 图形的 GDI 输出仍然重要

    首先要做的事情:如果您还没有阅读 2D、加速和 Windows:不是所有的显卡都平等吗?请随时先检查一下,因为这是第 2 部分历史探索的第 1 部分Windows 中的 2D 和高端独立显卡上的当前问题。

    在第二部分中,我们将重点关注 GDI 的相关性,更全面地解释 2D 图形输出,并向您展示我们的 2D 基准测试(针对尚未在 Tom’s Hardware DE 上发现它的人)。为了充分理解该基准的结果,我们必须首先深入研究一些相关的理论基础。

    为什么在 Windows 7 和 Direct2D 时代我们还要测试 GDI?

    在本系列的第一部分,许多读者推测,随着支持 DirectX 10 的显卡和 Windows Vista 的推出,用于 ​​2D 图形输出的旧 GDI 方法已经过时。WPF(Windows Presentation Foundation)与 Direct2D 一起提供给 Microsoft 开发人员已有一段时间了。尽管如此,GDI(图形设备接口)仍然具有无可争辩的意义和相关性,有很多充分的理由,这意味着我们必须检查它的行为和性能,即使对于 Windows 7 的美丽新世界也是如此。这些原因包括:

    GDI 继续支持旧显卡,而 Direct2D 需要可以支持 DirectX 10 或更高版本的显卡。
    每个已知版本的 Windows 都支持 GDI,而 Direct2D 仅在 Windows Vista 和 Windows 7 中可用。
    在 Windows XP(和旧 Windows 版本)下运行的每个图形应用程序都使用 GDI

    许多软件开发人员拒绝将他们的软件从较旧的 API 转换为较新的 API。即使在今天,许多开发人员仍在继续使用同样易于理解的编程库,即使有更新的技术可用。从一个库转换到另一个库也意味着重写和重新测试所有受影响的代码模块。因为从旧库转换到新库所带来的性能改进可能几乎无法察觉,所以软件开发人员也不愿纯粹出于经济原因进行此类更改(太多时间和精力,结果太小)。如果您以在Mozilla Firefox 的各个组件中实现Direct2D 为例,您会感受到业界在执行这个转换过程中的悠闲步伐。此外,对于这些公司中的许多公司来说,将整个 XP 用户社区锁定在最新版本之外,将是一种商业自杀形式。所有这一切都形成了一个引人注目的观察结果:GDI 很可能会一直存在,直到 Windows XP 不再代表最终用户社区的任何重要组成部分。

    然后有技术原因来解释 GDI 的持久性。关键 GDI 代码模块(在 Windows 应用程序中最常包含和调用的那些)不是完全可移植的。Direct2D 也消耗大量的处理能力和系统资源,但不能做 Direct3D 也不能提供的任何事情。而那些选择跳过使用 Direct3D 的人通常会非常仔细地考虑这个决定。此外,GDI 独立于可能正在使用的输出设备(如显示器或打印机)工作。因此,程序中的相同例程可以在监视器上渲染图形,并输出到打印机,从而将代码(及其后续维护和错误风险)减少多达一半。现在许多最实惠的打印机都是 GDI 设备,这种情况不太可能很快改变,

    整体大于所有部分的总和

    我们自己将转换为 WPF 和 Direct2D 视为 Microsoft 强行推动的举措,并且是不可逆转的技术进步。但是那些对新技术感到兴奋和烦恼的人应该回想以前的介绍,我们将在这篇文章中回顾一下。包括 Windows XP,有足够多的遗留技术在你身边,如果你愿意忽略过去,你真的只能面对未来。但遗憾的是,这无视了大多数用户操作的现实情况,例如 780G 和 785G 板载图形芯片所表现出的众所周知的 Windows XP 恐惧症。

    我们想在这里重温第 1 部分的基准测试,但这次我们将使用我们自己定制的软件(读者也可以从我们的网站下载此工具,并在自己的 PC 上运行)。我们会观察到,即使是最昂贵的显卡在其中一些测试中也会失败,如果它们受到尚未针对许多人认为的旧技术进行优化的驱动程序的影响。

    0 0 votes
    Rating post
    Subscribe
    Notify of
    0 comments
    Inline Feedbacks
    View all comments
    wpDiscuz
    0
    0
    Would love your thoughts, please comment.x
    ()
    x
    Exit mobile version