1 (edited by kathampy 02-11-2020 08:11:44)

Topic: NVIDIA Optical Flow now lagging

Enabling NVIDIA Optical Flow now causes severe lag and stuttering. If I disable it, the video is smooth again. I'm not sure when the issue started. I recently got an RTX 3090. It used to work fine a few months ago.

Windows 10 x64 20H2 Build 19042.610
MPC-BE + AviSynth + madVR
mpv
4K 120 Hz HDR

Re: NVIDIA Optical Flow now lagging

disable madvr to test

Re: NVIDIA Optical Flow now lagging

Same issue even in mpv without madVR.

Re: NVIDIA Optical Flow now lagging

This is still broken.

Re: NVIDIA Optical Flow now lagging

> 4K 120 Hz HDR

What about FullHD videos? Do you see lag and stuttering there?

6 (edited by kathampy 17-01-2021 05:22:47)

Re: NVIDIA Optical Flow now lagging

MAG79 wrote:

> 4K 120 Hz HDR

What about FullHD videos? Do you see lag and stuttering there?

It does not work in any video of any resolution. Testing it right now, it's not an additional stutter. Interpolation just doesn't work at all when Optical Flow is enabled, and the video runs at the original frame rate. If I disable Optical Flow, interpolation starts working.

Re: NVIDIA Optical Flow now lagging

then check log for errors

8 (edited by kathampy 17-01-2021 09:44:46)

Re: NVIDIA Optical Flow now lagging

Chainik wrote:

then check log for errors

No errors in the log. I toggled Optical Flow on & off while the video was playing.

01:37:38.276 [i]: Main: starting up SVP 4 Pro [4.5.0.200]... 
01:37:38.278 [i]: Main: args: none
01:37:38.278 [i]: Main: working dir is C:\Program Files (x86)\SVP 4\
01:37:38.279 [i]: Main: data dir set to C:\Users\******\AppData\Roaming\SVP4\
01:37:38.289 [i]: Settings: loading main.cfg OK
01:37:38.289 [i]: Settings: loading ui.cfg OK
01:37:38.290 [i]: Settings: loading frc.cfg OK
01:37:38.299 [i]: Settings: loading profiles.cfg OK
01:37:38.305 [i]: Settings: loading custom.cfg OK
01:37:38.311 [i]: Settings: loading lights.cfg OK
01:37:38.311 [i]: Main: using Qt 5.15.1 (i386-little_endian-ilp32 shared (dynamic) release build; by MSVC 2019)
01:37:38.311 [i]: Main: device scale is 1.50002, user defined scale is 0
01:37:38.312 [i]: Main: system locale is [en]
01:37:38.312 [i]: Main: preferred language is [en-us]
01:37:38.314 [i]: Main: setting language file to en.qm...
01:37:38.349 [i]: Main: module 'plugins/svpflow1.dll': 4.5.0.200
01:37:38.374 [i]: Main: module 'plugins/svpflow2.dll': 4.5.0.202
01:37:38.387 [i]: Main: module 'plugins64/svpflow1.dll': 4.5.0.200
01:37:38.400 [i]: Main: module 'plugins64/svpflow2.dll': 4.5.0.202
01:37:38.412 [i]: Main: module 'plugins64/svpflow1_vs.dll': 4.5.0.200
01:37:38.425 [i]: Main: module 'plugins64/svpflow2_vs.dll': 4.5.0.202
01:37:38.425 [W]: Main: PATH doesn't contain mpv64 folder, VLC and libmpv players may not work
01:37:38.426 [W]: Main: PYTHONPATH doesn't contain mpv64 folder, VLC and libmpv players may not work
01:37:38.426 [W]: Main: PYTHONPATH is EMPTY
01:37:38.433 [i]: Main: running OpenCL info...
01:37:38.460 [i]: Main: collecting system information...
01:37:38.460 [i]: OS: Windows 10 [10.0.19042]
01:37:38.461 [i]: CPU: Intel Core i9-10900X [base frequency 1200 MHz, 20 threads]
01:37:38.462 [i]: Video: registry info - NVIDIA GeForce RTX 3090
01:37:38.462 [i]: Video: reading OpenCL info...
01:37:38.591 [i]: Video: 1 GPU OpenCL device(s) on NVIDIA CUDA [OpenCL 1.2 CUDA 11.2.109] (NVIDIA Corporation)
01:37:38.591 [i]: Video 1: GeForce RTX 3090 (NVIDIA Corporation, ver.461.09) [gpuID=11]: OK
01:37:38.591 [i]: Video 1: may support NV Optical Flow (Compute capability: 8.6)
01:37:38.592 [i]: Memory:  32447  MB total,  18936 MB free
01:37:38.592 [i]: System: finding network settings...
01:37:39.122 [i]: Power: AC is ON [1]
01:37:39.252 [i]: Screens: updating information, 1 screen(s) found
01:37:39.493 [i]: Main: preparing video profiles...
01:37:39.525 [i]: Main: preparing performance graphs...
01:37:39.601 [i]: Main: preparing ffdshow...
01:37:39.601 [W]: FFDShow: can't find 32-bit installation
01:37:39.601 [W]: FFDShow: can't find 64-bit installation
01:37:39.607 [i]: Main: preparing AviSynthFilter (AVSF)...
01:37:39.656 [i]: AVSF: found 32-bit version 0.8.5.0 [C:\Program Files (x86)\SVP 4\avsf\avisynth_filter_32.ax]
01:37:39.671 [i]: AVSF: found 64-bit version 0.8.5.0 [C:\Program Files (x86)\SVP 4\avsf\avisynth_filter_64.ax]
01:37:39.673 [i]: Main: preparing mpv...
01:37:39.675 [i]: Main: preparing remote control...
01:37:39.675 [i]: RemoteControl: started
01:37:39.676 [i]: Main: preparing main menu...
01:37:39.815 [i]: Main: loading extensions...
01:37:39.837 [i]: Extensions: found svptube 2.1.0.195 ...
01:37:39.892 [i]: Settings: loading tube.cfg OK
01:37:39.910 [i]: Tube: initializing youtube_dl...
01:37:40.006 [i]: Main: initialization completed in 1553 ms, but still waiting for the screens measurement...
01:37:40.062 [i]: Updates: checking now...
01:37:41.025 [i]: Screens: screen 0 - 3840x2160 @120.003 Hz [measured], x1.5 [60 DPI]
01:37:41.025 [i]: Screens: primary screen is 0
01:37:42.127 [i]: Performance: quick estimation = 856 (previous value was 807)
01:37:44.989 [i]: Tube: youtube_dl ready
01:38:19.913 [i]: AVSF: found new player instance
01:38:19.960 [i]: AVSF: filters in use: LAV Splitter Source -> LAV Video Decoder -> * -> madVR Renderer
01:38:19.961 [i]: AVSF: new video in mpc-be64.exe (64-bit) [MPC-BE x64 1.5.6.5943] on screen 0
01:38:20.064 [i]: Media: video 3840x2160 [PAR 1.000] at 23.976 fps
01:38:20.065 [i]: Media: codec type is HEVC, YUV/4:2:0/10 bits/BT.2020 PQ
01:38:20.066 [i]: Playback: starting up...
01:38:20.075 [i]: Playback [e0a7ed8f]: Frame server (64-bit) 3.5.0.0, AviSynth+ 3.5 (r3106, 3.5, x86_64), C:\Windows\SYSTEM32\avisynth.dll
01:38:20.076 [i]: Playback [e0a7ed8f]: resulting video frame 3840x2160
01:38:20.076 [i]: Playback [e0a7ed8f]: 1 acceptible profiles, best is 'Automatic' [0]
01:38:20.098 [i]: Playback [e0a7ed8f]: enabled while video is in some unknown state
01:38:20.100 [i]: Profile: using automatic profile #1 /film
01:38:20.119 [i]: Playback [e0a7ed8f]: playing at 119.88 [23.976 *5/1] /10 bit
01:39:02.019 [i]: Profile: using automatic profile #1 /film
01:39:02.029 [i]: Playback [e0a7ed8f]: playing at 119.88 [23.976 *5/1] /10 bit
01:39:10.979 [i]: Profile: using automatic profile #1 /film
01:39:10.983 [i]: Playback [e0a7ed8f]: playing at 119.88 [23.976 *5/1] /10 bit
01:39:22.077 [i]: Profile: using automatic profile #1 /film
01:39:22.083 [i]: Playback [e0a7ed8f]: playing at 119.88 [23.976 *5/1] /10 bit
01:39:27.946 [i]: AVSF: player closed
01:39:27.958 [i]: Playback [e0a7ed8f]: disabled while video is stopped
01:39:27.959 [i]: Playback [e0a7ed8f]: deleted

Re: NVIDIA Optical Flow now lagging

and with Utilities -> Fluency and tearing test enabled - do you see the yellow line?

10 (edited by kathampy 17-01-2021 09:58:29)

Re: NVIDIA Optical Flow now lagging

Chainik wrote:

and with Utilities -> Fluency and tearing test enabled - do you see the yellow line?

With Optical Flow enabled, there's a red line and it appears to be moving at 120 fps even though interpolation does not work on the video itself.

With Optical Flow disabled, the line is still red but interpolation works.

Re: NVIDIA Optical Flow now lagging

try different "motion vectors grid" values

12 (edited by kathampy 17-01-2021 10:11:11)

Re: NVIDIA Optical Flow now lagging

Chainik wrote:

try different "motion vectors grid" values

The "nvof_grid" value is read-only under "rt>generic". It's editable only in the 3 pre-defined profiles. Where do I set it to override the "Automatic" profile?

13 (edited by kathampy 17-01-2021 10:42:52)

Re: NVIDIA Optical Flow now lagging

I created a new profile "Test" as a copy of "Automatic" and was able to change the "nvof_" values in that profile. I selected the "Test" profile during playback.

I tried different values of "nvof_grid" such as 12, 16, 24, 48, and 64, but there was no difference.

I tried changing "nvof" from "-1" to "1" in the profile but it had no effect.

Changing "mv_grid" also had no effect with Optical Flow enabled.

However I noticed something strange while testing. With Optical Flow enabled on default settings, it randomly works for a few seconds while the scene complexity is low. During a panning shot, the video becomes smooth with interpolation while the background is simple, and when the background becomes complex, interpolation stops.

Re: NVIDIA Optical Flow now lagging

I just realized you can change the settings in the main control panel with a new profile.

I tried the various "Motion vectors grid" values, but there was no difference. The strange behaviour based on scene complexity is still true.

Re: NVIDIA Optical Flow now lagging

>  I recently got an RTX 3090. It used to work fine a few months ago.

to be clear: 3090 used to work fine a few month ago, right?
then what if rollback to the rev.196 svpflow plugins: https://www.svp-team.com/files/repo/ful … ugins64.7z (overwrite files in SVP 4\plugins64, backup existing rev.202 first)

16 (edited by kathampy 17-01-2021 11:23:53)

Re: NVIDIA Optical Flow now lagging

Chainik wrote:

>  I recently got an RTX 3090. It used to work fine a few months ago.

to be clear: 3090 used to work fine a few month ago, right?
then what if rollback to the rev.196 svpflow plugins: https://www.svp-team.com/files/repo/ful … ugins64.7z (overwrite files in SVP 4\plugins64, backup existing rev.202 first)

No, I had an RTX 2080 Ti, but don't know whether Optical Flow was working even on that just before I upgraded to the RTX 3090. I know only that it worked on the RTX 2080 Ti some months ago.

The image is almost completely corrupted with those DLLs, but I could make out that interpolation was still not working.

Putting back the original DLLs fixed the corruption and reverted to the old behaviour where interpolation works in simple scenes and stops working in complex scenes.

Re: NVIDIA Optical Flow now lagging

Optical Flow seems to be working on Ampere now with the last update.

18 (edited by forty2indeed 25-03-2021 08:59:15)

Re: NVIDIA Optical Flow now lagging

Contrary to the last statement for myself optical flow has not been fixed for the rtx 3000 series cards yet.  I had a gtx 1660 that worked flawlessly with optical flow (a second gpu I bought for that purpose to supplement my 5700XT).  I have an i9-9900k and playing a 50-100gb blu-ray at 1440p @ 165hz, I was only using about 15%+/- of my cpu which was phenomenal.  I use Linux (NVIDIA 460.56 drivers), however I do have the paid version for Windows as well.  Unfortunately the issues persists across both platforms with this new card with clean installs on both.  Basically it is exactly what others are describing - it's unwatchable do to the choppiness, as in completely broken.  I have tried every possible combinations of settings and suggestions that I've read to no avail.  Regular gpu acceleration is fine on both platforms (maybe not so much with Windows though with large files), and works as it always has but it's just not a long term solution knowing optical flow exists.  It's night and day with system usage, and a slight bump in quality too.  I do see a bit of a discrepancy wherein the problem may lie, although it's just a guess and I'm by no means an expert with these things - in GreenWithEnvy in Linux the 3070 shows 0% encoder use,  whereas with the 1660 using optical flow it was somewhere in the neighborhood of 10-30% at all times when playing videos.  Hopefully whatever the issue it'll get worked out soon, and thanks for existing - I couldn't live without this program!