Hi Jan, thanks for the hint. Could indeed be an issue related to that, yes. I went down to 5.3.1 where that issue doesnt appear anymore. Interesting So it seems not completely GGX which AFAIK they invented in 5.3.x, but caused by something that they specifically changed in 5.3.2. Probably something due to them doing GGX implementation bugfixing? Anyway I think I'll skip the latest version and try out something like 5.4.x again.
With regards to my Unitys planetengine FPS drop (and CPU ms/frame increase) at lower altitude I've been moving certain parts to a separate thread I did in the render thread each frame previously. Especially parsing the quadtrees. Now the only thing remaining in the main render thread is
1. Dispatch to the GPU if there is something new to be calulcated
2. Relcaculate the bounds of each terrain plane (necessary each frame unless I create separate prototype meshes per quad).
3. Do the draw-calls.
But the framerate still drops at lower altitude. As this happens even when the camera does not move, the issue cannot be the dispatching to the compute buffer (1.). As I think setting the bounds (2.) should be straightforward and not CPU expensive, I suspect that the draw calls (3.) take too much CPU resources, increasing when getting close to ground.
Is there a certain rule of a number of draw calls you should not overcome without batching? In my case the FPS seems to drop sigtnificantly starting at ~600-1000 batches according to the Unity stats.
Guess the best thing I can do in Unity right now is to dynamically change and decrease the radius of the LOD Spheres while getting closer to the ground. While at high or medium altitude you notice farer details pretty well, at low ground its probably not necessary to keep them at higher distance (a few kilometers) - when I look out of the window right now, everything vanishes pretty quick after ~10-20 kilometers. I was guessing that the horizon culling solves the LOD at low grounds, but I think at large 1:1 scale the effect is not good enough to keep the number of planes and LOD (and so draw calls) low enough.
I am thinking of considering the distance of camera to ground compared to the planets radius to calulcate a certain decrease factor. Has anyone of you wo has used LODSpheres already tried dynamic radiuses?
@NavyFish: As far as I can see, you have worked on how to caluclate the best initial settings but do not change them based on camera position, right?