About speed, if you use instancing within DirectX you can spit out 20k without breaking sweat. And it's not that hard to accomplish!