Streamline
Streamline copied to clipboard
Streamline forces DXGI_PRESENT_ALLOW_TEARING
Streamline forces DXGI_PRESENT_ALLOW_TEARING with no control over it, as described by AMD. There is currently no option to disable this behaviour.
Can point, where is described by AMD?
Can you provide more info regarding what you’re seeing (is it true for any plugin, or just with FG, etc) and what your expectations are? Reference to the issue with AMD would be helpful
Came across this issue whilst digging through some previous notes I had whilst attempting non-blocking vsync. For what it's worth, whilst I used to work at AMD I cant remember ever describing the issue I faced publicly, so it is likely unrelated to what the reporter states.
My issue was this line: https://github.com/NVIDIA-RTX/Streamline/blob/3e78b8f4cecf4b7d83a58e9398f1edb192c74aae/source/platforms/sl.chi/d3d12.cpp#L756 It is completely valid to have syncinterval = 0 without tearing flag to reduce vsync input latency in various situations. Adding it silently was hard to track down - only discovered it after seeing streamline in the call stack.
It's noted in the official integration PDF:
"We have seen Streamline add tearing flags when the game requested none. This can directly affect the quality of FSR3 Frame Generation, and we recommend it is avoided when FSR3 used"
What scenario would you want to disable tearing if the display is reporting as VRR?
Aha! Of course. I think this was an early version of FG in FSR3.0 where we explicitly used non-blocking vsync to reduce latency. It was removed in subsequent releases, fwiw.
For VRR you want the flag :) The usecase was not within VRR scope.