I'm a graphics nut. I remember fondly my early days rewriting portions of Borland's graphics API to speed it up. I watch movies I know will be horrid on the big screen just so I can get a good view of the special effects. Every few years, I write a new 3D engine for fun. It's possible I've spent more on graphics, game engine, and UI books than on every computer I've ever owned.
Given a choice of topics to get paid writing about, I immediately pitched a series on 3D engine design. And on any given day I can be seen searching for the latest tidbit of graphics hardware news or furiously writing notes for my next act of Hubris.
It's a tough job, but somebody's got to do it.
In this archive are two very low-level OpenGL benchmarks, plus some common code and data that abstract away a fair amount of boilerplate and allow the benchmarks to use either the SDL_perl or POGL bindings to OpenGL.
trislam is a crude but effective method for testing the overhead and maximum performance of various OpenGL methods for pushing triangles. It also handily demonstrates that, with proper care, Perl's performance limitations need not be a bottleneck for a 3D application. I have been able to achieve results within a few percent of theoretical maximum performance for my hardware, in both vertex/triangle and pixel throughput.
topspeed measures the maximum rate at which several very simple OpenGL operations can be performed, either in frames or megapixels per second. Even on relatively old (OpenGL 2.x class) hardware, the default window size will give tens of thousands of FPS, so I suggest using ./topspeed -? to look at the help for changing the window geometry.