I’ve been testing performance when rendering very large quantities of vertices in OpenGL. More specifically, I’ve been rendering millions of triangles that are too small to actually show on the screen using interleaved, mapped VBOs (Just to see what I could do ). I’ve done everything I can to maximize the efficiency of the rendering. Anyway, I’m a bit confused about the amount of computation which appears to be necessary for each vertex. Assuming that most of the GPUs processing power is going to dealing with the millions of vertices, It appears that these vertex operations take around 500-1000 FLOPs (floating-point operations) each. I suppose this isn’t unusual, however, since vertex operations are traditionally more expensive than texture and pixel ones. But my first question is: does anyone have any insight into the breakdown of the computations required at various steps of rendering vertices in OpenGL (Per-Vertex operations, primitive assembly, etc.) What confuses me is that, based on some work I did earlier with software rendering of 3D scenes, it doesn’t seem that simply rendering vertices without any lighting or special effects should take as much as 500-1000 FLOPs per vertex. Is there any way to improve efficiency of rendering just vertices, or does anyone understand what it is that requires so much computation?
Thanks in advance,
Alex
btw I’m using a GeForce GT 430; I know it isn’t very powerful but that shouldn’t have any large effect on efficiency