Render Modes and Shading

A more elegant site is in the works.

Table of render speed per model per screen size.

 

Mode ->

Immediate

Display List

Vertex Array

Vertex Buffer Obj

Object

Dragon LowRez

240fps

240fps

430fps

430fps

360fps

360fps

400fps

400fps

240fps

240fps

430fps

320fps

360fps

230fps

400fps

320fps

Dragon MedRez

22

22

350

320

45

45

190

190

22

20

280

155

40

35

175

135

Dragon HighRez

6

6

120

116

12

12

62

60

6

6

103

73

12

12

57

50

Buddha LowRez

90

90

400

400

175

175

430

430

90

90

400

310

150

110

400

160

Buddha MedRez

23

21

310

330

42

42

200

196

22

20

300

160

41

35

175

135

Buddha HighRez

5

5

100

95

11

10

54

53

5

4.5

85

66

10

10

50

44

Key:

128x128

256x256

512x512

1024x1024


 

Observations:

     The GPU used to render these models was an ATI mobile FireGL 5200. Seing these results, I am a little surprised that rendering in Vertex Array mode without Virtex Buffer Objects (VBOs) only doubles the framerate at best. It is also interesting to see that for the two faster rendering modes that there wasn't a real performance hit until the window resolution was 1024x1024. The most important piece of information from this analysis is that one should render using Display Lists whenever possible, and VBOs when it is not.

     To find out when my GPU became geometry limited, I rendered the dragon model at 250k verticies at a resolution of 512x512, and judged that it became geometry limited when there was a severe drop in framerate, or when the framerate dropped to the same speed as Direct Mode rendering of this model. I found that this occurred when I was drawing the model 7 times, which is approximately 1.75M triangles.

 

Sample Images

Yeah Right Model rendered with Display ListsYeaRight with a transparent green sphere.
Dragon with textured sphere Another Dragon with textured sphere
Buddha with textured sphereAnother Buddha with textured sphere