Hi there,
I noticed that 5.8 seems to support dynamic resolution on PC for the DX12 and Vulkan RHIs.
We’re shipping on 5.6, but I’d be very interested to enable dynamic resolution for handhelds like SteamDeck where we have a fixed resolution/FPS budget, so was looking at cherry-picking some of those changes.
I tried taking the ‘main’ change I could see, and in a local Windows build with `r.DynamicRes.OperationMode 2` it seemed to be working pretty well!
- CL 48870621 https://github.com/EpicGames/UnrealEngine/commit/fffe479caaed35129a5776900159e1af78bc79ec
- “Enable Dynamic Resolution support for PC RHIs DX12 and Vulkan”
I also noticed a few other CLs that seem related to dynamic resolution which may be worth taking as well. I wanted to check if there were any other (harder to find) changes in 5.7/5.8 that it depended on, or if it really is as easy to backport as these few CLs.
- CL 48822173 https://github.com/EpicGames/UnrealEngine/commit/a2974b2c6869979e097293723efdc21f2c07f466
- “Keep HZB texture resolution at the Upper Bound views size (View.UpperBoundViewRect) in order to avoid the RT reallocation when dynamic resolution is enabled.”
- this one seems like could be worth taking if it’d avoid RT thrashing?
- CL 50292833 https://github.com/EpicGames/UnrealEngine/commit/4e4205aa2924d2d24b8708efd135fa9ef19d0719
- “Fix absolute world position coordinate is queried at wrong coordiantes due to dynamic resolution.”
- this one doesn’t seem as important, unless we sample world position within a pre-tonemap post process material?
- CL 48871066 https://github.com/EpicGames/UnrealEngine/commit/3376b24b7147c0ab54ef3a2a0407bcf84b272dca
- “Add a video setting to enable Dynamic Resolution for Lyra Win64 DX12/Vulkan”
- Not sure if we’d actually expose this to the user quite yet, but assume could take this and go from there if so
Cheers,
Geordie
[Attachment Removed]