Age old export and preview speed

Hello all and first thank you for ShotCut, it is great and even better price :wink:

Can anyone make suggestions on how i can

  1. speed up export
  2. speed up playback (playback is fine even in 4K until i add multiple filters, like sharpen)

1 exporting:
I have half good hardware = dual Xeon E5 2640, so 24 cores/threads (export uses all threads, so good here). 32GB ram
And a Quadro M5000 GPU.
So not top end anymore, but still plenty of power.
I have “Hardware encoding” enabled (selected/detected is H264_nvenc & hevc_nvenc)
I also have “parallel Processing” enabled. This does seem to use all cores/threads at up to 80% CPU usage.
When exporting, the GPU sits at 4% to 5% usage, yet has 2000+ CUDA Cores, but none of them seem to be being used.
My typical export is at full HD, 30 frames/second, mp4, YADF/Best, Hyper/Lanczos (best), Codec: h264+nvenc, Rate control: Quality Based VBR. QUality: 65%, GOP 150 to 300, B reames: 3, Codec threads 0
AUDIO (not important to me) Channels 1 (mono), Sample rate: 4000, codec aac, Rate Control: Average Bitrate, Bitrate 256k.

2 Display method is set to Auto.
Playback of 4k, even with multiple videos timelines, is fine (and the GPU does seem to deal with this), until i add something like a sharpen filter, which then causes the video playback to stutter lots.

Any advice on settings (while maintaining a good quality!) that will offload some of the rendering to the GPU, so it is not sitting almost on idle would be great, and MUCH thanks in advance

Example of speed:
I just did a split screen video export (so 2 4k videos, side by side with mainly crop, size and sharpen filters), took over 4 hours to export. All CPUs are being used, but the GPU sits at mostly idle :frowning:

Thanks
Jon

CUDA cores are used for very few features during encoding, like B-frames. The rest of encoding is handled by a totally separate and dedicated chipset. Encoding demands at most 5% from the CUDA cores, and disabling B-frames can take it down to zero. This is how gamers can play at max graphics and still encode a live stream at the same time. Two separate components doing two different jobs. On many cards, encoder usage is not counted with GPU usage.

It looks like you’re doing everything right for max export speed. The sharpen filter is not particularly fast, and Lanczos scaling is definitely slow. Bicubic scaling is faster and will probably look as good if not better if you are scaling video down. If scaling video up, Lanczos can potentially have better quality.

Basically, it’s the filters killing the export speed. You’re doing everything right. It just takes as long as it takes when stacks of filters get involved.

As for playback speed, look into proxy mode and preview scaling. There is documentation for those features in this forum, but I’m on a phone so it’s a pain to link them at the moment.

1 Like

Use Preview Scaling with Proxy.

You can read more about CPU and GPU usage in our FAQ. If you enabled NVENC and the export succeeded, then it is working. You are only doing 1920x1080 and the CPU is a bottleneck; so, it is not going to show much utilization.

1 Like

This topic was automatically closed after 90 days. New replies are no longer allowed.