为了勾画这个问题的背景:在工作中我们使用Dell Precision工作站。我目前使用的是NVidia Quadro FX1700。 我的团队正在开发实时数据采集系统的图形组件。 因此,我们一直在寻找是否图形操作不占用太多的CPU时间。对于快速检查,我们有几个我们运行的测试程序,它们以指定的速率(例如10 fps)绘制场景,我们使用普通的旧任务管理器来查看CPU使用情况。 其中一个程序在GDI DrawRectangle调用(已填充)上很沉重。这个程序一直用来消耗大约40%的CPU用户时间,但大约一年左右(只是在这里猜测),它只使用大约2-3%的内核时间。很显然,这里正在发生一些硬件加速。事实上,如果我关闭HW-accell,我们又回到原来的40%的用户时间。所有这些当然都是好消息,因为我们已经在考虑去参加OpenGL了。年复一年的GDI从未获得硬件加速的好处。直到前一段时间。GDI已经加速。有谁知道这是什么时候发生的?
有没有人知道更多关于此?微软做到了吗?或者它是gfx卡供应商特定的?
编辑
日Thnx的答案已经(Ferrucio,Torlack和罗布·沃克),但我的问题没有得到解答。我们在这里谈论一个填充矩形。可能是最简单的优化功能:只需向GPU发送几个坐标并让其翻转即可。然而它总是在CPU端实现。 到目前为止,答案让我相信NVidia终于看到了光(超过10年)和加速GDI。并没有公布这个?根本没有信息可以找到。 我的内部客户问我关于图形加速的问题,我只能说“好吧,我们很幸运”。
EDIT2
它似乎像它是根据不同的答案相关的驱动程序。那么,NVidia多年来为其工作站卡制作了蹩脚的GDI驱动程序。这家公司内部确实是一个公认的事实,GDI没有加速,所有的测试都证实了这一点。
我不同意接近。 GDI的使用相当广泛,所以它的性能是相关的,即使答案恰好与一个非常具体的问题有关。 – reinierpost 2010-11-24 08:48:54
尽管现在的问题已经有2.5年了,但我还是补充一点,我也不同意这个结论。对于许多编写图形代码的人来说,这是一个潜在的有用的问题。 – nitro2k01 2011-04-15 04:05:23
@reinierpost:您现在有足够的声望投票重新提出问题 - 请注意,虽然作者自己已经解决了问题,而不是人群或主持人所期望的一见钟情。我想事后看来(2008年10月一直是SO的早期阶段......)QBziZ应该已经提交并接受了* Edit2 *作为他自己的总结答案,而不是为了让答案最终得到更深入的答案而不是结束问题。这就是为什么我投票现在重新打开自己;) – 2012-05-29 07:24:00