Basics of creating map chunks?

I’m working on an MMO, and want to make it so the maps are basically endless. I’ve been looking into map chunks, basically where you have 9 squares, each square representing a certain portion of the entire map. This way when the character moves, instead of rendering the entire map, you only render what’s in the player’s view.

Are there any good introductions on how to do this? And is this the best solution for a 2D MMORPG. Also does LibGDX have any libraries that supports this. I have no idea where to start with this.

I’m not sure if LibGDX already handles this, as I noticed the more I zoom out the more the FPS drops.

Edit: I forgot to mention that I am using TiledMap, so OrthogonalTiledMapRenderer, to render the game map. Would it be a better solution to drop that entirely and render it tile by tile?