In rendering, a Profiling method is gold for optimizing Fillrate. Some portions can get close to memory bus bandwidth (staring into a wall), per-pixel operations scale quadratically with resolution (big room with few walls).
I'm sure you know some culprits already, I'm stressing this because the more you know about the slowest rendering code, the more frame time you can remove. Measure frame times accurately, and improve low FPS outliers as first priority; ignore average FPS until you've addressed the major time sinks, removing as many per-pixel operations as you can.
Profiling gives insight into relative performance. Regarding absolute FPS expectations: A 486DX2-66 MHz "struggles a bit"
[ Show youtube player ] (usually means ~30 FPS) @ ~256x140x8bpp (with enemies, shots, score, damage, etc). An 060 is faster per MHz if utilized properly. More information about the systems you run your code on is required to draw conclusions about code performance vs ideal (or close-to-ideal) hardware performance.
|