【发布时间】:2016-08-05 16:38:09
【问题描述】:
我编写了一个显示一定数量图形的 Direct2D 应用程序。
当我运行这个应用程序时,大约需要 4 秒才能在我的笔记本上显示 700,000 个图形元素:
Intel Core i7 CPU Q 720 1.6 GHz
NVIDIA Quadro FX 880M
Direct2D 是使用 Direct3D 10.1 构建的用户模式库 API。这意味着 Direct2D 应用程序受益于 现代主流 GPU 上的硬件加速渲染。
我期望相同的应用程序(没有任何修改)应该在具有更好规格的不同机器上表现更好。于是我在台式机上试了一下:
Intel Xeon(R) CPU 2.27 GHz
NVIDIA GeForce GTX 960
但是显示相同的图形(相同数量和类型的元素)需要 5 秒(多 1 秒)。
我想知道怎么可能,原因是什么。
【问题讨论】:
-
这些计算机中是否有板载(或者更确切地说是片上)GPU 可以用来代替专用适配器?
-
@melak47 我怎么知道?在设备管理器中,它们是唯一可用的显示适配器。
-
根据您对绘图方法的实现,可能会出现不同的瓶颈,从而形成执行时间。另外,您确定您的应用程序不使用笔记本电脑上的内部显卡(英特尔高清显卡),而不是 Quadro?
-
@AntonAngelov 同样,我怎么知道我的应用程序使用的是内部视频卡而不是 Quadro?
-
i7 720 实际上可能比 Xeon 快一点,具体取决于它是哪个 Xeon。 720 具有相对较高的 2.8 GHz 涡轮增压。那个 Xeon 如果它有 turbo 提升,可能不会超过 2.6 GHz。
标签: c++ performance directx direct2d