DescriptionGTK: Step 1 of tab strip refresh.
willchan pointed out that while idling, the chrome browser process can take up
to 25% CPU time on one of our Z600s, which is ridiculous. There's a lot of
causes here, but the first one I'm focusing on is how slow our tabstrip
rendering code is. Previously, each frame we stuffed bitmaps across the X11
connection instead of using cairo primitives for serverside accelerated
drawing.
This patch changes the code in tab_renderer_gtk.h from skia rendering (with
manually composited bitmaps) to cairo rendering (which should be a set of
commands to the x server that should composite bitmaps already living
serverside).
From here we can:
- Look for other ways to minimize the amount of work in an expose event.
- Only redraw the dirty rectangles or otherwise minimize the expose area.
- Finally fix that theme rendering bug where dragging a tab along the tabstrip
doesn't update to reflect the new background.
BUG=100803
TEST=Manual testing looking for graphical regressions.
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107514
Patch Set 1 #Patch Set 2 : Rebase to ToT #Patch Set 3 : More cleanup #
Total comments: 14
Patch Set 4 : Redo as functions. #
Total comments: 3
Patch Set 5 : Rebase to ToT #Patch Set 6 : Remove parens #Patch Set 7 : Rebase to ToT again. #
Total comments: 1
Messages
Total messages: 10 (0 generated)
|