As I reported many times, dithered transitions between LODs on HISMCs and foliage causes horrible performance drop on mobile/mobile VR. HISMCs and foliage do not respect material option checkbox, and while I don’t know if it’s a bug or not, I think either they need to respect that option or need an extra option to be able to disable dithering and let it pop in order to maintain performance.
however I believe they said they would fix some of the issues with LOD transitions in 4.13. IIRC at the moment there’s some miscalculations in the LODs which apparently cause the 2 meshes of a LOD transition to render for a much larger distance range than they should (instead being completely hidden when the transition ends)
maybe if they fix it, maybe it will fix your performance issue
There is a cvar that disables dithered LOD transitions, but I couldn’t find a way to bring it back Plus it doesn’t seem to have any effect on performance
I don’t even want the option because of any potential performance drops, but because the transition in some cases (in 4.12 anyway, haven’t tried in 4.13) is actually more noticeable than just having the new LOD pop in over just 1 frame. Forcing the LOD to transition like that is making a lot of assumptions about the art you might be throwing at the foliage tool that should be left up to the developer.
Looking at their actual note though, it’s understandable why they wouldn’t want to do it if this is the drawback. That would probably hit both performance and the visual impact pretty negatively.
IIRC there’s some settings that control how fast the LOD transitions are. if your issue is purely visual you could make them instant (if the settings actually work)
it’s a workaround but it seems a full disable won’t be happening
Hmm. That would actually do it. Maybe instead of including an option to disable the effect, it might be possible to have an option to choose per-LOD the length of time you want the transition to take place over?
How so? It’s doing the same process, only reading off of a wider range of variables instead of a single one from the console command. Might not be too different, especially if it’s only used on a handful of objects instead of manually setting it for every mesh in the scene.