1 (edited by narkohol 29-12-2017 20:51:39)

Topic: SVP for gaming

Somebody told me about using SVP for 1080p pseudo-60fps realtime console gaming. Found some threads with some info here, but nothing too detailed.

After many tries this is the best pipeline I came up with for best quality, smoothness and lowest input lag. I'm just a newbie in a trial/error quest so I guess this pipeline can be improved.

This method only works with SVP3, as setting Processing Threads to 2 is mandatory for minimum input lag. SVP4 doesn't have the same setting and doesn't work near as good.

Almost any capture card should work. I use an Elgato HD60 Pro PCIe capture card with Potplayer. Most people seem to use MPC but for me colors are not ok, it gives me problems in fullscreen and doesn't retain the capture card res and colorspace settings.

1. Set your capture card settings for 1080p30 capture at max quality.

2. Set Potplayer with the following settings.

https://s14.postimg.org/5ui3jxsld/image.png
https://s5.postimg.org/j18e7sjnb/image.png



The Built-in Direct3D 11 Video Renderer works well, but I think VMR 9 Windowed is faster, giving somehow lower input lag and a more responsive gameplay. Other video renderers either give me problems with colors, fullscreen, vsync, smoothness of SVP, or just felt slower.

https://s5.postimg.org/gjwn0k2br/image.png https://s5.postimg.org/3sigu0xon/image.png
https://s5.postimg.org/u0tljfs2v/image.png


    1. And this config in SVP:

https://s5.postimg.org/to27d9p8n/image.png


If you have audio synch issues, you can adjust Video delay:

https://s5.postimg.org/d0apas9wn/image.png

and the most important setting: right-click on the tray icon and set Processing Threads to 2. It's the only setting that gives a low enough lag to play in realtime.

https://s5.postimg.org/aiyy3i2uv/image.png

Somebody suggested disabling GPU-acceleration would improve lag too.

This is how the pipeline of Filters look in Potplayer:

https://s5.postimg.org/wlz66v9pz/image.png

https://s5.postimg.org/736ttuig7/image.png

I'm surprised that SVP4 can't show the same good results for this goal. And surprised the SVP-team haven't give this use more spotlight.

I'm currently pretty happy with the results using this method, but how do you think this pipeline can be improved?

Re: SVP for gaming

> I'm surprised that SVP4 can't show the same good results for this goal.

Why? Only because it can't set "2 threads"? hmm
All settings -> set "frc.threads" = 2

I'm more surprised with the fact 2 threads can handle 1080p...
Which CPU do you have? Kabylake @5GHz ?

> how do you think this pipeline can be improved?

Probably by using mpv.

====

Just a little technical comment: number of threads is NOT a problem. The real problem is in ffdshow buffers size (open ffdshow properties, Avisynth tab, see "buffer back/ahead" values). In general, more threads need larger buffers -> gives higher latency, BUT you can adjust buffers size with frc.prefetch.ff_mul and frc.prefetch.ff_add values - <buffer size> = ff_mul * <threads> + ff_add. When the buffer will be too small for the given number of threads you'll see it wink

====

You can now set 2 threads in SVP 4 but you can't lower ffdshow buffer size below 7. Damn...

3 (edited by narkohol 02-01-2018 18:18:07)

Re: SVP for gaming

Chainik wrote:

All settings -> set "frc.threads" = 2

Tried that with exact same settings as SVP3, but for some reason it is still slower. I don't think this is placebo on my part.


Chainik wrote:

I'm more surprised with the fact 2 threads can handle 1080p...
Which CPU do you have? Kabylake @5GHz ?

Ryzen1700@3.9


Chainik wrote:

> how do you think this pipeline can be improved?

Probably by using mpv.

As long as I understand (not much smile) mpv is a command line multiplatform player that doesn't have a GUI right? Can you elaborate how and what could be better?



Chainik wrote:

Just a little technical comment: number of threads is NOT a problem. The real problem is in ffdshow buffers size (open ffdshow properties, Avisynth tab, see "buffer back/ahead" values). In general, more threads need larger buffers -> gives higher latency, BUT you can adjust buffers size with frc.prefetch.ff_mul and frc.prefetch.ff_add values - <buffer size> = ff_mul * <threads> + ff_add. When the buffer will be too small for the given number of threads you'll see it wink

Mmmm...   I see. Tried several values for ffadd and the "buffer back/ahead" values in the the Avisynth tab get set to 0 - 7 instead the default 0 - 5. So it's more buffers and more latency right?


Chainik wrote:

You can now set 2 threads in SVP 4 but you can't lower ffdshow buffer size below 7. Damn...

You mean this is some unsolvable problem with ffdshow?