5.5 RHI Hitching

Hello,

I’m getting many reports of camera snapping / large lag spikes in my public playtest.

Managed to get a trace from a tester and seeing huge RHI stalls. This is only happening for a small portion of users. For others, the game runs seemingly well!

This happens on all hardware, both low spec and high spec. Also occurs on both AMD and NVIDIA cards.

Going to start stripping everything back and switching systems back on one by one, but really not sure what could be causing this?

Update:

Disabling virtual textures seems to have fixed this?

Unsure as to why

Possibly related, but we were seeing some crashes with Present and introduced a couple changes in 5.6 to fix those which seemed to address the issue we were seeing, but this is a crash fix not a stall fix.
CL#38629989 (d3f049e) Relaxed presentation check with additional logging
CL#39799334 (740624c) Re-enable D3D12 dummy backbuffer to work around crashes due to exiting or re-entering exclusive fullscreen where the backbuffer index gets out of sync.

Do you see any RHI warnings or errors in the logs? If you’re able to reproduce the problem reliably it’d be interesting to see what -d3ddebug outputs.

UNREAL ENGINE 5.4 EXTREMELY BAD PERFORMANCE - #132 by Krabworks

I see you also posted there tenpindan. Info for the staff on that thread @Petrockets.

@Krabworks

Since he pinged me here - FYI RHI stalls were happening for me on 5.3 and 5.4, and significant performance loss as a result. The linked thread shows some of the context.

However I have not been able to test in 5.6 yet to see if there is any improvement. Basically the issue was GameThread running asynchronously with RHIT, so despite operating on separate threads they were still running basically as if in sequence and not in parallel and costing frame time.

The GameThread would idle on waitfortask while the RHIT stalled and add 8-9ms to the total frame time (massive cpu cycle waste and it basically doubled the frame rate on some rigs). I had two systems with the same CPU (i9 12900k) and different GPU, the RTX4080 system was affected more than the RTX3080 system.

There were no RHI warnings or errors in the logs.

Thanks for replying @Krabworks. I appreciate the information.

I’m still wrestling with this issue unfortunately. The supposed fix of disabling Runtime textures did not work outside of a single user.

I’ve profiled this issue for a while now and still can’t find the cause. I even stripped the build right back to its barebones, stock UE settings, (minus nanite, VSM etc…), disabled all plugins, and test users were still tracing the hitch.

Like you also saw, it occurs on high end hardware as well

Is what you’re referring to related to GT.SyncType at all?