3d Mark - do NVidia shift more load onto the CPU?

Tim said:
dan2097 said:
It actually only uses VS1.1

Wrong all the game test are using VS2.0 the your quote was talking about pixel shaders.

Hehe yeah what I said was completly irrelevant.

Can you run v2.0 on the cpu? as dx8 class hardware can run the vertex shader test
 
The Baron said:
For someone who knows--does the vertex shader test in 3DMark03 only use VS2.0?
No; the only test in 3DMark03 to use VS2.0 vertex shaders is Mother Nature (Game Test 4), everything else is done using VS1.1 routines.
 
ah-HA! I figured it was something like that.

I'll run RightMark again with VS1.1 later... have to jam more painkillers directly into my skull first :)
 
This post has piqued my interest a little, so in amongst trying to finish an already late preview, writing 128 reports and proof-reading another 320, I've mucked about with RightMark and a 5900U using 52.16 drivers:

Low geometry - ambient lighting

Software vertex processing (via an Athlon 3200)
FF = 19,536,302 polys/sec
VS1.1 = 22,315,022 polys/sec
VS2.0 = 21,005,782 polys/sec

Pure Hardware vertex processing
FF = 84,657,312 polys/sec
VS1.1 = 71,320,248 polys/sec
VS2.0 = 79,396,648 polys/sec


High geometry - diffuse & specular (3 point lights) lighting

Software vertex processing
FF = 10,119,550 polys/sec
VS1.1 = 9,688,040 polys/sec
VS2.0 = 8,650,271 polys/sec

Pure Hardware vertex processing
FF = 54,331,712 polys/sec
VS1.1 = 27,678,146 polys/sec
VS2.0 = 12,670,155 polys/sec

From this, you'd have to say that for simple vertex processing, you'd be a bit of a muppet to offload it to the CPU but there's not much between the software processing and the 5900U when it's VS2.0 shaders doing lots of vertex lighting.
 
3Dmark 03 reacts differently though... your results match other rightmark numbers put up earlier. So is this a application detected optimization or 3Dmark 03 issue.
 
Hmm, I don't think picture is quite so clear now. I've run 3DMark03 over a range of resolutions and two CPU speeds (altered only via the multiplier, so everything else is the same); plus I've done same with RightMark - the settings for which are high geometry, diffuse and specular (3 point lights), rendered with VS1.1 and PS1.1, and again with VS1.1 and PS1.4 (to be more like 3DMark03 basically).

3dmark03test2.png


This time you can see that there is a performance drop between the CPU speeds in RightMark (unlike with The Baron's tests). In terms of percentage, the difference between the RM scores is very similar to the difference in the VS test with 3DMark03.
 
I guess some VS1.x functions are being offloaded to the CPU... but then again, wouldn't VS2.0 functions include VS1.x features, so those should be offloaded to the CPU to some degree as well?
 
But why do that when there is such a difference between the VS1.1 caps of the 5900U and the Athlon 3200+ (see further above in this thread for the original RightMark tests that I did)? This is just pure guess-the-reason-why stuff but does the compiler work for PS1.1 shaders? The NVIDIA docs seemed to suggest that this isn't the case but if it was, and the drivers are doing the examining-reordering, could the performance difference be down to the slower compiling? Any other spurious and random guesswork?
 
I thought the compiler wasn't running in real-time--so basically, it would run while the shaders are being loaded and all. But, if it was in real-time, you would have low FPS in the beginning that would quickly increase to a much higher FPS. Can Rightmark make charts?
 
g__day said:
I just got to wondering with something NVidia said recently. Does anyone know - when you benchmark a GPU using 3d Mark 2003 v340 - comparing top end ATi and NVidia cards - do NVidia manage to offload more "traditional" GPU workloads onto the CPU than ATi do? IS there a way of measuring this?

As 3d Mark 2003 is GPU heavy - a big CPU might be running at times at less of full capacity. Has NVidia realised this and found a way to migrate some of the intended GPU workload to the CPU? When you run a test with ATi vs NVidia does the CPU reach higher utilisation benchmarking for NVidia or is it impossible to tell?

Do Futuremark have any position on IHV's altering the workload of what gets done by the CPU and what gets assigned to the GPU? If you could re-balance 5-10% of the workload if your CPU wasn't maxed - that might give you quite a nice edge I thought.

There is one type of GPU tasks you can shovel to the CPU if that is otherwise a bottleneck for your GPU - all (or some) vertex shaders.

Unlike most games that still use legacy fixed function for all vertex processing, 3DMark03 uses vertex shaders exclusively. Games will get there too, but when is a good question. Vertex shaders can be executed on the CPU too, and at decent speeds if the CPU is a fast one. DirectX offers a flag to execute all vertex shaders either on the GPU or the CPU, and there is a switch for this in the 3DMark03 settings you can play with. The drivers however can be implemented to identify that 3DMark03 is running, and since we all know the default game tests above all measure the GPU performance, additional performance can be gained by pushing all or some vertex shaders up to the CPU.

This was (and maybe still is) extensively done by the drivers when running the nature scene of 3DMark2001. GPUs back then were not so fast executing vertex shaders, and pushing those up to the CPU in secrecy usually gave quite a performance boost.

Then again, our driver optimization guidelines forbid detecting that 3DMark is running, meaning that this kind of benchmark specific vertex shader execution on the CPU is forbidden. You can't push all vertex shaders in all applications to the CPU, since most games keep the CPU busy doing other things.

You can use a feature tests in 3DMark03 to investigate this issue further. The Ragtroll test is heavy on the vertex shaders, but also has quite an amount of physics for keeping the CPU busy. If some driver gets a high 3DMark score due to a fast CPU, but the Ragtroll score does not compare similarly, that driver may, against our guidelines, push vertex shaders to the CPU.
 
Sorry to bring this thread back up but I've done a more complete RightMark testing:

rightmarkvertextest.png


Low = low geometry, ambient lighting, 640 x 480
High = high geometry, diffuse & specular, 3 point lights, 640 x 480

Busy finishing a now VERY late preview - make of those figures what you will.
 
Intriguing. I'll try to corroborate later.

Uttar, do you have any enlightening commentary here? :p
 
Back
Top