Game Development Reference
In-Depth Information
1000%
800%
600%
400%
200%
0%
Memory
Bandwitdh
Fillrate
MADs
Filtering
Primitive
rate
HD 2900 (May-07)
HD 6970 (Oct-10)
HD 4870 (Jun-08)
HD 5870 (Sep-09)
HD 7970 (Dec-11)
Figure 2.1. Relative evolution of AMD GPU specifications over the last six years.
Bandwitdh
GB/s
Fillrate
Gpixels/s
Filtering
Gtexels/s
Primitive rate
Mtriangles/s
Memory MB
MADs Gflops
HD 2900
742
512
512
1,024
2,048
3,072
98.7
107.3
143.1
163.9
179.2
11.872
12
27.2
28.2
29.6
474.9
1,200
2,720
2,703
3,789
11.9
30
68
84.5
118.4
HD 4870
HD 5870
HD 6970
HD 7970
750
850
1,760
1,850
Figure 2.2. Absolute evolution of AMD GPU specifications over the last six years.
2.2
Draw Submission Limitations and Objectives
It is hard to appreciate how powerful today's GPUs can be. For example, a typical
desktop GPU consumes at least two triangles per GPU clock, but if a programmer
uses immediate mode to submit these two triangles, then comparatively many
more CPU clocks must be expended. While the performance may seem strong,
the programmer is still not fully utilizing the hardware.
Extending this discussion to draw calls using vertex buffers, the number of
draws an application can submit per frame remains very limited compared to the
peak ability of the GPU. Again, this is due to the CPU overhead of draw calls.
We believe that this limit for real-time software is about 1,000 to 5,000 draw
calls per frame, depending on the state changes and resource switching occurring
between them. Another important limitation is the primitive peak rate on the
 
 
Search Nedrilad ::




Custom Search