View Issue Details
|0009568: Slow operations on markers
|Initially discussed in https://discourse.ardour.org/t/slow-operations-on-markers/109587
A session with 0000010:0000030 regions and 0000102:0000120 markers is slow to make operations on markers.
Opening the side panel with the list of markers (shift+L)
Adding / removing markers
|Steps To Reproduce
|Import/open the attached session. Open the side panel (shift+L). Try adding a marker and/or removing a marker.
Expected: Operation is near instantaneous.
Observed: There's a spike in CPU usage / one saturated core, for a good few seconds. The desktop opes a dialog saying that Ardour is not responding and asking if I want to force-quit or wait.
|Ardour generally works, and it's enough to wait for the marker to be created or removed.
I couldn't reproduce the issue by creating a new session and tapping Tab 120 times.
The issue remained after I removed all the tracks and all the audio sources from the session.
I couldn't pinpoint what exactly about the markers and/or regions makes them slow, because the slowness built up gradually over time. But the slowness is persistent, and I verified that does persist in the session archive I'm uploading.
Slow markers repro.ardour-session-archive (55,525 bytes)
Thanks for the session. That helped to track down the issue.
The Slowdown problem is now fixed since Ardour 8.1.156. It was caused by a significant amount of Section and Location Markers.
There is still an issue with your session when undoing a marker change. That apparently results in an endless loop.
I downloaded Ardour-8.1.164 and I can confirm that adding and removing markers are now fast. Thank you!
I'll avoid undoing marker changes for now.
I worked some more using Ardour 8.1.164.
- Loading the session is much faster
- Adding and removing markers is fast just like in an new/empty session
- Opening the markers pane (shift+L) is still slow
- Undoing a marker change is indeed still slow and/or maybe doesn't even work at all, I'm not sure. I realized that I can't avoid undoing marker changes - if I work with markers, and I need to undo a sequence of steps, there's no way other than trying to undo a marker change. Today I tried to undo a chance, I eventually gave up on the undo and instead used an earlier saved session and redid a small amount of work.
It helps significantly if you never show the Location list or the sidebar. Then undo/redo works just fine.
Once the location UI and/or the sidebar version is shown, here, it can take up to 15 sec here with your session to re-populate that pane.
The location UI is important to my workflow, I use it to navigate around the session. But fortunately I don't use the undo option too often, and I try to separate the times when I work with markers (which don't need undo generally) and when I work with regions (where I need to undo quite often).
I'm wonder what is it about my session that is a challenge for Ardour? It's not like it's millions of markers or millions of regions. Is it about some sort of relationship between the two?
It's just that GTK performance sucks if there are more than 64 elements in a box - It's entirely a GUI issue.
undo/redo restores the whole state and if locations were added/removed the LocationUI is repopuplated, which can take ages.
Perhaps use the mini-timeline at the top to navigate?
I've checked with a few thousand locations and everything's fine as long as I never show the Location List, and I don't see a way to fix the UI performance of that right now.
|Tag Attached: performance
|File Added: Slow markers repro.ardour-session-archive
|new => assigned
|Note Added: 0028400
|Note Added: 0028402
|Note Added: 0028403
|Note Added: 0028404
|Note Added: 0028415
|Note Added: 0028416
|assigned => new