Skyrim Tweaks and Fixes 1: Mountain flicker and Z-fighting
Part 1 of my new video series aimed at helping people tweak the game and fix bugs and glitches. This episode focuses on something known as Z-fighting which causes distant mountains to flicker when the player moves.
Resource Links:
STEP - Skyrim Total Enhancement Project
S.T.E.P. Community Wiki
S.T.E.P. Project Wiki:Z-Fighting
27 comments
Comments locked
A moderator has closed this comment topic for the time beingI've tried quite a few ini tweaks myself as this z-fighting issue was just awful. With all those other solutions I still experienced it. However, obeck22's solution works for me. I've absolutely no problem with less details in the far away mountains as the focus per se is my character's direct surroundings, so this tweak is definitely my cup of tea. Thanks for all your hard work on this issue, and special thanks to obeck22. :-)
As suggested in this topic by setting my game to ultra settings seems to have stopped the flickering mountains completely. Thanku all.........
Specs:
Win 7 Home Premium (Service Pack 1)
64 Bit Operating System
AMD Phenom II X4 955 Black Edition Running at 3.8 GHZ
8.0 GB Ram
GTX 760 At Factory Settings (No Overclock)
Happy Gaming 2 u all.
So first a primer on floating point numbers:
Floating point numbers have an exponential distribution.
32 bits = 4294967296 maximum possible values. floats have a few less, because they need to encode NaN (not a number) and INF(infinity).
1 sign bit, not relevant to z-buffers
8 bits are used for the exponent, half are for negative exponents to make numbers between 0..1 and the other half are for values from 1..max float (1e38 or so, a huge number)
23 bits are used for the mantissa.
This all results in a few really non-intuitive properties:
Ok so with this knowledge it can help explain the various types of precision loss that can occur with a polygonal mesh:
The simplest 'non programming' fix is often to remove the overlapping polygons (merge the meshes, get rid of as much overlapping geometry as possible).
Z-buffers are 24 bit (no sign bit, possibly fewer exponent bits since they don't have to store positive exponents, and the exact nature of each hardware configuration is a guarded secret). They behave the same otherwise as 32 bit, but fewer bits means its easier to see these kinds of precision problems.
I can't walk around and finish the Elder Knownledge