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

Issue 27147: Linux: server side backing stores (Closed)

Created:
11 years, 10 months ago by agl
Modified:
9 years, 7 months ago
Reviewers:
Evan Martin
CC:
chromium-reviews_googlegroups.com
Visibility:
Public.

Description

Linux: server side backing stores This converts Linux to using server-side backing stores. Rather than keeping a backing store in heap memory in the browser, we create a pixmap in the X server. This means that expose messages don't require us to transport any images to the X server, we can just direct it to paint from the pixmap. Also, scrolling can be performed server side also. This greatly improves performance over remote X. Also, shared memory transport to the X server is implemented. Shared memory segments can be created in the renderer and mapped directly into the X server.

Patch Set 1 #

Total comments: 12

Patch Set 2 : ... #

Patch Set 3 : ... #

Unified diffs Side-by-side diffs Delta from patch set Stats (+596 lines, -88 lines) Patch
M chrome/SConscript View 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/browser/browser.scons View 1 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/renderer_host/backing_store.h View 5 chunks +44 lines, -7 lines 0 comments Download
M chrome/browser/renderer_host/backing_store.cc View 1 3 chunks +8 lines, -8 lines 0 comments Download
M chrome/browser/renderer_host/backing_store_posix.cc View 2 chunks +1 line, -2 lines 0 comments Download
M chrome/browser/renderer_host/backing_store_win.cc View 2 chunks +1 line, -3 lines 0 comments Download
A chrome/browser/renderer_host/backing_store_x.cc View 1 1 chunk +169 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/backing_store_xcb.cc View 1 chunk +0 lines, -40 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host.h View 1 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host.cc View 1 2 chunks +8 lines, -5 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_unittest.cc View 2 chunks +5 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view.h View 1 2 chunks +4 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view_gtk.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view_gtk.cc View 1 3 chunks +16 lines, -20 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view_mac.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view_mac.mm View 1 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view_win.h View 1 2 chunks +3 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view_win.cc View 1 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/test_render_view_host.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/renderer_host/test_render_view_host.cc View 1 2 chunks +7 lines, -0 lines 0 comments Download
M chrome/common/common.scons View 1 1 chunk +2 lines, -1 line 0 comments Download
M chrome/common/transport_dib.h View 3 chunks +14 lines, -0 lines 0 comments Download
M chrome/common/transport_dib_linux.cc View 5 chunks +19 lines, -1 line 0 comments Download
A chrome/common/x11_util.h View 1 chunk +52 lines, -0 lines 0 comments Download
A chrome/common/x11_util.cc View 1 2 1 chunk +181 lines, -0 lines 0 comments Download
A chrome/common/x11_util_internal.h View 1 chunk +31 lines, -0 lines 0 comments Download
M chrome/test/perf/perftests.scons View 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/test/unit/unit_tests.scons View 2 chunks +5 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
agl
11 years, 10 months ago (2009-02-25 19:21:02 UTC) #1
Evan Martin
I also think you should check in your xcb stuff (maybe with a comment at ...
11 years, 10 months ago (2009-02-25 19:42:28 UTC) #2
agl
11 years, 10 months ago (2009-02-25 19:56:15 UTC) #3
http://codereview.chromium.org/27147/diff/1/4
File chrome/browser/renderer_host/backing_store.cc (right):

http://codereview.chromium.org/27147/diff/1/4#newcode9
Line 9: class RenderWidgetHost;
On 2009/02/25 19:42:28, Evan Martin wrote:
> no longer needed if you include above

Done.

http://codereview.chromium.org/27147/diff/1/8
File chrome/browser/renderer_host/backing_store_x.cc (right):

http://codereview.chromium.org/27147/diff/1/8#newcode54
Line 54: if (!display_)
On 2009/02/25 19:42:28, Evan Martin wrote:
> this only occurs in unit tests, right?

Right. Comment added.

http://codereview.chromium.org/27147/diff/1/20
File chrome/browser/renderer_host/test_render_view_host.cc (right):

http://codereview.chromium.org/27147/diff/1/20#newcode6
Line 6: #include "chrome/browser/renderer_host/test_render_view_host.h"
On 2009/02/25 19:42:28, Evan Martin wrote:
> this header should be first (stick anohter newline after it to make it clear)

Done.

http://codereview.chromium.org/27147/diff/1/20#newcode66
Line 66: BackingStore* TestRenderWidgetHostView::AllocBackingStore(const
gfx::Size& size) {
On 2009/02/25 19:42:28, Evan Martin wrote:
> 80

Done.

http://codereview.chromium.org/27147/diff/1/25
File chrome/common/x11_util.cc (right):

http://codereview.chromium.org/27147/diff/1/25#newcode114
Line 114: return pictformat;
On 2009/02/25 19:42:28, Evan Martin wrote:
> you return here, but hten have more code later... ?

Good point. That was debugging code. Removed.

http://codereview.chromium.org/27147/diff/1/25#newcode150
Line 150: NOTREACHED();
On 2009/02/25 19:42:28, Evan Martin wrote:
> Can you stick a comment in here that we've already probed the server and had
an
> XShmAttach succeed in the past?

Done.

Powered by Google App Engine
This is Rietveld 408576698