View Issue Details

IDCategoryLast Update
0007792bugs2019-08-24 12:03
ReporterkjetilAssigned To 
Reproducibilityalways 
Status newResolutionopen 
PlatformWindows 10OSWindowsOS Version10
Product Version5.12 
Fixed in Version 
Summary0007792: 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. GUI starts freezing around 5 seconds, and very often, if you move the sliders.
Additional InformationTested on windows and linux, two different graphic cards. 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 that the GUI freezes.

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

Also see https://tracker.ardour.org/view.php?id=7787
TagsNo tags attached.

Activities

kjetil

2019-08-24 12:03

reporter   ~0020740

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 12:03

reporter   ~0020741

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

kjetil

2019-08-24 12:03

reporter   ~0020742

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 12:03

administrator   ~0020743

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 12:03 kjetil New Issue
2019-08-24 12:03 kjetil Issue generated from: 0007787
2019-08-24 12:03 kjetil Note Added: 0020740
2019-08-24 12:03 kjetil Note Added: 0020741
2019-08-24 12:03 kjetil Note Added: 0020742
2019-08-24 12:03 kjetil Note Added: 0020743