Hardware Ray Tracing Confusion

Hey, first of all i have an rtx 3070. here is one thing i am having a hard time understanding, with the default settings on the Ancient example i get around 60 frames when Lumen is turned on and the hardware ray tracing is off. Whenever i turn hardware ray tracing the fps drops to 10ish, even though i have “use hardware ray tracing when available” option turned off, so basically i am not running ray hardware rt, basically just software lumen like on previous settings but my fps drops 6 fold even though everythings exact same like before, dont really get whats going on here. Use hardware ray tracing when available option doesnt actually make a real difference i can tell, maybe 1-2 frames, but the quality is real different.

Another thing i realized was some architecture project i was working in the office was giving me good enough fps(40 something) with hardware rt, then as soon as adding some quixel materials it dropped to like 5-6 which made me think it was an issue with the materials of course, turning hardware ray tracing back off lets it jump to 40s again.

One more thing is that i expect getting some extra boost from my 3070 to give me better results than software ray tracing but it doesnt, so whats actually is the point here of having lumen on hardware mode when i get really similar performance as brute force? I know that 3070 is not the best rt card out there, but its definitely above average. I would appreciate if anyone could help me to understand what exactly is going on, a couple hours research didnt get me any results so thanks

I understand your confusion, but there are some key points of interest when changing settings that you should be aware of:

  • Real-time Ray Tracing by hardware on NVidia cards with low amount of VRAM needs DLSS, which basically will render in lower resolution and scale up. You could say about the same on AMD cards.
  • If you have Ray traced GI (Global Illumination) turned on and it is using RT by hardware it will take a huge cost for open environments, but will be ok for closed environments.
  • Size of the textures you are using might be too high, which will require large amount I/O to load the textures which will reduce the overall frame rates, and those sizes will cost more on HW RT if you are not using DLSS.

I recommend to make sure when you are enabling Lumen with HW RT, that Global Illumination is not enable with HW RT, let Lumen handle the GI.

It would be interesting if you could share more about the scene in question to allow the forum audience to give you more hints on whats going on. :wink:

2 Likes

Hello!
Couldnt find the answer to this too. Just upgraded to a rtx 3060ti and my project with software lumen stays at 50fps. When I enable hardware raytracing it goes to 8fps, even when not using any raytracing or lumen. I messed around plenty of setting and couldnt figure it out, any help? thanks

That’s interesting. Are you using EA or the final release?

I had the same problem. Hardware RT in EA is truly half-baked, and can only really handle interior scenes with small instance counts. Courtesy of HLOD, virtualization and several miscellaneous improvements, HWRT in UE5.0 can handle effectively unlimited world size, just like SWRT, and at a much higher quality.

I believe the cost comes from ‘support hardware ray-tracing’, because it needs to maintain an acceleration structure that doesn’t scale well to large numbers of overlapping instances. UE5.0 still has this problem, but to a lesser extent, so upgrading your engine may make a difference.

I’m using the final release. My project core concept is around foliage, very large number of overlapping instances, so I thought maybe that was the problem but even if they dont cast any shadow or arent in the scene, the FPS is under 10.

My project is minimalistic, depending on virtual shadow maps, lumen and reflections…all textures are solid white, just one building and a big grass land, a few meshes and thats it.
Also today I compared with the ancient demo and it gets a higher FPS (60ish) than my project but all the configurations I could find are the same. So I’m having two problems? One can be causing the other?

Could it be something related to the project coming from the EA? Because the same project in Unreal 4.27 was 120fps and at the same settings in the U5 (no lumen) I get max 80 FPS

Ah, I see. Foliage is a big performance-killer in Lumen, for multiple reasons, but you mentioning them not being present is interesting. Do you mean they’re unloaded, or set to be invisible, or hidden in a data layer? Also, traversing alpha-masked materials and compensating for their over-occlusion in UE5 comes at an extra cost, which may explain some of the issues in scenes where they’re visible.

Solid white can have weird implications for lumen because it keeps bouncing light around . Every time light bounces the strength attenuates, eventually stopping, but if everything is near-perfectly or perfectly white, the light bounce keeps propagating and eating performance. What is the white material’s albedo?

And that is very interesting, and strange. To answer to the best of my knowledge, the performance profile of UE5 between EA and 5.0 is massively improved, but it does sometimes behave very strangely. The performance cap maybe an example.

I will re-ask, is this software or hardware RT? the performance profile and limitations of both are very different, especially in regards to thin geometry such as foliage and how it’s handled.

first of all thanks for the help!
With software RT I get 40ish on Epic but this seems a high cost for whats going on. With Hardware RT I get 8 FPS no matter what I do.

My vegetation is not the problem as it gets best performace when I go deep in it (have a low radius culling) and when I remove it from the whole landscape (using painting in landscape mode) I gain just a few frames.

Based on what you said I did some tests for software RT:
Changed all the white material, which wasnt pure white, to black or colors - no diference
Changed roughness and/or scalability reflections - no diference

For Hardware RT (all epic):
Created another project (car template) and all works fine. Put 192 cars in the scene and used my materials on it, Hardware RT worked even better than just lumen. Migrated all assets from my project to this and there is no difference between software and hardware rt, both lock 60.

All thats left with my basic knowledge of unreal is that maybe I messed up with something regarding the landscape or something is wrong with my project? Thats why I asked about coming from EA, because even setting scalabilty to low with hardware RT I get the same 8 fps

For anyone who has the same problem, I found the answer. Reading the documentation I thought that lumen would work very easily with any landscape but depending on the size and resolution it can cost alot.
Deleting or changing the resolution + landscape LOD settings for my terrain got me, with lumen, from 40fps to lock 60. For hardware RT I got from 8 fps to 60fps aswell.

this helped me out

I think I understand, so your performance cost was coming from an overly-tesselated landscape? Great work solving your own problem, this was very puzzling to me as well.

That would explain why I haven’t run into it then, after UE5_EA’s initial limitation on lumen and landscape (since gone), I got used to constructing bigger scenes using SMs exclusively, and only dabbling in landscape for smaller tests. This does make a lot of sense, truth be told.

I’d also like to voice that I think landscape needs a massive overhaul. With unlimited geometric resolution being trivial to enable with Nanite, landscape really doesn’t have any similar easy feature anymore. Displacement and tessellation seem broken, and the new virtual heightfield mesh system is unintuitive enough that I’ve never gotten it working correctly.