After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 602743 - Alacarte is too slow
Alacarte is too slow
Status: RESOLVED OBSOLETE
Product: alacarte
Classification: Applications
Component: general
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: Alacarte Maintainer(s)
Alacarte Maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2009-11-23 15:51 UTC by Yann
Modified: 2012-08-16 09:17 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Yann 2009-11-23 15:51:01 UTC
Hi to the Gnome team and many thanks for your great work !

Many changes I do take 2 seconds to be applied in Alarte.
For example:
- when I click on a "show" box, the application name takes 2s to change font size
- same when I "hide" any application
- when I click on "New separator", it comes after 2s
- when I drag and drop an item to move it, it desappears during 2s and then appears at its final location.
- same when I click on "Move up", "Move down", or "Delete"
- to create a new menu or new item

On the other hand, other actions are immediate:
- left-click on an item immediatly selects it
- window immediately appear when I double left-click an an item  
- right-click on an item immediately displays the options 
- window immediately appear when I click on "New menu" , "New item"

on Ubuntu 9.10 , Mobile AMD sempron 3200+, 900Mio RAM
Comment 1 Antti Kaihola 2010-01-13 09:12:58 UTC
I looked into this a bit and made the following observations:

When a user has made a modification to the menu, a corresponding event handler (e.g. on_[menu|item]_tree_drag_received) is executed.

Modifications are not committed to the GUI menu tree by these event handlers.

Instead, exactly one second after the event handler has been executed, the menuChanged() method gets called and the whole GUI menu tree is reloaded.

The menuChanged() event handler is set up with the add_monitor() method of a gmenu.Tree instance. There is no timeout argument in the call. I didn't dig too deep into the C source of libmenu and glib/gio, but I suspect the delay originates from there.

By always updating the UI based on notifications from underlying libraries, the program keeps in sync with the menus even if they are being changed elsewhere. Try running two copies of Alacarte: editing in one causes changes to appear in the other as well.

To make the UI responsive, the only solutions I see are either:

1) somehow reduce the monitor timeout used by underlying libraries, or

2) commit modifications into the visible menu tree in the event handlers even though the menu tree will be replaced 1-2 seconds later.

I wonder if these conclusions are accurate and whether the core team is willing to accept patches even though a rewrite of Alacarte in Vala seems to be underway.
Comment 2 Yann 2010-01-15 02:53:26 UTC
Thank you for the answer. I re-checked today : I confirm I still have the bug with an updated ubuntu 9.10 .
Comment 3 André Klapper 2010-09-28 18:10:06 UTC
(In reply to comment #1)
> whether the core team is willing to accept patches

What core team?

> even though a rewrite of Alacarte in Vala seems to be underway.

Any links to that?
Comment 4 Que Quotion 2011-05-01 17:18:40 UTC
It is now May 2011 and alacarte is nowhere closer to being a sufficient menu editor.

I would like the same answers Andre.

Who is working on this?

Is progress being made?

See comments #9 and #10 in this Ubuntu bug report for a detailed explication of the problems with this menu editor:

https://bugs.launchpad.net/ubuntu/+source/alacarte/+bug/111896
Comment 5 André Klapper 2011-05-01 18:29:30 UTC
(In reply to comment #4)
> Who is working on this?

Nobody.

> Is progress being made?

No.

For general activity see http://git.gnome.org/browse/alacarte/log/
Comment 6 Que Quotion 2011-05-02 09:05:04 UTC
Thank you Andre!

Wow. It's nice to see those Loco teams hard at work, making a alacarte available in every conceivable language... But it looks like about two years since the core program got any attention.

Looks like were on our own. Time to relearn C++
Comment 7 Jasper St. Pierre (not reading bugmail) 2012-06-01 05:09:22 UTC
I'm maintaining Alacarte now. I am not going to rewrite it in Vala. If there are performance problems, I will look into them.
Comment 8 André Klapper 2012-06-04 13:08:04 UTC
Yann: Do these performance issues still happen in a recent version (if so, which version and distribution)? If so, which hardware is used? How to reproduce?

Not even sure if this report is still valid because it's rather old, and a bit vague (covering several issues).
Comment 9 Yann 2012-06-05 07:04:45 UTC
Hello Andre,
i have a different laptop now (Clevo i3, 4GB RAM), and i use Ubuntu 12.04. I played a bit with Alacarte in order to check, but can't reproduce the bug.
I'll let you know if i find a bug with this configuration.