Chainik wrote:

num_streams comes from the RIFE profile
force_fp16 = True, tf32 = True, use_cuda_graph = True
come from helpers.py

What about 'Workspace'?

vsmlrt.py 'performance tuning' header says "increase workspace", but in helpers.py it is set to backend.workspace = None

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

dawkinscm wrote:
narkohol wrote:

Does changing these as suggested in vsmlrt.py make sense for RTX 40XX gpus?

https://i.postimg.cc/505Pf7zr/image.png

If yes...    which numbers are recommended for 'Streams' and 'Workspace'?

any other recommendations for the other parameters?

What changes?

Those specified in that header as 'basic performance tuning':

        set fp16 = True (on RTX GPUs)
        increase num_streams
        increase workspace
        set use_cuda_graph = True
       

That by default are:

        fp16: bool = False
        num_streams: int = 1
        workspace: typing.Optional[int] = None
        use_cuda_graph: bool = False

Does changing these as suggested in vsmlrt.py make sense for RTX 40XX gpus?

https://i.postimg.cc/505Pf7zr/image.png

If yes...    which numbers are recommended for 'Streams' and 'Workspace'?

any other recommendations for the other parameters?

RickyAstle98 wrote:

Something weird happens, did 1080p test now, 6 delayed frames, then tried 1440p test, got 16 delayed frames!
Man, I used 4.25 heavy, thats model twice heavier than 4.6 (by performance)!

What's your GPU model? Nvidia drivers version and Windows version?

RickyAstle98 wrote:

Only 2 delayed frames for 24 seconds with VSync jitter always sit under 0.200 (59.940Hz display mode / GSync off)
Only 5 delayed frames for 24 seconds with VSync jitter always sit under 0.320 (60Hz display mode / GSync off)

Ahhh...   now I see what it's happening here.

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

I am talking about 1440p output. 720p or 1080p are also fine here. This was with Model 4.22_lite v2, I think:

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

but 1440p:
https://i.postimg.cc/CK7ZtLGX/image.png

So, nowhere near maxing the GPU % usage, but very noticeable stuttering/hitching/dropped/delayed frames.


This is with Model 4.6, much lower GPU % usage, not even 50%, but still a lot of stuttering/hitching/dropped/delayed frames:
https://i.postimg.cc/T3QwR216/image.png

I don't get why it doesn't work smoothly for 1440p, when it's not using even 50% of the GPU.
And going back to 1080p resolution in 2024 is just too big of a sacrifice. The trade-off of resolution/smoothness at 1080p doesn't pay off...

RickyAstle98 wrote:

I have smooth 60FPS playback!

Default SVP settings and RIFE engine, mpv player...

You mean 'default' with no scaling at all and no special settings in MPV??

MPV doesn't count Dropped frames properly. Even when you have a stutter fest playback it always says 'Dropped Frames: 0 (decoder) 0 (output)'

I had to use   --hr-seek-framedrop=no --framedrop=no --video-sync=display-tempo    to display 'Delayed' frames, and then:

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

RickyAstle98 wrote:

One more thing, the video has some bad frames, trees sequence, with/without RIFE and with/without GSync with/without 60Hz mode and with/without scaling methods!
The skip/delay/mismatch frames happens from scaling methods also (when you downscaling/upscaling the source footage)!

It plays smooth with DmitriRender... 
Even at 4K 120fps

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

RickyAstle98 wrote:

I have smooth 60FPS playback!

With which SVP settings and which player/video decoder and video renderer settings?

I don't know why, but after trying a crap ton of different options and combinations I can’t get SVP RIFE to do smooth 60fps playback.
There are always some microstutters/hitching and Dropped/Skipped/Delayed frames when I use SVP with RIFE, even with low CPU and GPU % usages (I'm using scaling to QHD 1440p and black bars on a RTX4080 and Ryzen 5950x).
If I disable SVP there are no Dropped/Skipped/Delayed frames or stutters/hitching.

I tried MPV, PotPlayer, MPC-BE, VLC with all available video renderers and video decoders in each one, and  the same happens in all of them.

All that I tried in detail here: https://www.svp-team.com/forum/viewtopic.php?pid=85781

TL;DR Can any of 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?

9

(20 replies, posted in Using SVP)

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?

10

(20 replies, posted in Using SVP)

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?

11

(20 replies, posted in Using SVP)

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?

12

(20 replies, posted in Using SVP)

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...

13

(20 replies, posted in Using SVP)

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

(20 replies, posted in Using SVP)

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%?

15

(20 replies, posted in Using SVP)

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?

16

(20 replies, posted in Using SVP)

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.

17

(20 replies, posted in Using SVP)

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

18

(20 replies, posted in Using SVP)

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%?...

19

(20 replies, posted in Using SVP)

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?

20

(10 replies, posted in Using SVP)

Chainik wrote:

narkohol
>Here are some of those scenes:

MediaInfo gives this:

Frame rate mode: Variable
Frame rate: 1418.714 FPS

and this is what SVP is trying to use as a source frame rate

Maybe it should take into account the "Original frame rate" instead?

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

I cut those scenes using LosslessCut 'Keyframe' mode, and they all work ok with other frame interpolation solutions like DmitriRender.

21

(1 replies, posted in Using SVP)

Is there any way to improve the Scene Change detection beyond the default options?

I tried all options available in the interface, but even at the lowest Image Comparision % Threshold I still get a lot of wrong interpolations between scene changes.

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

22

(10 replies, posted in Using SVP)

Here are some of those scenes:

https://drive.google.com/open?id=1IaWwN … p=drive_fs
https://drive.google.com/open?id=1heYjh … p=drive_fs
https://drive.google.com/open?id=1KlDEw … p=drive_fs

23

(10 replies, posted in Using SVP)

flowreen91 wrote:
narkohol wrote:

05:04:18.996 [E]: Playback [c0145ab3]: VS - ValueError: vsmlrt.RIFE: RIFE: multi must be at least 2

But setting to "Fixed 60fps" doesn't solve it.

It means the video u are opening already has 60 fps.
Try specifying a higher fps value.
And also update SVP.

Mmm... all those videos are 23.976 fps.

They are test scenes I cut from the original source videos using LosslessCut.

I installed SVP yesterday, how can I update it more?

24

(10 replies, posted in Using SVP)

Same error here:

05:04:18.996 [E]: Playback [c0145ab3]: VS - File \C:\Program Files (x86)\SVP 4\rife\vsmlrt.py\, line 1185, in RIFE
05:04:18.996 [E]: Playback [c0145ab3]: VS - raise ValueError(f'{func_name}: RIFE: multi must be at least 2')
05:04:18.996 [E]: Playback [c0145ab3]: VS - ValueError: vsmlrt.RIFE: RIFE: multi must be at least 2

But setting to "Fixed 60fps" doesn't solve it.

https://i.postimg.cc/2jW35RwN/image.png

Any ideas how to fix this?

resder wrote:
narkohol wrote:

Is there any way to improve SVP to make it really as smooth as DmitriRender and reduce the artifacts in patterns?


There is a lot of potential still not discover in svp, here a example:

Reading information about that "60fps++", it was made with svp and  the "hybrid" with svp+IA

https://www.youtube.com/watch?v=jTP_0CdyJnE

I see lots of people mainly focused at anime. I'm more interested in live action as smooth as possible. Are those "60fps++" settings available somewhere?