nVidia VSR video freeze on resize
Posted: 02 Nov 2023 17:14
Hello,
as nVidia published a new driver yesterday (I use Studio drivers) I wanted to try the latest version of their Video Super Resolution feature with VLC 3.0.20. Earlier driver versions showed VSR as enabled, even though it was not active (in comparison to the 3.0.19 RTX build, the typical GPU load was missing, and there was no visible difference to linear upscaling).
With the new driver, VSR works in principle, and the results are even better than with earlier drivers, but I encountered a stability issue. The steps to reproduce the issue are:
1. Install nVidia 546.01 driver (Studio in my case, but I doubt the Game Ready drivers are different here)
2. Enable VSR in nVidia Control Panel (quality setting does not matter)
3. Enable VSR in VLC 3.0.20: Preferences (all) --> Video --> Output Modules --> Direct3D11 --> Video Upscaling mode: Super Resolution
4. Play a video (the one I use is h.264 1080p60)
5. Resize the window by mouse-drag
The video will freeze almost immediately, and the log shows these errors:
The issue always starts with a single error: SwapChain Present failed. (hr=0x887A0005). The other two errors repeat on further resizing. The video freezes, sometimes the player window freezes completely (though not the messages or the playlist window).
If I just go full screen with a double click (instead of resizing with the mouse), it will upscale using VSR, which looks really good in the latest version. It will play normally, and the GPU load is typical. VSR needs a lot of power, I can easily see it on a watt-meter. I can return to original video resolution with another double click, though it sometimes freezes on that occasion as well.
I reproduced this behaviour on three computers running Windows 10 with different CPUs (Intel Core i7 3770K, Ryzen 7 5800x, Ryzen 9 5950X) and RTX GPUs (RTX 3060, RTX 4070, RTX 4080). I also tried resetting the VLC preferences, which did not make a difference. The nVidia drivers were installed with the reinstall checkbox activated. The issue appears regardless of any monitoring tools running or not running (I used GPU-Z and MSI Afterburner in some test runs, but some were done without any monitoring tool).
I think it is very unlikely that my three test systems have some obscure bug in common that causes this issue, so I would like to know whether anything can be done about this issue from the VLC side, or if it needs some driver fix by nVidia as well. By the way, VSR works with the 3.0.19 RTX build from April and the 546.01 driver, including resizing.
as nVidia published a new driver yesterday (I use Studio drivers) I wanted to try the latest version of their Video Super Resolution feature with VLC 3.0.20. Earlier driver versions showed VSR as enabled, even though it was not active (in comparison to the 3.0.19 RTX build, the typical GPU load was missing, and there was no visible difference to linear upscaling).
With the new driver, VSR works in principle, and the results are even better than with earlier drivers, but I encountered a stability issue. The steps to reproduce the issue are:
1. Install nVidia 546.01 driver (Studio in my case, but I doubt the Game Ready drivers are different here)
2. Enable VSR in nVidia Control Panel (quality setting does not matter)
3. Enable VSR in VLC 3.0.20: Preferences (all) --> Video --> Output Modules --> Direct3D11 --> Video Upscaling mode: Super Resolution
4. Play a video (the one I use is h.264 1080p60)
5. Resize the window by mouse-drag
The video will freeze almost immediately, and the log shows these errors:
Code: Select all
main debug: resized to 1920x1081
main debug: VoutDisplayEvent 'resize' 1920x1081
main debug: VoutDisplayEvent 'resize' 1920x1081
main debug: resized to 1922x1083
main debug: VoutDisplayEvent 'resize' 1922x1083
main debug: VoutDisplayEvent 'resize' 1922x1083
direct3d11 debug: Detected size change 1922x1081
direct3d11 debug: upscale resolution 1922x1083
direct3d11 debug: turning VSR ON
direct3d11 debug: Detected size change 1922x1083
direct3d11 debug: Detected size change 1922x1083
main debug: resized to 1927x1087
main debug: VoutDisplayEvent 'resize' 1927x1087
... some more debug messages about resizing ...
main debug: resized to 1943x1100
main debug: VoutDisplayEvent 'resize' 1943x1100
direct3d11 error: SwapChain Present failed. (hr=0x887A0005)
main debug: VoutDisplayEvent 'resize' 1943x1100
direct3d11 debug: Detected size change 1943x1094
direct3d11 error: Failed to create the upscale texture. (hr=0x887A0005)
direct3d11 error: Failed to resize the backbuffer. (hr=0x887A0005)
The issue always starts with a single error: SwapChain Present failed. (hr=0x887A0005). The other two errors repeat on further resizing. The video freezes, sometimes the player window freezes completely (though not the messages or the playlist window).
If I just go full screen with a double click (instead of resizing with the mouse), it will upscale using VSR, which looks really good in the latest version. It will play normally, and the GPU load is typical. VSR needs a lot of power, I can easily see it on a watt-meter. I can return to original video resolution with another double click, though it sometimes freezes on that occasion as well.
I reproduced this behaviour on three computers running Windows 10 with different CPUs (Intel Core i7 3770K, Ryzen 7 5800x, Ryzen 9 5950X) and RTX GPUs (RTX 3060, RTX 4070, RTX 4080). I also tried resetting the VLC preferences, which did not make a difference. The nVidia drivers were installed with the reinstall checkbox activated. The issue appears regardless of any monitoring tools running or not running (I used GPU-Z and MSI Afterburner in some test runs, but some were done without any monitoring tool).
I think it is very unlikely that my three test systems have some obscure bug in common that causes this issue, so I would like to know whether anything can be done about this issue from the VLC side, or if it needs some driver fix by nVidia as well. By the way, VSR works with the 3.0.19 RTX build from April and the 546.01 driver, including resizing.