Nick
Nick

Reputation: 10499

Same Direct2D application performs better on a "slower" machine

I wrote a Direct2D application that displays a certain number of graphics.

When I run this application it takes about 4 seconds to display 700,000 graphic elements on my notebook:

Intel Core i7 CPU Q 720 1.6 GHz
NVIDIA Quadro FX 880M

According to the Direct2D MSDN page:

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.

I was expecting that the same application (without any modification) should perform better on a different machine with better specs. So I tried it on a desktop computer:

Intel Xeon(R) CPU 2.27 GHz
NVIDIA GeForce GTX 960

But it took 5 seconds (1 second more) to display the same graphics (same number and type of elements).

I would like to know how can it be possible and what are the causes.

Upvotes: 4

Views: 537

Answers (2)

RDK
RDK

Reputation: 108

Some good points in the comments and other replies.(can't add a comment yet)
Your results dont surprise me as there are some differencies between your 2 setups.

Let's have a look there: http://ark.intel.com/fr/compare/47640,43122

A shame we can't see the SSE version supported by your Xeon CPU. Those are often used for code optimization. Is the model I chose for the comparison even the good one?
No integrated GPU in that Core-I7, but 4 cores + hyperthreading = 8 threads against 2 cores with no hyperthreading for the Xeon.
Quadro stuff rocks when it comes to realtime rendering. As your scene seems to be quite simple, it could be well optimized for that, but just "maybe" - I'm guessing here... could someone with experience comment on that? :-)

So it's not so simple. What appears to be a better gfx card doesn't mean better performance for sure. If you have a bottleneck somewhere else you're screwed!

The difference is small, you must compare every single element of your 2 setups: CPU, RAM, HDD, GPU, Motherboard with type of PCI-e and chipset.

So again, a lot of guessing, some tests are needed :)

Have fun and good luck ;-)

Upvotes: 0

ChrisG0x20
ChrisG0x20

Reputation: 291

It's impossible to say for sure without measuring. However, my gut tells me that melak47 is correct. There is no lack of GPU acceleration, it's a lack of bandwidth. Integrated GPUs have access to the same memory as the CPU. They can skip the step of having to transfer bitmaps and drawing commands across the bus to dedicated graphics memory for the GPU.

With a primarily 2D workload, any GPU will be spending most of its time waiting on memory. In your case, the integrated GPU has an advantage. I suspect that extra second you feel, is your GeForce waiting on graphics coming across the motherboard bus.

But, you could profile and enlighten us.

Upvotes: 2

Related Questions