Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 同一个Direct2D应用程序在“;“慢一点”;机器_C++_Performance_Directx_Direct2d - Fatal编程技术网

C++ 同一个Direct2D应用程序在“;“慢一点”;机器

C++ 同一个Direct2D应用程序在“;“慢一点”;机器,c++,performance,directx,direct2d,C++,Performance,Directx,Direct2d,我编写了一个Direct2D应用程序,可以显示一定数量的图形 运行此应用程序时,在笔记本上显示700000个图形元素大约需要4秒钟: Intel Core i7 CPU Q 720 1.6 GHz NVIDIA Quadro FX 880M 根据报告: Direct2D是使用Direct3D 10.1构建的用户模式库 应用程序编程接口。这意味着Direct2D应用程序可以从中受益 在现代主流GPU上硬件加速渲染 我希望相同的应用程序(没有任何修改)在规格更好的不同机器上运行得更好。所以我在台式

我编写了一个Direct2D应用程序,可以显示一定数量的图形

运行此应用程序时,在笔记本上显示700000个图形元素大约需要4秒钟:

Intel Core i7 CPU Q 720 1.6 GHz
NVIDIA Quadro FX 880M
根据报告:

Direct2D是使用Direct3D 10.1构建的用户模式库 应用程序编程接口。这意味着Direct2D应用程序可以从中受益 在现代主流GPU上硬件加速渲染

我希望相同的应用程序(没有任何修改)在规格更好的不同机器上运行得更好。所以我在台式电脑上试过:

Intel Xeon(R) CPU 2.27 GHz
NVIDIA GeForce GTX 960
但显示相同的图形(相同数量和类型的元素)需要5秒(多1秒)


我想知道这是怎么可能的,原因是什么。

如果不进行测量,就无法确定。然而,我的直觉告诉我melak47是正确的。这并不缺少GPU加速,而是缺少带宽。集成GPU可以访问与CPU相同的内存。他们可以跳过将位图和绘图命令通过总线传输到GPU专用图形内存的步骤

由于主要是2D工作负载,任何GPU都将花费大部分时间等待内存。在您的情况下,集成GPU具有优势。我怀疑你感觉到的额外的一秒钟,是你的GeForce在等待主板总线上的图形


但是,你可以给我们一些建议和启发。

评论和其他回复中的一些优点。(还不能添加评论)
你的结果并不令我惊讶,因为你的两种设置之间存在一些差异

让我们看看那里:

遗憾的是,我们看不到Xeon CPU支持的SSE版本。这些通常用于代码优化。我为比较选择的模型是好的吗?
该Core-I7中没有集成GPU,但4核+超线程=8个线程,而Xeon的2核没有超线程。
当谈到实时渲染时,Quadro的东西会让人大吃一惊。因为你的场景看起来很简单,它可以很好地优化,但只是“可能”-我猜这里。。。有经验的人能对此发表评论吗?:-)

所以事情并不是那么简单。看起来更好的gfx卡并不一定意味着性能更好。如果你在其他地方遇到瓶颈,你就完蛋了

差别很小,您必须比较两种设置的每一个元素:CPU、RAM、HDD、GPU、主板和PCI-e类型以及芯片组

因此,同样需要进行大量猜测和测试:)


祝你玩得开心,好运;-)

这两台计算机是否都有板上(或者更确切地说是芯片上)GPU,可以用来代替专用适配器?@melak47我怎么知道?在设备管理器上,它们是唯一可用的显示适配器。根据绘图方法的实现,可能会出现不同的瓶颈,从而形成执行时间。另外,您是否确定您的应用程序没有使用笔记本电脑上的内部视频卡(Intel HD Graphics)而不是Quadro?@AntonAngelov再说一次,我怎么知道我的应用程序使用的是内部视频卡而不是Quadro?i7 720实际上可能比Xeon快一点,具体取决于它是哪个Xeon。720的涡轮增压相对较高,为2.8 GHz。如果Xeon有涡轮增压的话,它可能不会超过2.6GHz。