Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cinnamon applets (MENU) pop out too slow #4854

Closed
Yanpas opened this issue Nov 21, 2015 · 6 comments
Closed

Cinnamon applets (MENU) pop out too slow #4854

Yanpas opened this issue Nov 21, 2015 · 6 comments

Comments

@Yanpas
Copy link

Yanpas commented Nov 21, 2015

Cinnamon menu and calendar are the most slow ones. Maybe they should have cache or smth for faster loading.
It really annoys, especially if you have a lot of apps, when you press Win button, start typing something... - and you have typed nothing, cause when you were typing menu was loading.

@ghost
Copy link

ghost commented Nov 22, 2015

Wellcome to the more problematic thing about performance in cinnamon and gnome shell, it is well known. Several things are doing to increase the speed. Create a cache in cjs code will not do anything. I would recommend also open a report in gnome, because the only alternative that i see, is hardcode the cache inside clutter api in some way. Clutter also destroy the memory involved in the paint task after some time without usage, and then the menu will be working more slowed than a complete loading when you try to open it. Is preferable probably destroy it and then create it again on open. A solution to that part is hide all items when the menu will be closed, but this is more slow on close, and is unnecessary if clutter don't forgot the paint cache. Maybe an option to know if actors are in the paint cache or not and apply the best solution in this case will be all that is needed.

Actually clutter required the visibility of the actor to call the paint function and the gl api. So this will be always a limitation to all things related with make a cache of clutter actors.

As you need paint the actor on fly, and how as another limitation of clutter api, you will need to do that with only one thread, and how this thread is running in javascript and how javascript is not precompiled, well there are a lot of thing that occurs, and this is why you see what you see.

@Garibaldo
Copy link

@lestcape , the Configurable menu applet is noticeable faster than the Cinnamon stock menu. If I recall correctly, you mentioned that the Cinnamon menu draws a invisible polygon in order to provide a directional detection of mouse movements (a great feature BTW #1775) whereas Configurable menu uses other calculations to obtain the same result. If I understood correctly, that different approach possibly is the reason for some of the Configurable menu performance improvement. Could your modifications be ported to the Cinnamon menu?

@ghost
Copy link

ghost commented Nov 23, 2015

Hi @Garibaldo, this is true, and i generalized the same method inside global menu, so is applicable to all things... But not applicable to this conversation, because the vector box is applicable when you change the app categories, not for open the menu. The vector box have an impact in the search result, where a better search result can be produced (as configurable menu can do). This can be implemented in the cinnamon menu without lost performance if will apply the idea that i have.

The idea and the code is there: #4464

In this issue the problem is not change the categories, is open the menu, and this can be split in three cases.

1- Open the menu at the first time: cinnamon menu have an equivalent speed to configurable menu, but the configurable menu, need a pre-opening outside the screen when loading, so really cinnamon menu is more faster, because not need to do lot of things as the configurable menu.

2- Open the menu, when clutter forgot the paint cache and is not the first opening: In this case Configurable Menu is more faster than cinnamon menu, because changed the visibility of all items when the closing occurs and then applies the same method as if was the first open (but in this case without a pre-opening).

3- Open the menu, when clutter have a paint cache and of course is not the first opening: In this case maybe configurable menu is a little more slower, because changed the visibility of all items and cinnamon menu not.

And also for the close:
Who win closing the menu is the cinnamon menu, because the configurable menu made a lot of things more and also change the visibility of all items, the cinanmon menu not need to do any of this.

@Garibaldo
Copy link

At least on my system Configurable Menu seems to be faster in everything. The only problem is that currently every time I open it, an annoying notification pops up.

@ghost
Copy link

ghost commented Nov 23, 2015

This is because the point 2 occurs in most of cases.... And is exactly what occurs in this issue, i know about the bug of Configurable Menu.

@JosephMcc
Copy link
Contributor

Duplicate #2148

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants