1 (edited by narkohol 05-10-2024 08:41:30)

Topic: Dropped frames using SVP with RIFE?

I don't know why, but there are always some dropped frames when I use SVP with RIFE, even when the CPU usage is always below 20% and GPU never reaches 100% (I'm using scaling to QHD 1440p and black bars).
If I disable SVP there are no dropped frames.

Tried several RIFE models but it happens with all of them.

Machine is X570 AORUS ULTRA Mobo - Ryzen 9 5950x - 32GB Gskill DDR4 3600 - Nvidia RTX 4080 FE - Aurora Pro HDMI 2.1 projector (and secondary Aorus FV43U DisplayPort)

Windows 11 23H2 and 24H2 (Recent installation with no problems running intensive CPU (Render) and GPU (CUDA apps, demanding games) tasks)


Things I tried:

1 Killing all possible processes in Task Manager that may interfere.

2 All possible combinations of RIFE settings in SVP Manager.

3 Different players (PotPlayer, MPC-BE)

4 Different decoders (Built-in, LAV, MPC) with different Software and Hardware Acceleration decoders (DXVA, D3D9, D3D11/DXVA2, D3D12cb, NVDEC)

5 Different Video Renderers in each player (MPC-VR, EVR, EVR Custom Present, PotPlayers Built-in D3D9 and D3D11 renderers)

6 All possible combination of settings for each Video Renderer (Flip/Discard, Video Processor On/Off, Vsync, D3D9-11, Exclusive Fullscreen, Adjust Frame Presentation Time, Surface formats, Resizers ...)

7 Disabling all OC for CPU, RAM (even XMP) and GPU.

8 Different refresh rates (59.94Hz and 60Hz)

9 Limiting the framerate with RTSS with all possible options (Async, Front Edge, Back Edge, Nvidia Reflex, Passive) on the whole range from 59.93 to 60.2.

10 Vsync On/Off in Nvidia CP.

11 Windows 'Graphics Options' HAGS and Flip Model On/Off.

12 Using a NVME disk for the source test files.

13 Many different Nvidia drivers versions

14 Uninstalling and reinstalling Chipset drivers

15 Power Management 'Power Saving' or 'High Performance'and many other Nvidia CP and Profile settings

16 Changing CPU affinities and Priorities for the Video Players in Task Manager.

17 Disabling SMT in BIOS

18 Disabling secondary display


...and the dropped frames keep showing up. Not only in the Statistics, I can see the jumps in the playback, which is driving me crazy.
They are not constant, but some always show up every minute, and it's very distracting.


Any ideas or suggestions?

2 (edited by flowreen91 05-10-2024 10:08:02)

Re: Dropped frames using SVP with RIFE?

narkohol wrote:

Things I tried:
Any ideas or suggestions?

Wow that's a lot of trial and error!

I'm having a fun time with the mpv config from here:
https://www.svp-team.com/forum/viewtopi … 352#p83352

It has both
video-sync=display-resample
that is explained here:
https://github.com/mpv-player/mpv/wiki/ … ronization
and
d3d11-sync-interval=0
which makes the video player spam frames. So even if you drop a frame it will try to display it again instantly.
https://gyazo.com/beac3ba10706cdca0ce07864e17b31c3

Not sure if there exists an actual solution to fully prevent dropped frames yet.
Please let us know if u find a video player that does that.

I believe if RIFE detects more stuff that have to move between two different frames, it might cause it to do extra calculations which could cause a spike in computing power which lead to frame drops.
Actually we have no clue since only it's developer knows what's in there and how to train an AI.
Just resize down the video a bit to give your PC less work to do.

Re: Dropped frames using SVP with RIFE?

> and GPU never reaches 100%

like, 95%? smile
it's still just an _average_ load over some period of time
moreover, it averages several different GPU blocks with an unknow math

4 (edited by Drakko01 05-10-2024 22:26:45)

Re: Dropped frames using SVP with RIFE?

narkohol wrote:

I don't know why, but there are always some dropped frames when I use SVP with RIFE, even when the CPU usage is always below 20% and GPU never reaches 100% (I'm using scaling to QHD 1440p and black bars).
If I disable SVP there are no dropped frames.
Any ideas or suggestions?

When you say scaling QHD 1440p, you referred to svp option decrease to QHD of a 4k file?. What crop option do you use?

What monitor/TV are used, its has gsync/freesync options.

Im have an RTX 4070ti super its not an a 4080 but close, for me some drivers no matter what have that behavior.

For now on driver 556.12, Rife V 4.25 @72hz, HDR, MPC-HC, MPC render, decrease to FHD@spline64,crop black bars, upscaling to 4k display via MPC render, there's minimal o not very perceptive frame drops.

You can also try the new MPC-HC https://github.com/clsid2/mpc-hc/releases, it has a new MPV render version with fixes and more HDR windows compatibility  than previous version.

5 (edited by narkohol 17-10-2024 06:47:18)

Re: Dropped frames using SVP with RIFE?

Chainik wrote:

> and GPU never reaches 100%
like, 95%? smile
it's still just an _average_ load over some period of time
moreover, it averages several different GPU blocks with an unknow math

I've been doing more tests, with these settings:
https://i.postimg.cc/x85PF81h/image.png


and using 'Decrease to FHD/1080p' the GPU usage is around 30% and there are no frame drops:
https://i.postimg.cc/Hnd22Xdb/image.png


but using 'Decrease to QHD/1440p', with a GPU usage of less than 60%, it starts dropping frames after less than 2000 frames played:
https://i.postimg.cc/pXNx2dkz/image.png

How does this make sense? I understand what you said about 95% GPU usage, but less than 60%?...

6 (edited by narkohol 18-10-2024 03:54:53)

Re: Dropped frames using SVP with RIFE?

Chainik wrote:

> and GPU never reaches 100%

And even more tests.
Tried with a different model, 4.22 lite v2:
https://i.imgur.com/ebUs08M.png

and a 1080p source ( https://drive.google.com/file/d/1DJc1U9 … sp=sharing )

Using 'Decrease to FHD/1080p' there are no skipped frames:
https://i.imgur.com/eiG5dMD.png

but using 'Decrease to QHD/1440p' there are skipped frames, even when the source is 1080p and there is no real scaling... 
https://i.imgur.com/iQtgJ7N.png

and even when the GPU usage is the same in both cases.
https://i.imgur.com/9CXI14U.png

I tried a ton of different things again: all possible options in MPCVR, different cpu/gpu video decoders, different splitters, different audio decoders and renderers, different priorities, disabling all OC, Flip model or not, no HAGS, ...   and no matter what this always happens, even with a 1080p source and less than 50% GPU usage. hmm

Any suggestions? because honestly this is driving me nuts...  sad

7 (edited by flowreen91 18-10-2024 07:34:09)

Re: Dropped frames using SVP with RIFE?

narkohol wrote:

Any suggestions? because honestly this is driving me nuts...  sad

mpv has framedrop setting:
https://gyazo.com/66c8443a541531a252cfaf994f9aaa89
try to add in mpv.conf:
framedrop=no
and play around with the video-sync parameter https://mpv.io/manual/master/#miscellaneous

8 (edited by narkohol 18-10-2024 12:45:37)

Re: Dropped frames using SVP with RIFE?

flowreen91 wrote:
narkohol wrote:

Any suggestions? because honestly this is driving me nuts...  sad

mpv has framedrop setting:
https://gyazo.com/66c8443a541531a252cfaf994f9aaa89
try to add in mpv.conf:
framedrop=no
and play around with the video-sync parameter https://mpv.io/manual/master/#miscellaneous

Thanks, but it's not a Potplayer problem, because it does the same in MPC-BE and just by changing a setting in SVP it goes from 'ok' to 'not ok', without changing anything else.

I followed your RIFE guide, and thanks, it is great, but MPV is too much for me.

I already tried MPV, MPV.net and SMplayer, and my experience was pretty bad, either for lack of GUI, lack of options or bad performance. I don't feel like banging my head again now against a raw command line player.

SVP is supposed to support Potplayer, which I been using for many years.

I mean...   how can it be that a 1080p source have no frame drops when using 'Decrease to FHD/1080p' but it does when using 'Decrease to QHD/1440p', with both at the same less than 50% GPU usage?  that's only a change in an SVP setting, a setting that should be doing nothing different because the source is already 1080p and the gpu usage is the same for both.

Something is not right here.

Re: Dropped frames using SVP with RIFE?

> a setting that should be doing nothing different because the source is already 1080p

... and it does nothing in this case
do you really have 1 (one) dropped frame?

10 (edited by narkohol 19-10-2024 05:54:20)

Re: Dropped frames using SVP with RIFE?

Chainik wrote:

do you really have 1 (one) dropped frame?

No, of course not. It was just an example of what happens in a short period of playback time, compared to what does not happen in a much longer period of playback time.


flowreen91 wrote:

try to add in mpv.conf: framedrop=no and play around with the video-sync parameter

Same happens in MPV (SMPlayer), with this source (65MB): https://drive.google.com/open?id=1SWNDE … p=drive_fs

using these settings --hr-seek-framedrop=no --framedrop=no --video-sync=display-tempo
with 'Decrease to FHD/1080p':

https://i.postimg.cc/T3r5VcpR/image.png

no stutters, hitches or Delayed frames.

and then with 'Decrease to QHD/1440p':

https://i.postimg.cc/CK7ZtLGX/image.png

Lots of very noticeable stutters and Delayed frames (41 in 28 seconds), with less than 75% GPU usage.

I see MPV doesn't count skipped or dropped frames like PotPlayer does, for me it always says 'Dropped Frames: 0 (decoder) 0 (output)' even with very visible hitching/stutters like with that test video, that's why I added --video-sync=display-tempo. Tried all the other --video-sync= options but none of them made the video playback smoother.

Same happens with HW decoding off or any of the other options, any output driver and 'Direct Rendering' On/Off, 'Double buffering' On/Off and 'Video Slices' On/Off.

Thoughts?

Can you play this file ( https://drive.google.com/open?id=1SWNDE … p=drive_fs ) at 60fps perfectly fine with no Dropped/Skipped/Delayed frames and no visible hitches/stutters?

Re: Dropped frames using SVP with RIFE?

> Thoughts?

It's quite obvious that higher resolution video can give more dropped frames.
I'm only asking about what you said regarding "a setting that should be doing nothing different because the source is already 1080p"

12 (edited by narkohol 19-10-2024 07:49:07)

Re: Dropped frames using SVP with RIFE?

Chainik wrote:

> Thoughts?

It's quite obvious that higher resolution video can give more dropped frames.
I'm only asking about what you said regarding "a setting that should be doing nothing different because the source is already 1080p"

Ok, but why? when GPU usage is nowhere near 100%?

13 (edited by narkohol 19-10-2024 08:02:07)

Re: Dropped frames using SVP with RIFE?

Same happens with lower models like 4.0 or 4.6 with a GPU usage well below 50%...

https://i.postimg.cc/T3QwR216/image.png

14 (edited by flowreen91 19-10-2024 08:05:40)

Re: Dropped frames using SVP with RIFE?

narkohol wrote:

that's why I added --video-sync=display-tempo. Tried all the other --video-sync= options but none of them made the video playback smoother.
Thoughts?
Can you play this file ( https://drive.google.com/open?id=1SWNDE … p=drive_fs ) at 60fps perfectly fine with no Dropped/Skipped/Delayed frames and no visible hitches/stutters?

Nice one!
Nope, stutters and hitches a lot for me too. Probably video player reaches a bottleneck somewhere even when GPU/CPU/Memory is not 100%.
Only solution would be to upgrade your system until it massively outperforms the video player requirements... or resize to 480p instead xD

15 (edited by narkohol 21-10-2024 07:17:40)

Re: Dropped frames using SVP with RIFE?

flowreen91 wrote:

Only solution would be to upgrade your system until it massively outperforms the video player requirements... or resize to 480p instead xD

Can't wait to burn $3000 on a 5090 to maybe be able to play 1440p60 videos without stutter using 25% of the GPU power...

https://www.icegif.com/wp-content/uploads/2024/06/facepalm-icegif-3.gif

Jokes aside...  did more tests and although not perfect, PotPlayer runs smoother for me than MPV (SMPlayer) with either EVR Custom Present and these settings:
https://i.postimg.cc/50RCLcZG/image.png

or MPCVR with these settings:
https://i.postimg.cc/Dzf6cTMy/image.png

Besides the 30 seconds long dolly from Unbelievable 2160p DV HDR I posted before, the other best testing video file I have is a 30 seconds panning intro from Top Boy 1080p SDR (8MB)

Using those files on 'Repeat' is easy to catch any stuttering and Dropped/Skipped/Delayed frames by eye (sometimes they're not reported in stats/info).

It seems to me that maybe this problem is related to a bad handling of multithreading, because the lower number of threads I use in the video decoder (either LAV or MPC) and SVP seem to show better results, with less stutters or Dropped/Skipped/Delayed frames. But for 2160p content is impossible to go single threading, the lowest I can go is 2 or 3.

I'm doing more tests creating custom display modes with custom refresh rates in CRU , but so far no luck, still stuttering showing up.

Will keep testing and reporting any findings. Hope I'm not the only one interested in fixing this...

16 (edited by narkohol 24-10-2024 08:42:31)

Re: Dropped frames using SVP with RIFE?

So, best detection so far is using RTSS. Here the framegraph limits are min 16.5 and max 17ms, so any minor stutter can be clearly seen.
But even frame limiting a bit under the refresh rate and with a perfectly flat framegraph...    there are still visible microstutters.

https://i.postimg.cc/CxSghk8R/image.png

The more suspicious thing I found is that no matter the settings, just one cpu core always ends up with max usage:

https://i.postimg.cc/Twm75HMf/image.png
https://i.postimg.cc/rsDp9WjV/image.png

It's always just 1 core, not the same one each time, and happens with both SMT off or on:

https://i.postimg.cc/xdjNzXwC/image.png
https://i.postimg.cc/Y2LGYKs1/image.png

Same happens with MPV/SMplayer and MPC-BE, with any video decoder and any video renderer...

Chainik wrote:

Thoughts/suggestions?

Re: Dropped frames using SVP with RIFE?

> Thoughts

Single-core CPU performance is also important for RIFE big_smile in fact, everything is important for RIFE.

18 (edited by narkohol 24-10-2024 16:48:50)

Re: Dropped frames using SVP with RIFE?

Chainik wrote:

> Thoughts

Single-core CPU performance is also important for RIFE big_smile in fact, everything is important for RIFE.

Can you elaborate on what that means in relation to the issue?

Why does just one random core hit max usage, while other cores are totally unused?

I tried using BES ( https://mion.yosei.fi/BES/ ) to prevent that random core to reach max usage but it  introduces more constant stuttering.

Any suggestion for a solution?

Re: Dropped frames using SVP with RIFE?

>Why does just one random core hit max usage, while other cores are totally unused?

because some (unknown) part of the computation chain is single-threaded

20 (edited by narkohol 25-10-2024 11:33:34)

Re: Dropped frames using SVP with RIFE?

Chainik wrote:

>Why does just one random core hit max usage, while other cores are totally unused?

because some (unknown) part of the computation chain is single-threaded

Ok, I found out the thing that was maxing out one core is RTSS frame limiting when using async active:
https://i.postimg.cc/DZzkMCfr/image.png

Using passive or Front Sync, Back Sync or Nvidia Reflex does not max one core...    but has a lot of stuttering.

So, the only thing that fixes the stuttering ends up maxing one cpu core...   and causing also stuttering.

https://i1.sndcdn.com/avatars-000239046698-mlhic7-t240x240.jpg

This is so utterly frustrating...


But the main thing is...   can you play this file ( 30 seconds long dolly from Unbelievable 2160p DV HDR  ) at 60fps perfectly fine with no Dropped/Skipped/Delayed frames and no visible hitches/stutters?

Re: Dropped frames using SVP with RIFE?

I tested playback of Top.Boy.S01E03.1080p - Intro - 1.mp4. I also have NVidia Super Resolution enabled, allowing the video player to upscale this 1080p video to to 4k. Plus I have RTX Video HDR enabled, but it is only active when HDR is enabled. I used the NVidia App to enable those NVidia RTX options, then enabled them in my player.

My video player is MPC-BE. MPC Video Renderer is configured to use DirectX 11, passthrough HDR, enable NVidia Super Resolution upscaling and RTX Video HDR. I have RTSS set with a framerate limit mpc-be64.exe to 47.952 (twice the normal 23.976 framerate used by this video and most movies).

I have SVP RIFE AI set to Fixed 48 fps using AI model 4.18 with performance boost enabled. Allow 10-bit color output is disabled for 4k videos (less than 4k @ 30fps) because my i7-7700k CPU can't handle it. Even with it overclocked to 4.6 GHz on all 4 cores.

NVidia control panel is set to globally enable v-sync = on with low latency mode = ultra.

When my Windows refresh rate is also at 47.952hz (matches framerate limit in RTSS) with 4k RGB RGB 8-bit (no HDR):
- Frames dropped is between 4-6 per video playback loop. I usually see what looks like an un-reported frame drop one time per video loop.

When my Windows refresh rate is also at 47.952hz (matches framerate limit in RTSS) with 4k RGB 422 10-bit (with HDR):
- Frames dropped is between 2-8 per video playback loop. I usually see what looks like an un-reported frame drop one time per video loop.

One time I tried using a 4k with refresh rate at 60hz (with RTSS still limiting to 47.952)
- Watching this video me feel sick with that setup.

When my refresh rate is at 4x DSR for 4k to 1080p at 240hz with RGB 8-bit (no HDR):
- Frames dropped is between 1-3 per video playback loop. I usually see what looks like an un-reported frame drop one time per video loop. The very first time I played back the video I saw hundreds of frames drop in the first few seconds. Then playback was smooth (not including when the performance boost script runs for the first time playback at this resolution).

When my refresh rate is at 4x DSR for 4k to 1080p at 240hz with RGB 8-bit (with HDR):
- Frames dropped is between 1-2 per video playback loop. I saw maybe one un-reported frame drop one time with all the loops combined (skipping the first loop).

When my refresh rate is at 4x DSR for 4k to 1080p at 240hz with 422 10-bit (with HDR):
- Frames dropped is 0. Video player listed 1 dropped frame right at the beginning of the video. I didn't notice any un-reported frame drop one time with all the loops combined (skipping the first loop).

Overall I got the best performance using 4x DSR for 4k to 1080p at 240hz with RGB 8-bit (with HDR). Yea, I did notice a dropped from sometimes. It might have been because the 10bit video output was playing back at 10bit instead of at 8bit. The issue I had with 4k to 1080p at 240hz with 422 10-bit was that the picture looked slightly softer on the Windows desktop background. Plus the text on Windows desktop icons looked sharper at RGB 8bit vs 422 10bit.

I might start using 4x DSR for 4k to 1080p at 240hz with RGB 8-bit (with HDR) all the time. For both movie watching and for video games.

I'll still disable HDR when web browsing. Text does look a little sharper when HDR is disabled.

I am still really surprised just how sharp everything looks using 4x DSR for 4k to 1080p at 240hz vs 4k native 60hz. For some reason I still don't understand, my Benq HT4550i projector does a really good job with 4k downscaled to 1080p 240hz using DSR. It looks pretty dang close to native 4k. Sometimes the picture looks off after switching resolutions to 240hz. I'm then able to fix by trying the following, in this order: 1) Switching my AVR to another input, then back to my PC. 2) Restarting the projector. 3) Restarting my PC.

Using 1080p 240hz in 4k mode this required a modified EDID using CRU. Where I needed to remove the 4k supported listed for my projector. The NVidia control panel would then let me enable 4k DSR. Set to 0% smoothing.

My 4080 super video card can't handle playback of the Unbelievable.S01E01.2160p.HDR.Interpolation Test.mkv video because it isn't powerful enough. I can only handle playing back 4k videos which have a input resolution height of less that 1700. I setup a 2nd SVP profile to use AI model 4.22 lite when the resolution height is > 1700. Using that AI model should be easier to drive, however it didn't help much. My system doesn't have issues playing back 4k videos with a height of less than 1700, even though RTSS always reports the 100% GPU usage. GPU usage is much less for 1080p videos.