Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(144)

Issue 155321: Improve performance of dragged tab renderering.... (Closed)

Created:
11 years, 5 months ago by Evan Stade
Modified:
9 years, 6 months ago
CC:
chromium-reviews_googlegroups.com, darin (slow to review), brettw, Ben Goodger (Google)
Visibility:
Public.

Description

Improve performance of dragged tab renderering. Do as much as possible server side. I suspect the main factors that made our previous implementation slow were blitting from client to server, several unnecessary copies of the entire image, and doing an in-memory rgba->bgra swap. Now, even in debug mode with a 30" chrome window, the performance is very fast. BUG=16257, 15869 TEST=drag a tab out of the tabstrip, with and without compositing Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=20333

Patch Set 1 #

Patch Set 2 : style fix #

Patch Set 3 : synced #

Total comments: 3

Patch Set 4 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+117 lines, -91 lines) Patch
M chrome/browser/gtk/tabs/dragged_tab_gtk.h View 1 2 1 chunk +4 lines, -11 lines 0 comments Download
M chrome/browser/gtk/tabs/dragged_tab_gtk.cc View 1 2 3 5 chunks +78 lines, -80 lines 0 comments Download
M chrome/browser/renderer_host/backing_store.h View 1 2 2 chunks +6 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/backing_store_x.cc View 1 2 2 chunks +29 lines, -0 lines 0 comments Download

Messages

Total messages: 12 (0 generated)
Evan Stade
11 years, 5 months ago (2009-07-09 21:37:30 UTC) #1
agl
I don't know that much about Cairo's interactions with Xlib but, if it works, LGTM.
11 years, 5 months ago (2009-07-09 21:53:32 UTC) #2
Evan Stade
11 years, 5 months ago (2009-07-09 21:53:57 UTC) #3
Evan Martin
It's not clear to me cairo is doing anything magical here -- the chrome skbitmap ...
11 years, 5 months ago (2009-07-09 22:15:13 UTC) #4
James Hawkins
http://codereview.chromium.org/155321/diff/11/1014 File chrome/browser/gtk/tabs/dragged_tab_gtk.cc (right): http://codereview.chromium.org/155321/diff/11/1014#newcode275 Line 275: gfx::Rect(1, tab_height, widget->allocation.width - 2, Please use the ...
11 years, 5 months ago (2009-07-09 22:16:12 UTC) #5
Evan Stade
updated to use kDragFrameBorderSize and generalized logic to work for any border size. Changed kDragFrameBorderSize ...
11 years, 5 months ago (2009-07-09 22:54:29 UTC) #6
James Hawkins
On 2009/07/09 22:54:29, Evan Stade wrote: > updated to use kDragFrameBorderSize and generalized logic to ...
11 years, 5 months ago (2009-07-09 22:57:57 UTC) #7
Evan Stade
thx for review
11 years, 5 months ago (2009-07-09 22:59:15 UTC) #8
brettw
On Thu, Jul 9, 2009 at 3:15 PM, <evan@chromium.org> wrote: > It's not clear to ...
11 years, 5 months ago (2009-07-09 23:00:04 UTC) #9
Evan Stade
On 2009/07/09 22:15:13, Evan Martin wrote: > It's not clear to me cairo is doing ...
11 years, 5 months ago (2009-07-09 23:28:04 UTC) #10
Evan Martin
On 2009/07/09 23:28:04, Evan Stade wrote: > On 2009/07/09 22:15:13, Evan Martin wrote: > > ...
11 years, 5 months ago (2009-07-09 23:35:46 UTC) #11
Evan Stade
11 years, 5 months ago (2009-07-09 23:44:53 UTC) #12
OK, did testing where I just removed the scale on the old code. This is all
anecdotal, but the results are clear. The old code with the scale removed in
Release is noticeably slower than the new code with the scale in place in Debug.

Powered by Google App Engine
This is Rietveld 408576698