One performance goal for Wondee is to run well on fairly old PCs and to run at ~120 FPS on a decent middle range PC. Specifically, to run at 144 FPS on my 6 year old development PC with a 2.5 year old video card and 144Hz monitor, and to run at 60 FPS with minimum settings on my 10 old PC and 8 year old laptop.
You'd think that using simple low poly objects and a fairly simple background would make this an easy task. What I found was that poly count isn't that big of a deal. Video cards these days can handle a LOT of polys without breaking a sweat. The bottle necks come from what's known as a 'draw call' and in my case a 'fill rate' limitation.
Well to make a long story short, I was able to reduce the draw calls from ~500 to ~150 and to improve the fill rate limitations of the fancy background using off-screen particles.
Wondee is running very well now, meeting my performance goals. Yay! 40-60 FPS at full settings on a 10 year old PC was even better than I expected, and being able to run at min settings on a crusty non-gaming laptop is pretty cool. Next stop, mobile performance...