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 712727 - boxpointer: Don't hide when we're already hidden
boxpointer: Don't hide when we're already hidden
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2013-11-20 04:03 UTC by Jasper St. Pierre (not reading bugmail)
Modified: 2013-11-20 14:56 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
boxpointer: Don't hide when we're already hidden (1.17 KB, patch)
2013-11-20 04:03 UTC, Jasper St. Pierre (not reading bugmail)
none Details | Review
boxpointer: Don't hide when we're already hidden (1.17 KB, patch)
2013-11-20 04:24 UTC, Jasper St. Pierre (not reading bugmail)
committed Details | Review

Description Jasper St. Pierre (not reading bugmail) 2013-11-20 04:03:00 UTC
You would think we would already do something like this, but apparently
lots of code was calling hide() without checking if the box pointer was
already visible, causing it to queue a full tween. The biggest win was
with ibusCandidatePopup.js, which called hide() on every DBus message.

This increases the performance for me to enter the overview by a tiny
bit. The remaining time is spent updating the frequent apps / all apps
display.
Comment 1 Jasper St. Pierre (not reading bugmail) 2013-11-20 04:03:03 UTC
Created attachment 260284 [details] [review]
boxpointer: Don't hide when we're already hidden
Comment 2 Jasper St. Pierre (not reading bugmail) 2013-11-20 04:24:53 UTC
Created attachment 260285 [details] [review]
boxpointer: Don't hide when we're already hidden

You would think we would already do something like this, but apparently
lots of code was calling hide() without checking if the box pointer was
already visible, causing it to queue a full tween. The biggest win was
with ibusCandidatePopup.js, which called hide() on every DBus message.

This increases the performance for me to enter the overview by a tiny
bit. The remaining time is spent updating the frequent apps / all apps
display.



So, when I went to rebase, I found an uncommitted line in my tree. Whoops.
Comment 3 Rui Matos 2013-11-20 13:33:17 UTC
Review of attachment 260285 [details] [review]:

Yeah. Seems like we should do the same for show()
Comment 4 Rui Matos 2013-11-20 13:43:10 UTC
But we should still run the onComplete callback if one is provided in this case, no? I think that's would be reasonable though, on a quick look, I didn't find any calling code relying on that
Comment 5 Jasper St. Pierre (not reading bugmail) 2013-11-20 14:55:02 UTC
(In reply to comment #3)
> Yeah. Seems like we should do the same for show()

I can't imagine that being hit as often. This was mostly the case of a bunch of code repeatedly calling hide() on a boxpointer that was already hidden.

(In reply to comment #4)
> But we should still run the onComplete callback if one is provided in this
> case, no? I think that's would be reasonable though, on a quick look, I didn't
> find any calling code relying on that

I don't know. I feel like some code that runs the onComplete callback only expects it to run when there was an actual transition. The goal here is to do less, so I'd say it's OK to not run it.
Comment 6 Jasper St. Pierre (not reading bugmail) 2013-11-20 14:56:37 UTC
Attachment 260285 [details] pushed as d77fc01 - boxpointer: Don't hide when we're already hidden