We are taking some performance tests for our game and we’re trying to leverage all features to get some FPS back.
We’re tempted to use the Secondary Screen Percentage on PC to lower the cost of the TSR, especially at 4K, without hitting letting the native (primary) resolution absorbing all the cost.
However we have some doubts about this approach.
On PC you can select your display resolution, which give the user a good way already to balance performance on their hw setup. The secondary percentage offer a more flexible approach as it is not tied to the monitor supported resolutions, and allow you to keep the UI at maximum resolution while reducing the cost of all other passes.
So our questions are:
1) Do you think it makes sense to expose the secondary to the user?
2) Is the secondary percentage compatible with all third party upscalers (DLSS, FSR, XeSS) or is it better to stick with standard resolutions?
3) If enabling Dynamic Res on PC, do you have any recommendation on how to set the Min and Max resolution values?
> 1) Do you think it makes sense to expose the secondary to the user?
This is really dependent on your product goals and user experience goals. The CVar that is built-in does allow runtime modifications if you do go down this path.
This said, keep in mind users may not know the difference between the two especially since PC can set the target resolution as opposed to consoles.
> 2) Is the secondary percentage compatible with all third party upscalers (DLSS, FSR, XeSS) or is it better to stick with standard resolutions?
The secondary upscaler runs independently and is a spatial upscaler that runs after Post Processing. There is no interplay between the two parts outside of modifying the resolution at which each step runs.
3) If enabling Dynamic Res on PC, do you have any recommendation on how to set the Min and Max resolution values?
Keep in mind, Dynamic Res is not default-supported on PC. The RHI does not enable the associated RHIGlobal in WindowsD3D12Device.
Please see the note about Supported Platforms in this docs page: