为了阐明这个问题的背景:在工作中,我们使用Dell Precision工作站。我的当前工作站配备了NVidia Quadro FX1700显卡。
我的团队正在为实时数据采集系统开发图形组件。
因此,我们始终关注图形操作是否使用了过多的CPU时间。对于快速检查,我们有几个测试程序,以指定的速率(例如10 fps)绘制场景,并使用普通的任务管理器查看CPU使用情况。
其中一个程序频繁使用GDI DrawRectangle调用(填充),该程序总是使用约40%的CPU用户时间,但自大约一年前以来(仅猜测),它只使用约2-3%的内核时间。因此,显然在此处进行了某些硬件加速。确实,如果我关闭HW-accell,我们就会回到最初的40%用户时间。
当然,所有这些都是好消息,因为我们已经考虑过转向OpenGL。多年来,GDI从未获得过硬件加速的好处。直到不久前。
有人知道更多信息吗?是Microsoft做的吗?还是与图形卡供应商有关?
编辑
谢谢Ferrucio、Torlack和Rob Walker的答案,但我的问题还没有得到解答。我们正在讨论填充的矩形。可能是最简单的优化函数:只需将几个坐标发送到GPU并让它运行即可。然而,它总是在CPU端实现的。 到目前为止,答案让我相信NVidia终于看到了光明(超过10年后)并加速了GDI。没有关于此的公告吗?根本找不到有关此信息的任何信息。 我的内部客户问我有关图形加速的加速情况,我所能说的就是“好吧,我们很幸运”。
编辑2
根据不同的答案,似乎与驱动程序有关。因此,NVidia多年来一直为其工作站显卡制造了糟糕的GDI驱动程序。这确实是公司内部认可的事实,即GDI没有加速,所有测试都证实了这一点。
有人知道更多信息吗?是Microsoft做的吗?还是与图形卡供应商有关?
编辑
谢谢Ferrucio、Torlack和Rob Walker的答案,但我的问题还没有得到解答。我们正在讨论填充的矩形。可能是最简单的优化函数:只需将几个坐标发送到GPU并让它运行即可。然而,它总是在CPU端实现的。 到目前为止,答案让我相信NVidia终于看到了光明(超过10年后)并加速了GDI。没有关于此的公告吗?根本找不到有关此信息的任何信息。 我的内部客户问我有关图形加速的加速情况,我所能说的就是“好吧,我们很幸运”。
编辑2
根据不同的答案,似乎与驱动程序有关。因此,NVidia多年来一直为其工作站显卡制造了糟糕的GDI驱动程序。这确实是公司内部认可的事实,即GDI没有加速,所有测试都证实了这一点。