bugAdvanced Gtk+ Sequencer - Bugs: bug #55820, extremely long startup time

 
 

bug #55820: extremely long startup time

Submitted by:  bill-auger <bill_auger>
Submitted on:  Sun 03 Mar 2019 06:03:25 PM UTC  
 
Category:  None Severity:  3 - Normal
Item Group:  None Status:  In Progress
Privacy:  Public Assigned to:  Joël Krähemann <jkraehemann>
Open/Closed:  Closed

Add a New Comment (Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Sun 04 Aug 2019 02:46:24 PM UTC, comment #4: 

The parsing of LV2 turtles have been reworked.

As of version 2.2.x you might want to use:

http://git.savannah.nongnu.org/cgit/gsequencer.git/tree/ags/plugin/ags_lv2_turtle_parser.c?h=2.2.x

Joël Krähemann <jkraehemann>
Project AdministratorIn charge of this item.
Sun 03 Mar 2019 10:15:07 PM UTC, comment #3: 

Hi,

For systems with limited CPU power you might want to adjust realtime priorities in source code:

Another macro that has performance impacts is the thread-pool's max unused threads, it should be increased as using many devices:

http://git.savannah.nongnu.org/cgit/gsequencer.git/tree/ags/thread/ags_thread_pool.h#n41

The max unused threads can be configured in ~/.gsequencer/ags.conf

[thread]
thread-pool-max-unused-threads=4

In order to get good performance on systems with low resources, increase buffer-size, lower samplerate and adjust max-precision:

[soundcard-0]
backend=alsa
capability=playback
buffer-size=1024
pcm-channels=2
format=16
samplerate=44100
device=hw:CARD=CMI8738,DEV=0

[thread]
thread-pool-max-unused-threads=4
max-precision=1000

... and make sure it won't output to default ALSA device as pulseaudio is running. Pulseaudio is a really bad guy with its very own timing interpretation.

Joël Krähemann <jkraehemann>
Project AdministratorIn charge of this item.
Sun 03 Mar 2019 06:26:35 PM UTC, comment #2: 

Hi,

Thank you for submitting a bug report. As a work around for the plugin issue yet available invoke like following from command line:

LADSPA_PATH="" DSSI_PATH="" LV2_PATH="" gsequencer

I was working on this issue prior. I recognized that the XPath expressions used to parse the RDF Turtle files can be optimized.

I am unsure if I did so for presets and UI.

Joël Krähemann <jkraehemann>
Project AdministratorIn charge of this item.
Sun 03 Mar 2019 06:08:18 PM UTC, comment #1: 

sry, the log got cut off - i will attach a file

(file #46403)

bill-auger <bill_auger>
Sun 03 Mar 2019 06:03:25 PM UTC, original submission:  

i just compiled the latest version 2.1.64, and on startup, it stayed on the splash screen loading plugins for over 25 minutes, with my quad-core i5 at nearly 100% CPU the entire time - it was so aggressive that it kicked me off the IRC at one point

besides that, once the GUI did finally start up, and while completely idle (i pushed no buttons at all), it remained using 50-80% CPU on all 4 cores for another 30 minutes until i closed it - that is excessive by any measure - audio applications should prioritize efficiency above all else - if the program stays on the splash screen for longer than say: 10 seconds, people will be discouraged - but probably no one is going to use this in their workflow if it takes 25 minutes to start and uses 75% CPU while idle - and remember, on my core2-duo, that was about 98% CPU running idle

ive been assuming you would move that into a background process to allow the GUI lo load, or somehow make startup faster - ive kept it in the testing repo for about a year, and it seems to have gotten worse over time - granted, i have a lot of plugins installed; but if you are giving any concern for efficiency, then something is buggy - maybe this problem is specific to my parabola/arch system though, i have not tried it on another system

one thing i noticed is that it was using sched priority -96 - the rule of thumb as i remember, is that audio programs should be no more priority than -89, with JACK being the only program at a higher priority around -90

this is the console trace, if that is helpful:

$ gsequencer

    • Message: 18:14:42.521: loading preferences for: /home/bill/.gsequencer/ags.conf

sched_setscheduler failed: Operation not permitted

    • (gsequencer:19110): WARNING **: 18:40:10.931: ags_lv2ui_manager.c - failed to load static object file
    • Message: 18:40:10.932: lv2ui check - /usr/lib64/lv2/\xa7J
    • (gsequencer:19110): WARNING **: 18:40:10.932: ags_lv2ui_manager.c - failed to load static object file
    • Message: 18:40:10.974: lv2ui check - /usr/lib/lv2/calf.lv2/calflv2gui.so
    • Message: 18:40:10.974: ags_lv2ui_manager.c loading - /usr/lib/lv2/calf.lv2/calflv2gui.so /usr/lib/lv2/calf.lv2/Monosynth.ttl with ui-effect-index 0
    • Message: 18:40:10.986: lv2ui check - /usr/lib/lv2/calf.lv2/calflv2gui.so
    • Message: 18:40:10.986: ags_lv2ui_manager.c loading - /usr/lib/lv2/calf.lv2/calflv2gui.so /usr/lib/lv2/calf.lv2/Monosynth.ttl with ui-effect-index 1
    • Message: 18:40:11.417: lv2ui check - /usr/lib/lv2/calf.lv2/calflv2gui.so
    • Message: 18:40:11.619: lv2ui check - /usr/lib/lv2/calf.lv2/calflv2gui.so
    • Message: 18:40:31.390: lv2ui check - /usr/lib/lv2/calf.lv2/calflv2gui.so
    • Message: 18:40:31.390: lv2ui check - /usr/lib/lv2/calf.lv2/calflv2gui.so
    • Message: 18:40:31.406: lv2ui check - /usr/lib/lv2/calf.lv2/calflv2gui.so
    • Message: 18:40:31.413: lv2ui check - /usr/lib/lv2/calf.lv2/calflv2gui.so
    • Message: 18:40:31.439: lv2ui check - /usr/lib/lv2/calf.lv2/calflv2gui.so
    • Message: 18:40:31.441: lv2ui check - /usr/lib/lv2/calf.lv2/calflv2gui.so
    • Message: 18:40:31.447: lv2ui check - /usr/lib/lv2/calf.lv2/calflv2
bill-auger <bill_auger>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #46403:  gsequencer added by bill_auger (69KiB - application/octet-stream)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by jkraehemann (Posted a comment)
  • -email is unavailable- added by bill_auger (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

     

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2019-08-04 jkraehemann Open/ClosedOpen => Closed
    2019-08-04 jkraehemann StatusNone => In Progress
        Assigned toNone => jkraehemann
    2019-03-03 bill_auger Attached File- => Added gsequencer, #46403

    Back to the top


    Powered by Savane 3.5