I'm developing an algorithm that generates infinite procedural terrain. It is currently inefficient. How can I improve it?
The algorithm starts by generating a 16×16 height-map with simplex noise per terrain tile, then goes through a few "smoothing iterations" (averaging height relative to neighbors, and adjusting height to look connected).