GhostOfSparta wrote:Yeah I did force enable GPU encoding and deciding which I can see while doing perf monitoring.
https://www.svp-team.com/wiki/Manual:SVPflow This link made me think SVP could be GPU accelerated since it says MSmoothFPS is GPU accelerated, but maybe I'm reading that wrong? I'll be digging into the vapoursynth script today to see what I can learn.
Most of the actual SVP vapoursynth script is tucked away in the SVP dlls, the visible scripts just call it. You can't change much, unfortunately.
There may be a denoising step you can replace with KNLMeansCL (which is why I mentioned it), and you can cut out some of the extra steps, but that's about it.
And SVP IS GPU accelerated, just lightly/partially GPU accelerated. There was another thread on this that eludes me now, but the jist of it is that A: SVP is largely based on the old mvsfunc plugin, which means you can only offload so much to the GPU without rewriting everything from scratch, and B: the SVP devs wanted it to work in real-time on as many machines as possible. This means laptops with IGPs, which means you can't offload too much to the GPU without overloading it.
That was years ago though. The GPU power of the average machine has gone WAY up while CPUs have been relatively stagnant, hence SVP seems like it barely loads desktop GPUs at all. It's like an old game: it's using the GPU, it just doesn't need much and is ultimately limited by the CPU.
If you're just trying to use idle GPU resources, you might be able to inject MPV's GPU shaders into the encoding process? https://github.com/mpv-player/mpv/wiki/User-Scripts
Never tried it myself though. If you do it with StaxRip instead, there are a few GPU filters out there (Waifu2x and some denoisers IIRC).