MAJORLY redo the map service, so that it can generate even absolutely huge tiles (map layer size 8) in < 200ms, even with no cache. This will make loading the world map actually quick enough that it doesn't force the user to wait while the map loads.