Direct3D 10: geometry shader tests
RightMark3D 2.0 includes two geometry shader tests. The first one is called Galaxy, it's similar to point sprites from previous Direct3D versions. It animates a system of particles using a GPU, a geometry shader creates four vertices from each dot, forming a particle. Similar algorithms should be used in future DirectX 10 games.
A change of balance in geometry tests does not affect rendering results, the image is always identical, only scene processing methods differ. GS load value determines what shader will be busy -- vertex or geometry. The amount of work is always the same.
Let's analyze the first modification of Galaxy with vertex processing for three levels of geometric complexity:
The correlation of results with different complexity levels of the scene is almost the same. Performance corresponds to the number of points, FPS is halved each step. It's not a hard task for modern graphics cards. Performance in this test is not limited by streaming processors that apparently. The task is also limited by memory bandwidth and fill rate.
The single-GPU mode lets NVIDIA cards down in this test. As we know from practice, AFR almost doubles performance in this test for each mode. So GTX 295 must perform on a par with HD 4870 X2. Let's see what will happen when some work is moved to a geometry shader:
There are practically no differences between these test versions, nothing has changed. HD 4870 X2 is still the leader. Dual-GPU solutions from NVIDIA are again lagging behind because of the broken SLI mode in RightMark 2.0, even though AFR effectively doubles FPS in these tests. Let's see what will change in the next test, which generates a heavier load on geometry shaders.
Hyperlight is the second geometry test that uses several techniques: instancing, stream output, buffer load. It employs dynamic generation of geometry by rendering into two buffers, as well as a new Direct3D 10 feature -- stream output. The first shader generates ray directions, their speed and growth vectors. These data are stored in a buffer, which is used by the second shader for rendering. Each ray point is used to generate 14 vertices in a circle, up to a million output points.
The new type of shader programs is used to generate rays. If "GS load" is set to "Heavy", it's also used for rendering. That is in the balanced mode, geometry shaders are used only to generate and grow rays. Output is up to instancing. The geometry shader also outputs data in the heavy mode. Let's analyze the easy mode first:
Relative results in various modes correspond to the load: performance scales well in all cases. It's close to theoretical parameters, according to which, each next level of Polygon count must be twice as slow. Dual-GPU rendering is not as effective in this test as in the previous case. So all NVIDIA cards, demonstrating similar results in the single-GPU mode, are not much slower than RADEON HD 4870 X2 operating in CrossFire. And GeForce GTX 295 is close to its results, especially in heavy modes.
Results may change on the next diagram for the test that actively uses geometry shaders. Besides, it's sometimes interesting to compare test results obtained in Balanced and Heavy modes.
But unlike our previous reviews, we don't see any changes this time -- all new architectures improve their results. Both GT200(b) and RV770 were optimized for better execution of geometry shaders. Considering low efficiency of AFR in this test, we can say that GTX 295 must be no worse than RADEON HD 4870 X2 in the dual-GPU mode, but not much better.
Write a comment below. No registration needed!