Does that necessary to build picture on the fly?
How about pre-generate tiles and load them from cache when request? Here is a topic about that, maybe helpful.
And in fact, we don't suggest show all small polygons in a very high zoom-level. You put them to multiplyPolygon, that's equal you put mulitply polygons.
Here I have another idea not so well. Generate a image, which draw the borders of all polygons, then show it in high level instead of draw all the polygons.
Any question please let me know.