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?
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?
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. "
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 :
Delete your day/night blueprint and run an openworld game only on daytime
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
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.
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!
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?
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.