use Batched Rendering
Tessellate each tile's polygons into one shared VBO/EBO (fill + outline) instead of one surface shape per feature. O(tiles) per frame; preserves per-feature colours. Set false for the legacy per-feature path.