INSANE(ly slow) render times with Kdenlive

I’ve talked to a couple people with similar hardware configs and I asked them to render the same file - an avchd in .mts format, using the same settings (f=mp4 vcodec=nvenc_h264 vb=30000k rc=cbr acodec=aac ab=192k). They report render times of about 0.5x file length, while I am only able to get about 8x file length.

This is INSANE! No corrections, no transitions, no transforms, no effects, a 2min30s file renders in 16 minutes? What am I missing? What am I doing wrong.


System:    Kernel: 5.8.11-1-MANJARO x86_64 bits: 64 compiler: N/A 
           parameters: BOOT_IMAGE=/boot/vmlinuz-5.8-x86_64 root=UUID=8998e854-e616-46ea-bc45-dd6da6ab951f rw 
           "acpi_osi=Windows 2012" quiet udev.log_priority=3 
           Desktop: KDE Plasma 5.19.5 tk: Qt 5.15.1 wm: kwin_x11 dm: SDDM Distro: Manjaro Linux 
Machine:   Type: Laptop System: ASUSTeK product: FX503VD v: 1.0 serial: <filter> 
           Mobo: ASUSTeK model: FX503VD v: 1.0 serial: <filter> UEFI: American Megatrends v: FX503VD.308 
           date: 04/29/2019 
Battery:   ID-1: BAT1 charge: 52.3 Wh condition: 52.3/64.4 Wh (81%) volts: 5.2/15.2 model: ASUS A32-K55 
           type: Li-ion serial: N/A status: Full 
CPU:       Topology: Quad Core model: Intel Core i5-7300HQ bits: 64 type: MCP arch: Kaby Lake family: 6 
           model-id: 9E (158) stepping: 9 microcode: D6 L2 cache: 6144 KiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 20004 
           Speed: 800 MHz min/max: 800/3500 MHz Core speeds (MHz): 1: 800 2: 800 3: 800 4: 800 
           Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
           Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT disabled 
           Type: mds mitigation: Clear CPU buffers; SMT disabled 
           Type: meltdown mitigation: PTI 
           Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl and seccomp 
           Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization 
           Type: spectre_v2 
           mitigation: Full generic retpoline, IBPB: conditional, IBRS_FW, STIBP: disabled, RSB filling 
           Type: srbds mitigation: Microcode 
           Type: tsx_async_abort status: Not affected 
Graphics:  Device-1: Intel HD Graphics 630 vendor: ASUSTeK driver: i915 v: kernel bus ID: 00:02.0 
           chip ID: 8086:591b 
           Device-2: NVIDIA GP107M [GeForce GTX 1050 Mobile] vendor: ASUSTeK driver: nvidia v: 450.66 
           alternate: nouveau,nvidia_drm bus ID: 01:00.0 chip ID: 10de:1c8d 
           Device-3: IMC Networks USB2.0 HD UVC WebCam type: USB driver: uvcvideo bus ID: 1-7:4 chip ID: 13d3:5666 
           serial: <filter> 
           Display: x11 server: X.Org 1.20.9 compositor: kwin_x11 driver: modesetting,nvidia 
           alternate: fbdev,intel,nouveau,nv,vesa display ID: :0 screens: 1 
           Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2") s-diag: 582mm (22.9") 
           Monitor-1: eDP-1 res: 1920x1080 hz: 60 dpi: 142 size: 344x193mm (13.5x7.6") diag: 394mm (15.5") 
           OpenGL: renderer: Mesa Intel HD Graphics 630 (KBL GT2) v: 4.6 Mesa 20.1.8 direct render: Yes 
Audio:     Device-1: Intel CM238 HD Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel bus ID: 00:1f.3 
           chip ID: 8086:a171 
           Sound Server: ALSA v: k5.8.11-1-MANJARO 
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: ASUSTeK driver: r8169 v: kernel 
           port: d000 bus ID: 02:00.0 chip ID: 10ec:8168 
           IF: enp2s0 state: down mac: <filter> 
           Device-2: Intel Wireless 8265 / 8275 driver: iwlwifi v: kernel port: d000 bus ID: 04:00.0 
           chip ID: 8086:24fd 
           IF: wlp4s0 state: up mac: <filter> 
Drives:    Local Storage: total: 1.20 TiB used: 470.72 GiB (38.3%) 
           ID-1: /dev/mmcblk0 vendor: Samsung model: SP64G size: 59.48 GiB block size: physical: 512 B 
           logical: 512 B serial: <filter> scheme: MBR 
           SMART Message: Unknown smartctl error. Unable to get data. 
           SMART Message: Unable to run smartctl. Root privileges required. 
           ID-2: /dev/sda vendor: A-Data model: SU800NS38 size: 238.47 GiB block size: physical: 512 B 
           logical: 512 B speed: 6.0 Gb/s serial: <filter> rev: 8BS scheme: GPT 
           ID-3: /dev/sdb vendor: Seagate model: ST1000LX015-1U7172 size: 931.51 GiB block size: physical: 4096 B 
           logical: 512 B speed: 6.0 Gb/s rotation: 5400 rpm serial: <filter> rev: SDM1 scheme: GPT 
Partition: ID-1: / raw size: 237.97 GiB size: 233.24 GiB (98.01%) used: 32.27 GiB (13.8%) fs: ext4 dev: /dev/sda2 
Swap:      Kernel: swappiness: 3 (default 60) cache pressure: 50 (default 100) 
           ID-1: swap-1 type: file size: 10.00 GiB used: 0 KiB (0.0%) priority: -2 file: /swapfile 
Sensors:   System Temperatures: cpu: 55.0 C mobo: N/A 
           Fan Speeds (RPM): cpu: 0 
Info:      Processes: 214 Uptime: 1h 19m Memory: 15.52 GiB used: 2.70 GiB (17.4%) Init: systemd v: 246 Compilers: 
           gcc: 10.2.0 Packages: pacman: 1275 lib: 422 Shell: Bash v: 5.0.18 running in: konsole inxi: 3.1.05

Upon further testing I noticed that the video engine utilization generally sits at 0% while rendering, with very short, occasion spikes at 10-15%. Just a FWIW…

Did you start kdenlive witih prime-run to offload it to the dGPU?

prime-run kdenlive

Yes and it makes no difference.

I took it even further and used Optimus Manager to switch the whole desktop to NVIDIA graphics. Still, it makes no difference.

Since Kdenlive uses ffmpeg… does it work on commandline?

ffmpeg -i input -c:v h264_nvenc -preset default output.mp4
prime-run ffmpeg -i input -c:v h264_nvenc -preset default output.mp4
1 Like

It works and what needed 16 minutes in Kdenlinve exported in 40 seconds.

prime-run ffmpeg -i input -c:v h264_nvenc -preset default output.mp4

Also worked and exported in 15 seconds.

Same issue here: [Solved] Possible to render using GPU instead of the CPU in Kdenlive? / Multimedia and Games / Arch Linux Forums

Workaround: Create a custom profile with nvenc.

Maybe there is something wrong with the standard profile?

1 Like