These apps don’t make benchmarking easy:
- vsync is on : I had to force vsync off from the driver, otherwise I always had 1600 ms benchmark time (exactly 96 frames at 60hz) for all the GL benchs. Try wglSwapInterval(0).
- as first “Test Performance” is different from all others (from second test, it is always faster), and benchmark duration is very short (any tiny activity on computer can change the result a lot), results are not repeatable
- window size is very small, the lion does not fill an enlarged window, and image complexity is quite low, so not much is actually benchmarked
- not automated, ie. needs manual action to run benchmark and need manual action to note the result
Things to fix when you ask people on a forum for performance feedback
Enough (constructive) criticizing, now the results !
Nvidia GTX275 + FW 191.07 + Core2duo E8500 + Vista 64
Methods 2-3-4 were pretty much the same, having lowest times for both default window size and maximized near 1920*1200.
Complete data :
on default window size :
01: 412ms first "Test Performance" 404ms second "Test Performance"
02: 392 388
03: 402 377
04: 409 391
05: 711 688
06: 623 555 + ugly without AA
on maximized 1920*1200 :
01: 1335ms "Test Performance" 1238ms "Test Performance"
02: 462 454
03: 499 440
04: 441 419
05: 882 848
06: 616 552 + ugly without AA
05 being twice slower is a bit surprising, you should use 2 VBO, one used for uploading your data and one for rendering, then swap. So upload is doable in parallel with the card rendering previous one, and avoid too tight GPU/CPU sync.
It would be interesting to isolate the mandatory CPU part (spans generation) from the line rendering itself to make easier benchmarking.
Anyway, I am impressed as how the GL accelerated looks exactly the same as the high quality CPU antialiasing, impressive.
On a more general note, are you after a generic rendering system, or something tailored more for edition, manipulation, visualization , … ?