Help us debug GUI performance on certain video interfaces

Several users have reported that the GUI (graphical user interface) of Ardour 4.x is slow on their systems. We know that this is caused by a combination of video interfaces and the driver for the video interface, but we don't know which video interfaces or which drivers are to blame. By default Ardour 4.x tries to get the video hardware to accelerate drawing, which may or may not happen depending on the card and driver.

To further track down various issues related to this, debug-builds (either from http://nightly.ardour.org/ or self-builds without --optimize) now allow to override this. (since Ardour 4.0-217)

If you feel that you are seeing slow GUI performance or drawing glitches/artifacts, please try:

  export ARDOUR_IMAGE_SURFACE=1
  Ardour4

or

  cd /gtk2_ardour; ARDOUR_IMAGE_SURFACE=1 ./ardev

Questions we're interested in getting a range of answers to:

  • Is there a significant difference to responsiveness (scroll/zoom)?
  • What is the total CPU usage when playing with follow-playhead, mixer+meters (compare with and without ARDOUR_IMAGE_SURFACE=1). The interesting part is the sum of X11/xorg + Ardour CPU usage.
  • People who had visual rendering artifacts, with ARDOUR_IMAGE_SURFACE set they should be gone. It'd be great to get confirmation of that.

When telling us about your results, be sure to include the type of video interface/card you are using, and anything you may know about the driver

Thanks in advance for helping investigating this.

It would be a great help, if you could report your findings, i. e. which video cards work well (I am contemplating buying a new workstation)

I just installed the debug version (495) Linux. I’m on ASUS Geforce GT 730 (Nvidia) with nvidia 331 drivers:

My CPU usage is the same both with or without ARDOUR_IMAGE_SURFACE=1 (playback + mixer and meter displayed)
Xorg 10%
ardour-4.0.495 7.3%

Notice I don’t have a big project.

Notice I have no clue in the Ardour log if I have set ARDOUR_IMAGE_SURFACE=1 debug is working or not. You should have provide a log message to confirm.

around ~17% CPU (X11 + ardour) is realistic when playing.

Is the graphics performance still poor? Slow scrolling, unresponsive GUI (few seconds for redraws), etc?

If so, please try: Edit > Preferences > GUI > Possibly improve slow graphical performance

Finally got around to trying this, and ARDOUR_IMAGE_SURFACE=1 seems to have smoother scrolling when using stationary playhead on my older AMD/ATI card (HD5450).
Is this still being worked? I didn’t check CPU usage, but without that variable set there was obvious jerking in the timeline animation, and with it set the scrolling was smooth.
Driver is radeon (open source AMD video driver) from the almost latest Fedora 22 kernel, 4.0.6-300.
xorg-x11-drv-ati-7.5.0-3.fc22.x86_64
xorg-x11-server-Xorg-1.17.2-1.fc22.x86_64
mesa-libGL-10.6.1-1.20150629.fc22.x86_64

Ardour is “built from revision 4.1-355-g8479466”

(edited next day): checked my CPU usage
with ARDOUR_IMAGE_SURFACE=1:
Ardour 160%-180%
Xorg 25%
smooth playback with stationary playhead

without:
Ardour 105%-130%
Xorg 55%
jerky when using stationary playhead

This is on a pretty old Opteron system, two dual core processors, 2210 at 1.8GHz per core for four cores total.

I am using a Ubuntu Studio based on xenial in a AMD Athlon™ II X2 245 Processor, 4G ram, onboard video machine.
follow some data:

uname -a
Linux M61PMV 4.4.0-31-lowlatency #50-Ubuntu SMP PREEMPT Wed Jul 13 00:58:45 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Ardour 4.7.0 “Cluster and Eno” (built from revision 4.7) Intel 64-bit
1:4.7.0-1kxstudio1v5

lspci
00:05.0 Audio device: NVIDIA Corporation MCP61 High Definition Audio (rev a2)
00:0d.0 VGA compatible controller: NVIDIA Corporation C61 [GeForce 6150SE nForce 430] (rev a2)

NVIDIA driver 304.131

1 - when not playing : Arduor using 10% of cpu and xorg using 4%
2 - playing: Ardour jump to 15% but xorg goes to 95% (dual core)
3 - mimimize all windows dont change the cpu usage.
4 - ARDOUR_IMAGE_SURFACE dont change the cpu usage

what other information do I need to add?

With Ardour 5.4 from this web site rendering of the GUI takes still long: the editor window needs about 1 second to appear, the mixer window 2 seconds. The preference window appears almost instantaneously. The editor list is almost unusable due to sloppy response when opening.

The responsiveness when scrolling or zooming in the editor is good. The delays in showing the GUI appear when, for example, switching from a second workspace back to Ardour, or raising the Ardour window, or resizing the editor list. This was not observed with Ardour4.

ARDOUR_IMAGE_SURFACE has no obvious effect.

OS: Xubuntu 16.04 LTS (32 bit)
CPU: Pentium Dual-Core E5200 (2.50GHz)
Graphics card: NVIDIA Corporation G72 [GeForce 7200 GS / 7300 SE]
Driver: NVIDIA driver 304.131 (Nouveau driver is not desirable on my system)

Added 8 October 2016: Xorg at about 93% CPU when playing, Ardour at ~12%. All else works fine with this graphics card since a long time, it would be great if it could be made to work efficiently with Ardour as well (as it did in the past).

Added 17 December 2016: Taking information provided by veda_sticks in another thread (https://community.ardour.org/node/7365), I finally recovered near perfect responsiveness by using nvidia-settings -a InitialPixmapPlacement=0. Xorg is down to about 6% CPU, Ardour has similar CPU usage as before. I have made this an autostart entry.