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:
That's the most interesting part, because NVIDIA promised increased execution efficiency of geometry shaders. But the graph shows that the first test does not use these features much, so we have to wait for the second test. The correlation of results with different complexity levels of the scene is almost the same. Performance demonstrated 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, although to a lesser degree.
GeForce GTX 280 demonstrates results on a par with the dual-GPU RADEON HD 3870 X2 card, which is more than twice as fast as the single HD 3870. Among NVIDIA cards the new product fares right in between a single-G92 card and its dual-GPU modification. Not bad, but we'd like it to catch up with the 9800 GX2, of course. Perhaps the situation will change, when some work is moved to a geometry shader.
But the difference between these tests is small, nothing has changed much. All graphics cards from NVIDIA demonstrate almost the same results with various GS load values, which are responsible for moving some of the load to the geometry shader. However, results of both AMD cards have grown a little. RADEON HD 3870 is outperformed to a lesser degree, and the HD 3870 X2 is even a tad faster than GeForce GTX 280. 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 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. This time GeForce 9800 GX2 suffers from a deep performance drop. Perhaps the new drivers will change the situation. Both cards from AMD are also outperformed by all NVIDIA cards.
If we compare all cards on G80, G92, and GT200, we can see that the test is not limited by memory bandwidth, fill rate, and computing power - all the cards demonstrate practically identical results here. However, we are a little surprised that GT200 is slightly outperformed by G92 in the heavy mode. Results may change on the next chart for the test that actively uses geometry shaders. It will be also interesting to compare test results obtained in Balanced and Heavy modes.
That's it, at last! It's for the first time in geometry tests that a performance ratio between GT200 and other solutions has changed as planned by NVIDIA engineers, when they fixed bugs in the previous architectures. GeForce GTX 280 is more than twice as fast as GeForce 9800 GTX and 8800 Ultra. Moreover, it outperforms even the RADEON HD 3870 X2. Perhaps, it can even outperform the 9800 GX2 in an honest competition, without problems of the latter with its drivers.
What concerns the comparison of results obtained in different modes, everything is as usual. The graphics card from AMD is outperformed even though NVIDIA cards (except for the new card based on GT200) lose performance as they switch from instancing to a geometry shader. All GeForces based on G92 and G80 perform better in Balanced mode, than RADEON HD 3870 does in Heavy mode. You should keep in mind that the image does not differ (visually) in these modes.
It's much more interesting to watch GeForce GTX 280 in Balanced and Heavy modes. It's the first card from NVIDIA that gains performance from moving some computations to a geometry shader in this test. NVIDIA apparently did its homework, as always! Someone should learn from this company instead of stepping on the same rake over and over again.
Write a comment below. No registration needed!