Raytracing landscape become very slow when camera moves

Hello guys.

I’ve been testing raytracing on landscape. RTX2060, 32gb ram, ue4.25.1, I made a 8129x8129 landscape(super simple material) in TPS template map, plus sun & skylight, nothing else. Then “stat unit”.

Without raytracing, it runs 8~9ms which is no problem, with raytracing(project default settings, no fancy parameters) I got 20~25ms when looking around(rotate camera). I guess that value is quite normal considering my little video card and huge landscape, but when I press WASD to move, GPU time quickly went up to 70ms. No matter how I tune parameters, for example I turn off RT shadow/AO/GI, only reflection left, and use low maxRoughness or almost zero RayDistance, still got much worse performance when camera moved.

I heard about epic or someone in forum successfully converted kitedemo to raytracing version. So I wonder what r your landscape projects performance with raytracing? Or somebody enlighten me why performance dropped so bad when camera move, is it because huge landscape generate enormous BVH so it’s not game ready yet, or I missed some key tweaking?

Thanks

2 Likes

I have exactly the same problem! Did you found any solution?

I get huge slowdown when simply increasing samples of Reflections and/or Translucency beyond 8. Every other setting is low, and using Final Gather 1/16. That’s on a 2070 Super with 32 GB RAM (DDR4, dual channel), Ryzen 5 3600 @ 3.6 GHz, 3D Nand 1TB SSD, and 165 Hz refresh rate 1080p monitor. It’s also not producing correct rendering of the starter glass sculpture. How is it possibly production-ready with all the problems it has?

i have the exact same problem . i made a post related to this . this is the link .
https://forums.unrealengine.com/community/general-discussion/1841382-what-is-this-raytracing-dynamic-geometry-update-sorry-i-m-a-noob

Its been 4 days that i am looking for a solution and the only thing that i got is this tip from Ben Cloward’s youtube channel . he said : . . .

" In order to speed up the process of doing ray triangle intersections, the engine builds a bvh or bounding volume hierarchy. For static objects, this can be done once before the rendering starts. But for dynamic objects it has to be done every frame. So it sounds like you need to reduce the number of objects in your scene that are marked as dynamic. "

so we need to reduce the number of dynamic objects but in my case the only thing that i have is a landscape . Pain-64-bit-Development-PCD3-D-SM5-12-9-2020-7-30-45-PM hosted at ImgBB — ImgBB
i forgot to mention the whole thing is happening because of the “raytracing dynamic geometry update” in the picture .

i wrote all i knew . let me know if you find anything . i am still dealing with this sh*t mate

i am writing this now even though its already too late . there is a process called bvh testing that is related to raytracing dynamic lights . my game has a day and night cycle which requires the sky light and the directional light to be movable which means its dynamic . the engine needs to process the dynamic shadows for every single each frames instead of baking the static ones for once in the beginning of lunching the game engine . My chances were :

  1. Delete your day/night blueprint and run an openworld game only on daytime

Similar issue when adding a second (or at least Cine) Camera to a scene.

I’ve had more success in scenes without a landscape (I don’t get huge numbers for “Ray Tracing Dynamic Geometry”).

Based on the other responses here, my conclusion is that Ray Tracing is still not optimized to the point where we can entirely turn off static lighting and at least use the editor.

I’ve found changing the landscape Max LODLevel from -1 to 1 fixes it for me, I think something isn’t working in the occlusion or LOD system for landscapes.

1 Like

Thanks for this! This really helped to identify the issue :slight_smile:

I had a similar issue and the only way to ‘fix’ it was to disable raytraced shadows using the console command (disabling all raytracing shadow options in the light and postprocess wasn’t enough)

Good thread, I ended up turning off Raytracing for Landscape and the perfomance went back up. For my scene it didn’t really affect the look much fortunately
r.RayTracing.Landscape 0

This does fix the performance issue for me, but the landscape does not go back to using the old shadowing method, it just becomes shadowless which is less than desirable…

I have figured this out. The RT dynamic geo update is calculated each frame when the camera moved. By default, UE4s landscape geometry is significantly too detailed on distant terrain. Try reducing your LOD Distribution settings to the following:
LOD0 Screen Size: 1.75
LOD0 1.0
Other LODs 1.5
You should no longer be seeing nearly as much of a performance drop - however this is pretty aggressive LOD scaling, so you may need to bring some of those values back closer to their defaults if you’re unhappy with the look and have some performance to spare. There still is some hit when moving, but on a 3080 I was going from 120fps to 100fps instead of 12 fps on an 8k landscape.

1 Like

BananableOffense thank U man. I tested extreme LOD settings before, maybe in 2019, when LOD0 screen size is > 1, the land is very much possible to not fully tessellated to LOD0 even right in front of camera. so basically I got a 6k maybe 7k land, with a 8k map. As for OtherLODs, I guess golden standard is checking it in wireframe mode, should see wires, not a solid island, my setting is close to urs, 1.7~2. Thanks ag!

mister_hister thanks for the explanation. If I have to choose between dynamic day&night and raytracing I definitly go for the former :smiley:

Thanks researn ur tips works indeed, oh my… even better, I tested MaxLODLevel to 3, 4, 5, still works, much faster than maxLODLevel = -1, and no real loss LOD feature I guess
Wish epic doc add some tips like this, it’s free 30 more fps in raytracing. Basically maxLODLevel = -1 causes GPUSceneUpdate tick time going sky high in Stat GPU, I thought -1 just mean auto detemining the real maxLOD value, not sure is it a minor bug

Thanks so much for this, had no idea why this was happening! Can anyone please explain WHY this happens when looking though a cine camera but not a regular perspective viewport? Do those LOD settings differ when viewed through a camera? :thinking:

When using the Cine Camera it’s probably switching to more cinematic settings (try unchecking the cinematic scalability in the cine cam to test). I couldn’t find anything in the documentation saying this would effect landscape LoDs specifically but I think you’re most likely correct.

1 Like

Just touching base that this worked for me as well.

LOD0 Screen Size: 1.75
LOD0 1.0
Other LODs 1.5

As takistudio suggested as well, I saw additional improvement with MaxLODLevel to 3, 4, or 5 instead of -1.

1 Like