View Issue Details

IDCategoryLast Update
0007794bugs2019-08-24 13:24
ReporterkjetilAssigned To 
Reproducibilityalways 
Status newResolutionopen 
PlatformWindows 10OSWindowsOS Version10
Product Version5.12 
Fixed in Version 
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