我写了一个显示一定数量图形的Direct2D应用程序.
当我运行此应用程序时,在我的笔记本上显示700,000个图形元素大约需要4秒钟:
Intel Core i7 CPU Q 720 1.6 GHz
NVIDIA Quadro FX 880M
Direct2D is a user-mode library that is built using the Direct3D 10.1
API. This means that Direct2D applications benefit from
hardware-accelerated rendering on modern mainstream GPUs.
我期待相同的应用程序(没有任何修改)应该在具有更好规格的不同机器上表现更好.所以我在台式电脑上试了一下:
Intel Xeon(R) CPU 2.27 GHz
NVIDIA GeForce GTX 960
但是显示相同的图形(相同数量和类型的元素)需要5秒(1秒多).
我想知道它是如何可能的,原因是什么.
最佳答案 没有测量就不可能肯定地说.但是,我的直觉告诉我melak47是正确的.不乏GPU加速,缺乏带宽.集成GPU可以访问与CPU相同的内存.他们可以跳过必须通过总线将位图和绘图命令传输到GPU的专用图形存储器的步骤.
主要是2D工作负载,任何GPU都将花费大部分时间等待内存.在您的情况下,集成GPU具有优势.我怀疑你感觉到的是额外的第二个,是你的GeForce等待主板总线上的图形.
但是,你可以profile并启发我们.