为了绘制这个问题的背景:在工作中,我们使用戴尔Precision工作站。 我现在一个人有一个的NVIDIA Quadro FX1700。 我的团队正在开发的图形组件的实时数据采集系统。 因此,我们一直在寻找,看看图形操作不会占用太多的CPU时间。 对于快速检查,我们有一对夫妇,我们运行的测试程序,它以特定速率(如10 fps)的绘制场景,我们使用普通的老任务管理器看到CPU使用。 其中一项方案是GDI的DrawRectangle电话(这是填写)重。 这个程序总是用来消耗约40%的CPU用户时间,但自从大约一年左右(只是猜测这里)只使用约2-3%的内核时间。 所以,显然有些硬件加速是怎么回事。 事实上,如果我把HW-ACCELL了,我们又回到了原来的40%的用户时间。 所有这一切当然是个好消息,因为我们已经考虑去的OpenGL。 年复一年GDI从来没有得到硬件加速的优势。 直到前一段时间是。
有谁知道任何有关此? 微软没有这样做? 或者是GFX卡供应商特定的?
编辑
日Thnx的答案已经(Ferrucio,Torlack和罗布·沃克),但我的问题尚未解答。 我们在这里谈论的是一个填充矩形。 也许最微不足道的功能优化:只需发送一对夫妇的坐标到GPU,并让它撕裂。 然而,它总是在CPU上执行。 到目前为止的答案使我相信,NVIDIA公司终于看到了曙光(超过10年)之后,加速GDI。 并没有公布这件事吗? 有没有将所有在此找到的信息。 我的内部客户问我关于显卡的加速,以及所有我能说的是“好了,我们很幸运。”
EDIT2
它似乎像它是根据不同的答案相关的驱动程序。 因此,随后NVIDIA取得了其工作站显卡蹩脚的GDI的驱动程序多年。 这的确是这家公司内公认的事实GDI没有加速,所有的测试证实了这一点。
GDI的作品通过调用图形设备驱动程序的各种功能。 有一组核心的每个驱动程序必须实现的功能。 其它功能可以通过驱动程序实现。 如果不是,GDI会执行这些功能本身。
如果一个特定的功能没有在硬件中实现再有就是在司机这样做功能的软件实现,因为GDI也许可以做一个更好的工作是没有意义的。 GDI是非常好的优化性能。
随着越来越多的功能在硬件中实现,不仅做到这些功能性能要好得多,但也有少工作GDI做,导致花在显卡较少的CPU时间。
它也可能是图形卡供应商,以努力获得卡拿出来迅速占领市场,可能不会实现所有可能的硬件功能,该卡可以执行的情况。 该驱动程序的后续版本则可以实现该功能,从而提高了性能。
GDI加快很长一段时间。 据我记得它确实取决于你的硬件和驱动程序在一定程度上。 为什么你在性能上看到过这样的跳跃只是最近似乎有些奇怪。
但是,不要太高兴 - GDI硬件加速在Vista中不再支持。 新的桌面组合引擎不支持它。 然而,在Vista中你获得窗户的快速移动,因为内容并不总是有应用程序被重新绘制(没有撕裂我觉得呢?)。
从某种程度上说,GDI一直加速。 即使回到老WIN31日子我记得买卡(Number9)谁是主要的卖点是GDI的硬件加速。
Vista有一个新的显示驱动架构 ,其将提供性能上的显着提高的机会。 您比较喜欢硬件/操作系统组合?
大量的2D的东西已经加快了一段时间,窗口的每一个新的主要版本已经改变了显示驱动程序已经工作方式。 我相信这是与XP的Windows改组它的窗口管理器层。 很难比较,真的,因为XP是更类似于Windows 2000 / NT比任何早期版本。
维基百科上的一些更多的信息, Windows XP中的发展 。
Windows 2000的,当然,是第一个基于NT内核的窗口,包括对DirectX和有一些图形改进为好。 Windows 2000的(维基百科)
我不相信已经有过版本之间的显示驱动程序模型/ 2D子系统重大变化。 所以,如果你注意到这样一个变化,很可能是由于一些nVidia的那样。
文章来源: GDI has been accelerated. Does anyone know when this happened?