Heres what I have learned so far. The game world seems to be broken up into "grids" (cells, blocks) or sections that are loaded into view as the player moves around, the amount of grids to load is controlled by the variable "uGridsToLoad" located in the skyrim.ini. I am unsure if uGrids refers to a static division of the world itself, or simply an incremental distance from the players central position at which data is streamed into view. The default value appears to be 7 and the game is likely programmed to only accept odd increments (e.g. 7,9,11). 13 is the highest uGridsToLoad value that I have managed to run on my system (6gb RAM, i7 950 3.0ghz, GTX480 1.7gb), others with more RAM could possibly experiment with 15. To prevent stuttering the game buffers grids outside of the viewing area, the size of this buffer is controlled by the value "uExterior Cell Buffer" also located in skyrim.ini. For anyone interested in experimenting with these settings I have created a tutorial here.
Here are some screenshots ive taken with different grid values (FPS @ Top/Left)
As you can see the difference is astounding. There are gameplay implications aswell, I find myself discovering more in the game world when I can actually see it from a distance, even in the image above there is a fisherman and his boat visable only at level 9, something I might have overlooked at level 7. Enemies can be seen from greater distances also, allowing you to avoid certain confrontations. But in the end it just looks better =)
There is a downside tho, even with a relatively high end PC any value above 7 is unplayable for me. I have experienced frame rates of 17fps and under with uGrids at only 9.. Including iPreloadSizeLimit=536870912 (I assume this fetches upto 512mb into RAM?) and fMasterFilePreLoadMB=128.0000 in Skyrim.ini did help a lot, but still unplayable.. So I experimented to see if it was a Graphics or CPU bottleneck and amazingly halving the resolution, turning off all anti aliasing, all filtering, and a whole bunch of other stuff did NOTHING to my frame rate! This game eats CPU for breakfast lol I guess extending the amount of grids increases the number of active NPCs..? Altering "fLODFadeOutMultActors" in SkyrimPrefs.ini does nothing because this only controls the amount of actors rendered on screen, I assume AI routines are still beeing processed in the background.
There are ways to decrease the amount of detail while maintaining a higher uGrids value, using the [TerrainManager] settings in skyrimprefs for instance. I can decrease fTreeLoadDistance (distance to render trees), fBlockMaximumDistance (distance to render terrain blocks) and fGrassStartFadeDistance (distance to render grass) untill there's basicaly no grass, trees or any terrain detail in the game what so ever lol it makes Morrowind look practicaly photo realistic by comparison and still no effect on FPS, wich is really strong evidence this game could look a lot better if somehow the Graphics and CPU resources could be scaled independently of each other. Why not just increase the LoadDistance's and LODlevel's for trees, grass, objects, actors etc and leave the uGridsToLoad value at default? Because no matter how high you set these values they will never render beyond the visable grids, outside this area appears to be a completely seperate "skybox" and there is no ability to control visual fidelity or move assets in/out of this region.
I think the only way to make this work is to mod some of the higher fidelity assets into the skybox, textures might be easy enough but most objects dont even exist in that space. Perhaps there are values deeper inside the game that allow greater control over CPU resources, number of active NPCs etc that we can scale back to increase performance? A solution could potentialy be very simple (or impossible) and I think the results are much better then any texture pack could achieve, what do you guys think? I will keep working on this but my programming knowledge is average, so I welcome anyone who wants to help =) I want to create a better draw distance combined with some higher resolution assets and a few tweaks and package it as a MOD.
Edited by Freemanhl2, 25 November 2011 - 12:55 AM.