Rendering large size map

I know in order for people to make a game with a large open world, they break up the whole map into several chunks that can be more efficiently rendered while saving up the memory. But some games don’t appear so. Take Skyrim for example. It is a large open world, and it seems that the whole world is loaded all though the game because you can see the mountain far from you and you can actually travel there, not by fast moving, but by walking step-by-step. Not the whole map loaded, right? One possibility I can think of is that the map (I am only referring to the main world, not counting those dungeons, caves etc ) is divided into several sublevels, and only those that can be seen by the player are loaded and rendered. I am not sure if it’s correct, and if it is, how should it be done in the code (or in the editor, if possible)?

Another question: usually when we open a big project, like the Infiltrator, the rendering time is so long because it has to render the whole map. But when we enter Skyrim, the loading time is way shorter, and the rendering seems to be done in no time. Even if only a small part of the world is rendered, the time it takes is still amazingly short. I am really confused.

By the way, my laptop specs: i7 6700k, 8g gtx 980, 1T 7200 hdd, 32g ddr4 RAM. This is kind of top of laptop specs, but even so when I open Infiltrator it takes more than 10 minutes. And for Skyrim, less than 1 min.



Because the large maps are loaded proceduraly at run time as there is no way to fit such big amount of data in memory the future parts of the map can be visible because they are rendered using a so called MIP maps, a MIP level allow the system to swap the proper texture resolution based on the surface distance witch means if something is far away from the camera it uses less number of pixels to render, the game space is updated based on distance as well, you can see this behavior when you stand in the right place of the map in older gta games where vehicles future away just disappearing I guess they are just moved from one part of the map to another to eliminate the need of destroying/creating objects witch will decrease cpu overhead and possibly eliminate the overall memory fragmentation, but I guess the fixed allocation size memory pools are used for this, this is all a game specific stuff and there is no ready made solution for each system so these values must be tweaked to get the result you want

hey u can add the fact that many games used space partitioning to do divide the space and process stuff based on that, the doom creators used binary space partitioning in their game or it was a quad tree can’t remember