View Issue Details

IDProjectCategoryView StatusLast Update
0007794ardourbugspublic2019-08-24 13:24
Reporterkjetil Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
PlatformWindows 10OSWindowsOS Version10
Product Version5.12 
Summary0007794: GUI freeze when changing parameters in the "a-High/Low pass Filter" plugin.
Description(see "Summary" and "Steps To Reproduce")



Steps To Reproduce1. Start Ardour 5.12
2. Create an "a-High/Low-Pass Filter" plugin.
3. Open GUI for that plugin.
4. Make sure "Plugin analysis" is visible.
5. Move a slider rapidly back and forth.
6. After a few seconds (if your computer is slow enough), GUI starts freezing.
Additional InformationTested on windows and linux, two different graphic cards, two different CPUs. Looks like it takes a lot of time to draw graphics, and when changing slider values, it can take so much time to update the graphics (probably caused by a flood of events) that the GUI freezes.

A workaround is to remove the line with "siz = lpf_chunk" from the function dsp_run.

This does not happen in Ardour 5.6.0.

(clone of issue https://tracker.ardour.org/view.php?id=7787)
TagsNo tags attached.

Activities

kjetil

2019-08-24 13:24

reporter   ~0020744

I've tested all the other "a-*" plugins now, and it only happens for the "a-High/Low-Pass Filter" plugin.

kjetil

2019-08-24 13:24

reporter   ~0020745

Making sure v-sync is turned on in 3d settings for the GFX card made no difference.

kjetil

2019-08-24 13:24

reporter   ~0020746

Found a workaround. It's not freezing if I comment out this line:

  siz = lpf_chunk

from dsp_run.

Maybe lots of exceptions are thrown in the inner loop for some reason? Just commenting out the call to self:queue_draw makes no difference, so it seems to be the dsp function itself that's causing the freeze. The sound seems fine though, but maybe there's some magic in ardour that makes sure the audio graph runs properly even when a lua dsp function fails?

x42

2019-08-24 13:24

administrator   ~0020747

Alas, no magic. Also no exceptions are thrown.. if there was any, the Lua-plugin would be bypassed.

Commenting out that line prevents the plugin from interpolating at 64fpp when a parameter changes.

If you show the plugin-analysis in the GUI, Ardour creates a 2nd instance of the plugin which runs in the GUI thread, non-realtime, and measures the impulse response, using a rather large block-size (8k).
I suppose that can be CPU intense, but I don't yet see how graphics driver could have any influence on this.

Issue History

Date Modified Username Field Change
2019-08-24 13:24 kjetil New Issue
2019-08-24 13:24 kjetil Issue generated from: 0007787
2019-08-24 13:24 kjetil Note Added: 0020744
2019-08-24 13:24 kjetil Note Added: 0020745
2019-08-24 13:24 kjetil Note Added: 0020746
2019-08-24 13:24 kjetil Note Added: 0020747