草拟这个问题的背景:在工作中我们使用Dell Precision工作站.我现在有一台NVidia Quadro FX1700.
我的团队正在为实时数据采集系统开发图形组件.
因此,我们一直在关注图形操作是否不会占用过多的cpu时间.为了快速检查,我们运行了几个测试程序,它们以指定的速率(例如10 fps)绘制场景,我们使用普通的旧任务管理器来查看cpu使用率的位置.
其中一个程序很重视GDI DrawRectangle调用(已填充).这个程序总是占用大约40%的cpu用户时间,但是大约一年左右(这里只是猜测)它只使用大约2-3%的内核时间.很明显,这里正在进行一些硬件加速.事实上,如果我关闭HW-accell,我们将回到最初的40%用户时间.
所有这些当然都是好消息,因为我们已经在考虑转向OpenGL了.年复一年,GDI从未获得硬件加速的好处.直到前一段时间.
原文链接:https://www.f2er.com/windows/364653.html我的团队正在为实时数据采集系统开发图形组件.
因此,我们一直在关注图形操作是否不会占用过多的cpu时间.为了快速检查,我们运行了几个测试程序,它们以指定的速率(例如10 fps)绘制场景,我们使用普通的旧任务管理器来查看cpu使用率的位置.
其中一个程序很重视GDI DrawRectangle调用(已填充).这个程序总是占用大约40%的cpu用户时间,但是大约一年左右(这里只是猜测)它只使用大约2-3%的内核时间.很明显,这里正在进行一些硬件加速.事实上,如果我关闭HW-accell,我们将回到最初的40%用户时间.
所有这些当然都是好消息,因为我们已经在考虑转向OpenGL了.年复一年,GDI从未获得硬件加速的好处.直到前一段时间.
有谁知道更多关于这个?微软这样做了吗?或者是gfx-card供应商特定的?
编辑
Thnx已经答案了(Ferrucio,Torlack和Rob Walker),但我的问题还没有得到解答.我们在这里谈论一个填充的矩形.可能是最优秀的功能:只需将几个坐标发送到GPU并让它翻录.但它始终在cpu端实现.
到目前为止,答案让我相信NVidia终于看到了光明(超过10年之后)并加速了GDI.没有关于此的公告?根本没有信息可以找到.
我的内部客户问我关于图形加速的问题,我只能说“好吧,我们很幸运”.
EDIT2
根据不同的答案,它似乎与驾驶员有关.因此,NVidia多年来为其工作站卡制作了糟糕的GDI驱动程序.在这家公司中,GDI没有被加速,并且所有的测试都证实了这一点.