flathub / org.audacityteam.Audacity

https://flathub.org/apps/details/org.audacityteam.Audacity
7 stars 13 forks source link

Audacity flatpak very slow to start compared with snap or AppImage #127

Open IgnacioJPickering opened 1 year ago

IgnacioJPickering commented 1 year ago

Bug description

I'm running Ubuntu 22.04 with GNOME and the Audacity flatpak (from flathub) is very slow to start (around x5 times slower than the corresponding snap). AppImage shows same behavior.

Steps to reproduce

Install and run the audacity flatpak with:

flatpak install flathub org.audacityteam.Audacity
flatpak run org.audacityteam.Audacity

Expected behavior

Startup should be roughly as fast as snap

Actual behavior

Startup time is 5x slower

Audacity Version

latest stable version

Operating system

Linux

hasezoey commented 12 months ago

is the slow start because of the plugin loading or is it something "invisible"?


the following is outdated (and somewhat wrong)

for me it is the plugin loading that takes way longer than the system's (manjaro) audacity version (they also seemingly share the same path to store configuration and plugins in ~/.audacity-data and so overwrite eachother)

after some investigation and observing, the problem with long plugin load times are:

List of installed plugins `cat pluginregistry.cfg | grep "Name=" | sort | uniq -c` ```txt 1 Name= 2 Name=4 x 4 pole allpass 1 Name=Adjustable Fade 1 Name=A-Law Compressor 2 Name=Aliasing 2 Name=Allpass delay line, cubic spline interpolation 2 Name=Allpass delay line, linear interpolation 2 Name=Allpass delay line, noninterpolating 2 Name=AM pitchshifter 1 Name=Amplify 2 Name=Analogue Oscillator 2 Name=Artificial latency 2 Name=Audio Divider (Suboctave Generator) 1 Name=Auto Duck 2 Name=Auto phaser 2 Name=Barry's Satan Maximiser 1 Name=Bass and Treble 1 Name=Beat Finder 2 Name=Bode frequency shifter 2 Name=Bode frequency shifter (CV) 1 Name=Builtin Commands 1 Name=Builtin Effects 1 Name=Change Pitch 1 Name=Change Speed 1 Name=Change Tempo 2 Name=Chebyshev distortion 1 Name=Chirp 1 Name=Classic Filters 1 Name=Clear Log 1 Name=Click Removal 1 Name=Clip Fix 2 Name=Comb delay line, cubic spline interpolation 2 Name=Comb delay line, linear interpolation 2 Name=Comb delay line, noninterpolating 2 Name=Comb Filter 2 Name=Comb Splitter 1 Name=Comment 1 Name=Compare Audio 1 Name=Compressor 2 Name=Constant Signal Generator 2 Name=Crossfade 2 Name=Crossfade (4 outs) 1 Name=Crossfade Clips 1 Name=Crossfade Tracks 2 Name=Crossover distortion 2 Name=DC Offset Remover 2 Name=Decimator 2 Name=Declipper 1 Name=Delay 2 Name=Delayorama 2 Name=Diode Processor 1 Name=Distortion 2 Name=DJ EQ 2 Name=DJ EQ (mono) 2 Name=DJ flanger 1 Name=Drag 1 Name=DTMF Tones 2 Name=Dyson compressor 1 Name=Echo 1 Name=EQ XML to TXT Converter 1 Name=Example Fifths 1 Name=Example Metronome 1 Name=Example MIDI Gate 1 Name=Example Parameters 1 Name=Example Scope (Mono) 1 Name=Example Scope (Stereo) 2 Name=Exponential signal decay 1 Name=Export2 1 Name=Fade In 1 Name=Fade Out 2 Name=Fast Lookahead limiter 2 Name=Fast overdrive 1 Name=Filter Curve EQ 1 Name=Find Clipping 2 Name=Flanger 2 Name=FM Oscillator 2 Name=Foldover distortion 2 Name=Fractionally Addressed Delay Line 2 Name=Frequency tracker 2 Name=Gate 1 Name=Get Info 1 Name=Get Preference 2 Name=Giant flange 2 Name=Glame Bandpass Analog Filter 2 Name=Glame Bandpass Filter 2 Name=GLAME Butterworth Highpass 2 Name=GLAME Butterworth Lowpass 2 Name=Glame Butterworth X-over Filter 2 Name=Glame Highpass Filter 2 Name=Glame Lowpass Filter 2 Name=Gong beater 2 Name=Gong model 1 Name=Graphic EQ 1 Name=GSM simulator 2 Name=GVerb 2 Name=Hard Limiter 2 Name=Harmonic generator 1 Name=Help 2 Name=Hermes Filter 2 Name=Higher Quality Pitch Scaler 1 Name=High-Pass Filter 2 Name=Hilbert transformer 1 Name=Import2 1 Name=Impulse convolver 1 Name=Invert 2 Name=Inverter 2 Name=Karaoke 1 Name=Label Sounds 1 Name=LADSPA Effects 2 Name=L/C/R Delay 2 Name=LFO Phaser 1 Name=Limiter 1 Name=Lookahead limiter 1 Name=Lookahead limiter (fixed latency) 1 Name=Loudness Normalization 1 Name=Low-Pass Filter 2 Name=LS Filter 1 Name=LV2 Effects 1 Name=Mag's Notch Filter 2 Name=Matrix: MS to Stereo 2 Name=Matrix Spatialiser 2 Name=Matrix: Stereo to MS 1 Name=Measure RMS 1 Name=Message 2 Name=Modulatable delay 2 Name=Mono to Stereo splitter 2 Name=Multiband EQ 2 Name=Multivoice Chorus 1 Name=Noise 1 Name=Noise Gate 1 Name=Noise Reduction 1 Name=Non-bandlimited single-sample impulses 1 Name=Nonbandlimited single-sample impulses (Frequency: Control) 1 Name=Normalize 1 Name=Notch Filter 1 Name=Nyquist Effects 1 Name=Nyquist Plugin Installer 1 Name=Nyquist Prompt 1 Name=Offset, sample-based 1 Name=Open Project2 1 Name=Paulstretch 1 Name=Phaser 1 Name=Pitch Scaler 2 Name=Plate reverb 1 Name=Pluck 2 Name=Pointer cast distortion 2 Name=Rate shifter 1 Name=Regular Interval Labels 1 Name=Repair 1 Name=Repeat 2 Name=Retro Flanger 1 Name=Reverb 1 Name=Reverse 2 Name=Reverse Delay (5s max) 1 Name=Rhythm Track 2 Name=Ringmod with LFO 2 Name=Ringmod with two inputs 1 Name=Risset Drum 1 Name=Sample Data Export 1 Name=Sample Data Import 1 Name=Save Copy 1 Name=Save Log 1 Name=Save Project2 2 Name=SC1 2 Name=SC2 2 Name=SC3 2 Name=SC4 1 Name=SC4 mono 1 Name=Screenshot 2 Name=SE4 1 Name=Select 1 Name=Select Frequencies 1 Name=Select Time 1 Name=Select Tracks 1 Name=Set Clip 1 Name=Set Envelope 1 Name=Set Label 1 Name=Set Preference 1 Name=Set Project 1 Name=Set Track 1 Name=Set Track Audio 1 Name=Set Track Status 1 Name=Set Track Visuals 1 Name=Shelf Filter 2 Name=Signal sifter 1 Name=Silence 2 Name=Simple amplifier 1 Name=Simple Amplifier 2 Name=Simple delay line, cubic spline interpolation 2 Name=Simple delay line, linear interpolation 2 Name=Simple delay line, noninterpolating 2 Name=Sine + cosine oscillator 2 Name=Single band parametric 2 Name=Sinus wavewrapper 1 Name=Sliding Stretch 2 Name=Smooth Decimator 1 Name=Spectral Delete 1 Name=Spectral Edit Multi Tool 1 Name=Spectral Edit Parametric EQ 1 Name=Spectral Edit Shelves 2 Name=State Variable Filter 1 Name=Step Demuxer 1 Name=Stereo To Mono 1 Name=Studio Fade Out 2 Name=Surround matrix encoder 2 Name=TAP AutoPanner 2 Name=TAP Chorus/Flanger 2 Name=TAP DeEsser 1 Name=TAP Dynamics (M) 1 Name=TAP Dynamics (St) 2 Name=Tape Delay Simulation 2 Name=TAP Equalizer 2 Name=TAP Equalizer/BW 2 Name=TAP Fractal Doubler 1 Name=TAP Mono Dynamics 2 Name=TAP Pink/Fractal Noise 2 Name=TAP Pitch Shifter 2 Name=TAP Reflector 2 Name=TAP Reverberator 2 Name=TAP Rotary Speaker 2 Name=TAP Scaling Limiter 2 Name=TAP Sigmoid Booster 1 Name=TAP Stereo Dynamics 2 Name=TAP Stereo Echo 2 Name=TAP Tremolo 1 Name=TAP Tubewarmth 1 Name=TAP TubeWarmth 2 Name=TAP Vibrato 1 Name=Tone 2 Name=Transient mangler 1 Name=Tremolo 2 Name=Triple band parametric with shelves 1 Name=Truncate Silence 2 Name=Valve rectifier 2 Name=Valve saturation 1 Name=Vamp Effects 1 Name=Vocal Reduction and Isolation 2 Name=Vocoder 1 Name=VST3 Effects 1 Name=VST Effects 2 Name=VyNil (Vinyl Effect) 1 Name=Wahwah 2 Name=Wave shaper 2 Name=Wave Terrain Oscillator 2 Name=z-1 1 Name=μ-Law Compressor ```

installed:

Audacity        org.audacityteam.Audacity       3.3.3   stable  system
Codecs  org.audacityteam.Audacity.Codecs                stable  system
TAP-plugins     org.freedesktop.LinuxAudio.Plugins.TAP  1.0.1   22.08   system
SWH     org.freedesktop.LinuxAudio.Plugins.swh  0.4.17  22.08   system

(installed flatpak plugins are requirements of other applications like com.obsproject.Studio and org.kde.kdenlive)

hfiguiere commented 12 months ago
  • the same plugins are again downloaded (even though they exist in /app/extensions)

  • plugin downloads happen from http://plugin.org.uk, which is slower for me compared to the systems audacity http://calf.sourceforge.net

  • more plugins are bundled / downloaded than the system's audacity

I will debunk a myth:

NO PLUGIN IS DOWNLOADED

hasezoey commented 12 months ago

I will debunk a myth: NO PLUGIN IS DOWNLOADED

if you mean the startup from my comment, then yes, no plugin is downloaded (no network activity, my mistake), though then why does it list duplicate entries (and checks duplicately) once from /app/extensions and once plugin.org.uk?

Screenshot_20230711_152256

hfiguiere commented 12 months ago

because one is LADSPA and the other is LV2. LV2 uses URI as an identifier. It has nothing to do with any sort of dowload.

IgnacioJPickering commented 12 months ago

How can I check if this has anything to do with plugins? It seems to hang for a couple of seconds with no visible dialogues before starting. Is there a way to start the flatpak in a more verbose mode to debug possible issues? I'm having a similar issue with AppImage. Both apt and snap start way faster.

IgnacioJPickering commented 12 months ago

Also, both the appimage and the flatpak seem to do something funny with the microphone tray icon. It flashes in and out of existence a couple of times before the app starts. No such thing happens with the apt / snap

IgnacioJPickering commented 12 months ago

I've updated to reflect the fact that the appimage presents the same behavior