A guide to reducing z-fighting (LOD flicker caused by competing planar textures)
|Notice: Be 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 which 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. This is because the texture itself consists of different layers. If those layers cannot be strictly separated from another as it is with z-fighting you see the flickering. If your interested what it is exactly, have a look at this article: http://en.wikipedia.org/wiki/Z-fighting
Is z-fighting present?
Before tweaking any settings, first look to see if z-fighting is present in the game. It is recommended to backup INI settings in Documents/My Games/Skyrim before making any changes. Default INIs created via the Skyrim Launcher are recommended as the basis for tweaking. Further tweaking information can be found in Guide:Skyrim Configuration Settings.
There are two spots where z-fighting is readily apparent.
- Right outside the Helgen cave at the start of a new game, one can see a distant mountain range straight ahead. Provided that the weather is clear, z-fighting can be seen on the mountains.
- Any area around Whiterun, look towards the mountains in Riverwood's direction. This is the most notorious place where z-fighting is found.
Why do some have z-fighting and others don't?
There are systems that have really big problems with z-fighting and others that have little to no problems with it at all. Why that is, nobody can really say. Most certainly z-fighting has nothing to do with the power or performance of a system. The only reason why so many users with low-end system don't notice any z-fighting is because they have low-medium-high distant object detail settings. These lower settings can eliminate z-fighting on distant objects. The down-side is that very distant mountains look quite bad, especially for high-end system who's users want to improve their Skyrim experience to the absolute maximum of graphics quality. User on lower-end systems can set the Distant Object Detail to whatever eliminates z-fighting at the spots mentioned above and be happy about it. Users wanting to minimize z-fighting and keep Skyrim's beautiful mountains are welcome to read on.
How to fix z-fighting
Unfortunately there is no known solution which eliminates all of the z-fighting. It can only be reduced so that it's barely noticed, if at all. There are two ways of reducing z-fighting; the hard way and the easy way. The hard way would be figuring out what constellation of drivers, forceware options, general Skyrim settings, mods and ini-tweaks present the the best result concerning a user's specific system. If, users attempt this, please share the results in these topics: Forums and Forums. The easy way is to simply adjust a few INI settings.
Results From Testing
First of all I did a complete reinstall of Skyrim 1.5.26 and didn't include a single mod in my testing. Not even the HD-DLC-pack from Bethesda itself. I will do this in the near future to find out, what else can help reduce z-fighting. Then I followed my own guideline to systematically reduce z-fighting with every step I took:
No nVidia driver fixed z-fighting. There were some that had less z-fighting than others but even the "best" driver was still really bad. My general rule of thumb: use the newest driver available for your graphic card model. You can test the official and unofficial beta-drivers, too. If they present you with similar z-fighting, better performance and don't cause any glitches you didn't have before, stick to them. They are usually safe for use even if they aren't WHQL-certified.
Testing Nvidia settings
Certain settings in nVidia Control Panel and Inspector--like enable stereoscopic 3D and deactivating the effect when a game starts (Skyrim SLI Water Bug Fix)--seemed to worsen z-fighting, but since I was the only one evaluating about 40 videos which all had about the same amount of z-fighting, I cannot prove that any changes made there altered the amount or strength of z-fighting for me.
Checking Skyrim Launcher presets
I found out, that at High-setting I don't have any distant mountain flicker. Instead I had flickering on closer mountains. On Ultra settings only the distant mountains have flickering. I found the setting which caused this z-fighting and found out what it does in SkyrimPrefs.ini. The bad guy is "Distant Object Detail". Set on lower values moves the z-fighting closer to the player. On Ultra it is the furthest away. For obvious reasons I sticked to Ultra-settings.
INI-tweaking provides the most significant reduction in z-fighting in most cases, provided the right combination is used.
The thing is, not everybody gets the same z-fighting or the same results when applying my fix. You can post your own rig, drivers, skyrim version and the results of my fix for you personally. I'll have a look at it and try to make an educated guess as to what you could still improve. Important for you will be, that this fix costs you some FPS. In wide-open locations like the plains of Whiterun you might experience a severe drop of FPS depending on what other mods or ini-tweaks you use. If you cannot live with that you have 3 choices:
-take the fix and cut down on other mods or tweaks -forget the fix and live with z-fighting -go to your skyrim Launcher - Options - Advanced - View Distance - Distant Object Detail and set it to Medium or High and live with fugly mountains.
IMPORTANT: This fix is only approved for Skyrim Ultra-Settings from the original Skyrim Launcher. Whatever tweaks you made personally might cause problems. If you have a doubt copy your ini files to a separate folder. Then delete them from the Skyrim folder and open the Steam Skyrim Launcher. Pick Ultra-settings. Then start the game to create new .ini's. Now apply the fix(-es). After saving your ini-files make them "read-only" so your skyrim launcher cannot change any of the new values.
Open your SkyrimPrefs.ini. Usually it should be found under %USERPROFILE%\Documents\My Games\Skyrim
Edit the indicated sections of the INI like so:
[Terrainmanager] fBlockMaximumDistance=500000 fBlockLevel1Distance=140000 fBlockLevel0Distance=75000 fSplitDistanceMult=4.0
Save and exit
Open Skyrim.ini. You can find it in the same folder you found your SkyrimPrefs.ini
Under [Display] add the following line:
fNearDistance=20.0000 ;-or 25.0000 with attention to clipping issue (see below)
Save and Exit
ALSO: The fNearDistance-Clipping effect is getting GREATLY increased if you use FOV(Field of View)-tweaks! Any FOV greater than 70 will increase clipping. For standard FOV fNearDistance=25.0000 works okay, you get clipping but in no problematic game ruining way, since you usually don't want to run into things. Using a bigger FOV makes the clipping effect far mor noticeable in game. The fix will still improve z-fighting-issues even though you keep fNearDistance=15.0000 or delete the line completely from your Skyrim.ini, just not as well.
(Thanks to Gopher for this information. Check out his video series here: http://www.youtube.com/playlist?list=PL8069C4B9B22A03CF&feature=plcp)
NOTE THAT: Even when using neither FOV tweaks nor fNearDistance-Tweaks there is clipping. For reference just watch a wooden bar of a roof as close as possible. The clipping IS there. BUT: the higher the values of these 2 parameters are set the worse the clipping gets. Even vanilla Sykrim has clipping. Don't blame the fix, blame the people responsible.
IMPORTANT NOTE: Unfortunately the fBlockDistance-tweaks can absolutely kill your performance if you use mods that add tons of LODs such as The Skyrim Distance Overhaul. You can still apply the fNearDistance-tweak for it doesn't cause any other problems known so far besides (of course) the "clipping" (see above). If your rig is pretty good you might actually be able to apply the fBlockDistance-settings, too. I'd recommend you to try it out first and then decide whether your performance drop is too high or ok for you. Be aware, that your testing should be in wide open spaces like the plains of Whiterun hold.
Performance cost is too high! What else can I do?
You can try the fix on a clean Skyrim install without any mods and see if it's still too costly performance-wise. If you run a stable Skyrim config at Ultra-settings (>35 FPS recommended) you can try to change only the value of fSplitDistanceMult to something in between 2.0000 and 3.0000. You find this value in your SkyrimPrefs.ini. It makes the z-fighting less prominent. What you can try, too, is applying my fix in small steps. So instead of copy and paste, do some testing yourself.
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.