Download

Why is dithering between LOD transitions is so performance costly on mobile ?

Why is dithering between LOD transitions is so performance costly on mobile ?

Thanks

Any sort of masked rendering, including dithering, is inherently far more expensive on current mobile GPUs. These chips rely very heavily on specialized hardware for triangle sorting and occlusion culling to eliminate overdraw, and masking forces those features off because visibility cannot be determined without running the pixel shader.

Sounds plausible. Although no dithering happens when fps drops. It happens with base LOD visible and not transitioning into LOD0.

Now a days all dithering/transitions are forced to fit in a fixed timeframe or transition time with moving camera, whichever is shorter.
One of the issues with transition was that if player is static then all “in-transition” objects stay costly.

Is there a workaround for that? Or should I just stay with popping LODs and forget about transitions ?

I am guessing HISMCs and foliage can’t be used on mobile for the same reason :confused: I wish there was a way to disable dithered transitions on HISMCs and foliage.

So, as far as I can tell there is no way to disable per object, but you can disable it for the project with the console command:


foliage.ditheredLOD 0

Thanks to : https://forums.unrealengine.com/showthread.php?119052-Option-to-disable-dithering-between-LOD-transitions-on-HISMCs-and-foliage-in-4-13