HansKristian-Work / vkd3d-proton

Fork of VKD3D. Development branches for Proton's Direct3D 12 implementation.
GNU Lesser General Public License v2.1
1.75k stars 184 forks source link

Implement an adaptive internal latency handle. #1961

Open HansKristian-Work opened 3 months ago

HansKristian-Work commented 3 months ago

Optimize for smoother frame pace rather than strict adherence to the present wait internal. The scenario where this can greatly help is on FRR display where GPU is rendering slower than refresh rate. In this situation, we can observe that DXGI present blocks spuriously for a full frame interval, which can cause starvation issues, since CPU might become too late to submit more work to GPU in time, which is especially devastating on Deck due to its power management scheme.