A guide to reducing z-fighting
by: The Step Team | Forum Topic
NOTEBe aware this Guide is significantly outdated! While the information may still be good, we can't guarantee it.
What is z-fighting?
'Z-fighting' describes a very complex problem that spreads across many games and many graphic cards including the two big companies Nvidia and AMD. In-game it shows as a very fast flickering texture, usually in the distance. This flickering results from the texture, itself, consisting of different layers. If those layers cannot be strictly separated from another, the will often "flicker" between which layer, or more precisely, which pixels from those layers are visible. This is z-fighting. For a more technical information, see this article: https://en.wikipedia.org/wiki/Z-fighting
Is z-fighting present?
It should be determined whether z-fighting is present before making any tweaks. There are two spots where z-fighting is readily apparent, when it's present:
- Outside the Helgen cave exit. Users can see a distant mountain range straight ahead, and provided that the weather is clear, z-fighting can be seen on that range.
- Any area around outside Whiterun. Users can look towards the mountains in Riverwood's direction. This is the most notorious place where z-fighting is found in Skyrim.
Why do some have z-fighting and others don't?
Some systems may produce heavy z-fighting while others produce little to no z-fighting at all. Why this is, is really not known. What is certain, is that z-fighting has nothing to do with the power or performance of a system. However, users with low-end systems or users with low to medium Distance Object Detail are less likely to experience z-fighting due to these lower settings being able to help negate most z-fighting on distant objects. The down-side to using these low settings is that very distant mountains look quite bad.
User on lower-end systems can set the Distant Object Detail to whatever eliminates z-fighting at the spots mentioned above. Users wanting to minimize z-fighting and keep Skyrim's beautiful mountains, will find the remainder of this Guide of use.
Unfortunately there is no known solution which eliminates all of the z-fighting. It can only be reduced, but can typically be reduced so that users will hardly notice it, if at all. There are two methods to reduce z-fighting; one being harder than the other. The hard way would be figuring out what combination of drivers, forceware options, Skyrim settings, mods, and INI tweaks that provide the best results concerning a user's specific system. However, there is no way of doing this for a Guide. Therefore, this Guide will focus on only one of these, INI tweaks.
Results From Testing
During testing, several Nvidia driver versions and driver settings were tested and none of them reduced z-fighting. Therefore, users should just use the newest driver available with the recommend settings for Skyrim. When investigating the Launcher settings, it was found that using the 'High' setting removed distant mountain flicker, but added it to the closer mountains. Using 'Ultra' resulted in only the distant mountains having z-fighting. This testing lead to discovering the "Distant Object Detail" option is the main cause of the z-fighting, therefore the INI settings for this option were investigated.
INI tweaking provided the most significant reduction in z-fighting during testing, provided the right combination of values are used. However, not all users will achieve the same results when applying these changes, and some users might experience a drop in FPS, depending on other mods or INI settings in use. Users who experience one of both of these issues have four choices:
- Use the INI settings in this Guide and cut down on other mods or INI settings
- Revert the settings from this Guide and live with z-fighting
- Set Distant Object Detail to Medium or High and live with ugly mountains.
Additionally, mods that add distance fogs, mists, and/or mountain fogs may help to hide any remaining z-fighting for users still experience some z-fighting after adjusting the settings or for users who had to revert the settings due to performance.
NOTEFor this Guide, Ultra settings were used as reference for the INI tweaks. Thus, the values for the settings below are meant to be used with Ultra settings. Users not running on Ultra may experience difference results.
- Open SkyrimPrefs.ini.
- Edit the indicated sections of the INI below in the box.
- Save and exit.
[TerrainManager] fBlockMaximumDistance = 500000 fBlockLevel1Distance = 140000 fBlockLevel0Distance = 75000 fSplitDistanceMult = 4.0 [Main] fSkyCellRefFadeDistance = 600000.0000
- Now open Skyrim.ini.
- Under [Display] add or change the following line:
fNearDistance = 20.0000;-or 25.0000 with attention to cutting issue (see below)
- Save and exit.
Texture Cutting Issue
The normal value for the fNearDistance setting is 15.0000, and 25.0000 is the maximum approved value for this Guide. However, increasing this value can cause texture cutting at the left and right edges of the screen when the user is up close to objects. This presents itself as if the objects turn transparent at the edges. If this cutting occurs, try values between 15.0000 and 25.0000 to find the right balance for the individual system.
The cutting issue is greatly increased when FOV (Field of View) edits are in use. For standard FOV,
fNearDistance = 25.0000 works well. At that value, users may still see some cutting, however, users would have to nearly run into the object to see it. Any FOV greater than 70 will increase the cutting issuing; making it more noticeable. If the issue is just to great, users can keep the default value of 15.0000. The other edits will still reduce z-fighting, just not as well.
Thanks to Gopher for this information. Check out his video series here: https://www.youtube.com/playlist?list=PL8069C4B9B22A03CF&feature=plcp
Unfortunately, the fBlockLevel* settings can impact performance, when using mods that add a lot of LODs. Therefore, users are encouraged to test the new values with while monitoring their FPS. Users who experience to great of a performance loss will not be able to use this fix, but can still apply the fNearDistance change since it doesn't cause any performance impact. Be aware, that testing should be done in open spaces like the plains of Whiterun hold.
Thanks to Torminater for all the hard work in testing and compiling the initial results for this Guide.
Help research z-fighting in Skyrim
Everybody who wants to help is welcome to do so. Try to build on the work already done on the topic of z-fighting and expand on it. Do your own research and post your interesting findings in this thread.
Is this it? Will there be a continuation on this work?
As long as there is z-fighting in Skyrim and I am playing video games I'll work on this matter. Anything new will be added to this guide and mentioned in the Update-Section. Feel free to join the STEP community and contribute to our project!
Thanks to Torminater for all the hard work in testing and compiling this guide.
Thanks to hlvr for his dedicated work on z-fighting (his own thread can be found here and his own fNearDistance-tweak that helps a lot against z-fighting.
Thanks to the STEP community for testing a whole lot of different settings and thus providing us with a wider range of experiences.
Thanks to anybody who is working on the z-fighting issue.