GNOME Bugzilla – Bug 737001
layout: Don't update the input region while we have a modal
Last modified: 2014-09-30 06:44:53 UTC
This is another attempt at a performance fix. From a little bit of testing it seems to make things faster, but that's probably the placebo effect. It's probably too balsy for 3.14 this point, but it can wait until 3.16.
Created attachment 286665 [details] [review] layout: Don't update the input region while we have a modal If we have a modal, the stage's input region doesn't really matter -- all events go to us anyway. To avoid doing extra work doing animations when we have a modal, like menus, the overview, and the message tray, just fizzle out all updates. To make sure we catch updates, update the input region whenever we end a modal.
Hmm not sure how or why that helps. In the past we had performance issues with updateRegion on nvidia but that was because their driver did crazy stuff during validateTree which got fixed a while ago. On the open source drivers that has never been an issue. Can you try to measure it somehow? (Maybe using Owen's perf stuff by adding a modal dialog test case).
I'm doing this not because setting the input region is slow, but because constructing the input region in the first place is slow. Especially when doing it at 60fps for e.g. the message tray. There's no need to do it. Specifically, it was considerably slow when we have 324 tracked actors due to a touchscreen / keyboard issue (#736999).
Attachment 286665 [details] pushed as 0ca2fee - layout: Don't update the input region while we have a modal