Skip to content

Missing QT FFmpeg HW accel backend slows launch #1910

Description

@wohali

Description

I've been trying to get to the bottom of why launching contour on my modern Debian trixie system (GeForce 4090, AMD Zen3 16-core, 64GB RAM) can take several seconds.

As it turns out, it seems to be related to the QT FFmpeg configuration interrogating every possible HW encoding/decoding framework. This can be seen in the large delay in output of running contour between these two lines:

Info: Using Qt multimedia with FFmpeg version 7.1.3-0+deb13u1 GPL version 2 or later ((null):0, (null))
Info: Available HW decoding frameworks: ((null):0, (null))

and the eventual list of:

Info:      cuda ((null):0, (null))
Info:      vdpau ((null):0, (null))
Info:      vulkan ((null):0, (null))
Info: Available HW encoding frameworks: ((null):0, (null))
Info:      cuda ((null):0, (null))
Info:      vdpau ((null):0, (null))
Info:      vulkan ((null):0, (null))

After reading the documentation, specifying any of these results in near-instant launch of contour:

QT_FFMPEG_ENCODING_HW_DEVICE_TYPES=, QT_FFMPEG_DECODING_HW_DEVICE_TYPES=, contour
QT_FFMPEG_ENCODING_HW_DEVICE_TYPES=cuda, QT_FFMPEG_DECODING_HW_DEVICE_TYPES=cuda, contour
QT_FFMPEG_ENCODING_HW_DEVICE_TYPES=cuda,vulkan,vdpau QT_FFMPEG_DECODING_HW_DEVICE_TYPES=cuda,vulkan,vdpau contour

Of course, specifying no backends results in the fastest possible startup time.

Are these backends strictly necessary for what Contour does, anyway? If not, perhaps the priority list could be set to null by Contour itself?

Contour Terminal version

0.6.3-master-ea07fa77

Operating System

Debian Trixie 13.3

GPU & Driver

GPU: NVIDIA GeForce RTX 4090
Driver: 590.48.01

Renderer

Default (not sure)

Shell

bash

Steps to reproduce

  1. Open contour.
  2. Time how long it takes until the shell prompt is drawn.

Observed behavior

Program launch can take several seconds.

Expected behavior

Program should launch as fast as, say, xterm.

Configuration excerpt

Profiling data

No response

Metadata

Metadata

Labels

frontendContour Terminal Emulator (GUI frontend)performancePerformance issues or improvements

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions