代码之家  ›  专栏  ›  技术社区  ›  QBziZ

GDI已经加速。有人知道这是什么时候发生的吗?

  •  7
  • QBziZ  · 技术社区  · 16 年前

    勾勒出这个问题的背景:在工作中,我们使用戴尔精密工作站。我现在的那个有一个NVidia Quadro FX1700。 我的团队正在为实时数据采集系统开发图形组件。 所以我们总是在观察图形操作是否占用了太多CPU时间。为了快速检查,我们运行了两个测试程序,它们以指定的速率(例如10fps)绘制场景,并使用普通的旧任务管理器查看CPU使用情况。 其中一个程序大量使用GDI调用(已填充)。这个程序通常消耗大约40%的CPU用户时间,但是大约一年左右(这里只是猜测),它只使用大约2-3%的内核时间。很明显,这里正在进行一些硬件加速。实际上,如果我关闭HW accell,我们就回到了原来40%的用户时间。 所有这些当然都是好消息,因为我们已经在考虑使用OpenGL了。年复一年,GDI从未从硬件加速中获益。直到很久以前。

    编辑

    到目前为止,这些答案让我相信NVidia终于看到了光明(10多年之后),加速了GDI。没有宣布吗?根本找不到这方面的信息。

    编辑2

    从不同的答案来看,似乎确实与司机有关。因此,NVidia多年来一直在为其工作站卡制作糟糕的GDI驱动程序。这确实是一个公认的事实,在这家公司的GDI没有加速和所有的测试证实了这一点。

    5 回复  |  直到 16 年前
        1
  •  7
  •   Ferruccio    16 年前

    GDI通过调用图形设备驱动程序中的各种函数来工作。每个驱动程序都有一组核心功能 必须 实施。其他功能可由驱动程序实现。如果没有,GDI将自己执行这些功能。

    也可能是这样的情况,图形卡供应商,在努力使一个卡出市场迅速,可能没有实现所有可能的硬件功能,该卡可以执行。随后,该驱动程序的更高版本可能会实现该功能,从而提高性能。

        2
  •  5
  •   Aardvark    11 年前

    GDI被加速了一段时间。据我回忆,这在某种程度上取决于你的硬件和驱动程序。为什么你最近才看到这样一个跳跃式的表现似乎很奇怪。

        3
  •  2
  •   Torlack    16 年前

    在某种程度上,GDI一直在加速。即使回到过去的Win31天,我记得买卡片(数字9)的主要卖点是GDI的硬件加速。

        4
  •  1
  •   Rob Walker    16 年前

    Vista有一个新的 display driver architecture 这将为业绩的大幅提升提供机会。你在比较硬件和操作系统的组合吗?

        5
  •  1
  •   davenpcj    16 年前

    很多2D的东西已经被加速了一段时间,每一个新的主要版本的windows都改变了显示驱动程序的工作方式。我相信是XP改造了windows的窗口管理层。很难比较,因为XP与windows2000/NT比任何早期版本都更相似。

    更多关于维基百科的信息, Development of Windows XP .

    当然,windows2000是第一个包含DirectX的基于NT内核的Windows,而且在图形方面也有一些改进。 Windows 2000 (wikipedia)