勾勒出这个问题的背景:在工作中,我们使用 Dell Precision 工作站。我目前有一台 NVidia Quadro FX1700。我的团队正在为实时数据采集系统开发图形组件。因此,我们一直在寻找图形操作是否不会占用太多 CPU 时间。为了快速检查,我们运行了几个测试程序,它们以指定的速率(例如 10 fps)绘制场景,并且我们使用普通的旧任务管理器来查看 CPU 使用率在哪里。其中一个程序对 GDI DrawRectangle 调用(已填充)很重。这个程序过去总是消耗大约 40% 的 CPU 用户时间,但大约一年左右(这里只是猜测)它只使用大约 2-3% 的内核时间。很明显,这里正在进行一些硬件加速。事实上,如果我关闭 HW-accell,我们' 重新回到原来的 40% 的用户时间。所有这些当然都是好消息,因为我们已经在考虑使用 OpenGL。年复一年,GDI 从未从硬件加速中受益。直到前一段时间。
有人知道更多吗?微软这样做了吗?还是 gfx 卡供应商特定的?
编辑
Thnx 已经给出了答案(Ferrucio、Torlack 和 Rob Walker),但我的问题尚未得到解答。我们在这里讨论的是填充矩形。可能是最简单的优化功能:只需将几个坐标发送到 GPU 并让它撕裂。然而,它总是在 CPU 端实现。到目前为止,答案让我相信 NVidia 终于看到了曙光(经过 10 多年)并加速了 GDI。并且没有关于这个的公告?根本找不到这方面的信息。我的内部客户问我有关图形加速的问题,我只能说“好吧,我们很幸运”。
编辑2
It does seem like it is driver related according to the different answers. So, then NVidia has made crappy GDI drivers for its workstation cards for years. It really was an accepted fact within this company that GDI was not accelerated and all the tests confirmed this.