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

Issue 9582003: Support browser side thumbnailing for GPU composited pages on Windows. (Closed)

Created:
8 years, 9 months ago by mazda
Modified:
8 years, 9 months ago
CC:
chromium-reviews, Avi (use Gerrit), creis+watch_chromium.org, brettw-cc_chromium.org, joi+watch-content_chromium.org, darin-cc_chromium.org, ajwong+watch_chromium.org, jamesr, jonathan.backer, piman, satorux1, DaveMoore, Emmanuel Saint-loubert-BiƩ, Ben Goodger (Google)
Visibility:
Public.

Description

Support browser side thumbnailing for GPU-composited pages on Windows. Benchmark results of copying a 1280 x 800 pixels using CopyFromCompositingSurface or CopyFromBackingSurface are as follows. FromCompositingSurface: 40.00 ms FromBackingStore: 2.12 ms I'm prepareing the following CLs and these will come soon, - Support Mac and Chrome OS (Aura) - Reduce the number of pixels to copy from the compositing surface for performance improvement BUG=96351 TEST=Manual Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=126870

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : '' #

Total comments: 2

Patch Set 6 : Delegate CopyFromCompositingSurface to RWHView #

Patch Set 7 : Copy bits from GpuSurfaceTracker #

Patch Set 8 : '' #

Total comments: 30

Patch Set 9 : Address comments #

Patch Set 10 : Fix test compilation #

Total comments: 8

Patch Set 11 : Address comments #

Patch Set 12 : Fix try bot errors #

Total comments: 6

Patch Set 13 : Address comments #

Total comments: 4

Patch Set 14 : Merge CopyFromCompoitingSurface into CopyFromBackingStore #

Total comments: 2

Patch Set 15 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+281 lines, -10 lines) Patch
M chrome/browser/aeropeek_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/extensions/extension_tabs_module.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/tab_contents/thumbnail_generator.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/renderer_host/render_widget_host_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/renderer_host/render_widget_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +47 lines, -3 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_aura.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +3 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_aura.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +8 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_gtk.h View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_gtk.cc View 1 2 3 4 5 6 7 8 1 chunk +8 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_mac.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +3 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_mac.mm View 1 2 3 4 5 6 7 8 1 chunk +8 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_win.h View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_win.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +16 lines, -0 lines 0 comments Download
M content/browser/renderer_host/test_render_view_host.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +3 lines, -0 lines 0 comments Download
M content/browser/renderer_host/test_render_view_host.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +6 lines, -0 lines 0 comments Download
M content/port/browser/render_widget_host_view_port.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +6 lines, -0 lines 0 comments Download
M content/public/browser/render_widget_host.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +8 lines, -2 lines 0 comments Download
M ui/gfx/surface/accelerated_surface_win.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +7 lines, -0 lines 0 comments Download
M ui/gfx/surface/accelerated_surface_win.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +146 lines, -1 line 0 comments Download

Messages

Total messages: 33 (0 generated)
mazda
Hi, Could you review this CL? I'll update the design doc to reflect this change ...
8 years, 9 months ago (2012-03-02 13:16:13 UTC) #1
brettw
Normally the platform-specific stuff would go on the RWHView. I think you should be able ...
8 years, 9 months ago (2012-03-02 17:15:55 UTC) #2
vangelis
I believe that in the case of accelerated compositing we'll want to be picking up ...
8 years, 9 months ago (2012-03-05 06:20:54 UTC) #3
mazda
Thank you for the comment. apatrick, Could you suggest the best way to retrieve bits ...
8 years, 9 months ago (2012-03-05 15:54:14 UTC) #4
mazda
On 2012/03/02 17:15:55, brettw wrote: > Normally the platform-specific stuff would go on the RWHView. ...
8 years, 9 months ago (2012-03-06 15:27:59 UTC) #5
mazda
I change the CL again to copy the surface data via GpuSurfaceTracker. Alastair, Could you ...
8 years, 9 months ago (2012-03-07 18:01:08 UTC) #6
apatrick_chromium
+piman for GpuSurfaceTracker changes. I think this will mostly work, except for a potential thread ...
8 years, 9 months ago (2012-03-07 20:39:37 UTC) #7
piman
Overall, it makes me sad that anything that needs to access the GLSurfaceHandle::accelerated_surface ends up ...
8 years, 9 months ago (2012-03-07 21:22:27 UTC) #8
piman
On Wed, Mar 7, 2012 at 1:22 PM, <piman@chromium.org> wrote: > Overall, it makes me ...
8 years, 9 months ago (2012-03-07 21:29:59 UTC) #9
apatrick_chromium
For the purposes of this patch, since this code runs on the browser process UI ...
8 years, 9 months ago (2012-03-07 21:37:50 UTC) #10
mazda
Thank you for the comments. Could you take another look at the change? I reverted ...
8 years, 9 months ago (2012-03-08 13:14:28 UTC) #11
vangelis
Looks good overall! Just a couple of comments. http://codereview.chromium.org/9582003/diff/20002/content/browser/renderer_host/render_widget_host_view_win.cc File content/browser/renderer_host/render_widget_host_view_win.cc (right): http://codereview.chromium.org/9582003/diff/20002/content/browser/renderer_host/render_widget_host_view_win.cc#newcode930 content/browser/renderer_host/render_widget_host_view_win.cc:930: output->writePixels(bitmap, ...
8 years, 9 months ago (2012-03-08 17:34:34 UTC) #12
apatrick_chromium
A few more thoughts... http://codereview.chromium.org/9582003/diff/12002/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): http://codereview.chromium.org/9582003/diff/12002/content/browser/renderer_host/render_widget_host_impl.cc#newcode511 content/browser/renderer_host/render_widget_host_impl.cc:511: &pixels)) On 2012/03/08 13:14:28, mazda ...
8 years, 9 months ago (2012-03-08 20:15:47 UTC) #13
mazda
http://codereview.chromium.org/9582003/diff/12002/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): http://codereview.chromium.org/9582003/diff/12002/content/browser/renderer_host/render_widget_host_impl.cc#newcode511 content/browser/renderer_host/render_widget_host_impl.cc:511: &pixels)) On 2012/03/08 20:15:47, apatrick_chromium wrote: > On 2012/03/08 ...
8 years, 9 months ago (2012-03-10 07:51:36 UTC) #14
apatrick_chromium
http://codereview.chromium.org/9582003/diff/33001/ui/gfx/surface/accelerated_surface_win.cc File ui/gfx/surface/accelerated_surface_win.cc (right): http://codereview.chromium.org/9582003/diff/33001/ui/gfx/surface/accelerated_surface_win.cc#newcode233 ui/gfx/surface/accelerated_surface_win.cc:233: const gfx::Size quater_size = GetHalfSizeNoLessThan(half_size, size); quater -> quarter ...
8 years, 9 months ago (2012-03-12 20:25:06 UTC) #15
mazda
http://codereview.chromium.org/9582003/diff/33001/ui/gfx/surface/accelerated_surface_win.cc File ui/gfx/surface/accelerated_surface_win.cc (right): http://codereview.chromium.org/9582003/diff/33001/ui/gfx/surface/accelerated_surface_win.cc#newcode233 ui/gfx/surface/accelerated_surface_win.cc:233: const gfx::Size quater_size = GetHalfSizeNoLessThan(half_size, size); On 2012/03/12 20:25:06, ...
8 years, 9 months ago (2012-03-12 23:20:42 UTC) #16
apatrick_chromium
lgtm
8 years, 9 months ago (2012-03-12 23:22:23 UTC) #17
mazda
Vangelis: Does my change of the parts you commented on look good? Owners of the ...
8 years, 9 months ago (2012-03-13 17:26:41 UTC) #18
Randy Smith (Not in Mondays)
I'm the wrong person for generic content/browser/public reviews--I'm just in there for expediting downloads refactors. ...
8 years, 9 months ago (2012-03-13 19:02:11 UTC) #19
jam
http://codereview.chromium.org/9582003/diff/42003/content/public/browser/render_widget_host_view.h File content/public/browser/render_widget_host_view.h (right): http://codereview.chromium.org/9582003/diff/42003/content/public/browser/render_widget_host_view.h#newcode144 content/public/browser/render_widget_host_view.h:144: virtual bool CopyFromCompositingSurface(const gfx::Size& size, this method doesn't need ...
8 years, 9 months ago (2012-03-13 19:40:10 UTC) #20
vangelis
Sorry for the late response. It looks good, thanks! http://codereview.chromium.org/9582003/diff/42003/chrome/browser/tab_contents/thumbnail_generator.cc File chrome/browser/tab_contents/thumbnail_generator.cc (right): http://codereview.chromium.org/9582003/diff/42003/chrome/browser/tab_contents/thumbnail_generator.cc#newcode84 chrome/browser/tab_contents/thumbnail_generator.cc:84: ...
8 years, 9 months ago (2012-03-13 19:40:49 UTC) #21
jam
another note: do we really want the embedder code to all have if (backing_store) copy ...
8 years, 9 months ago (2012-03-13 19:41:36 UTC) #22
mazda
Thank you for the comments. Please take another look. John > why not just have ...
8 years, 9 months ago (2012-03-14 12:07:45 UTC) #23
mazda
+kbr Could you do owner's review of ui/gfx/surface because it looks backer@ is out for ...
8 years, 9 months ago (2012-03-14 14:56:56 UTC) #24
jam
http://codereview.chromium.org/9582003/diff/47001/content/public/browser/render_widget_host.h File content/public/browser/render_widget_host.h (right): http://codereview.chromium.org/9582003/diff/47001/content/public/browser/render_widget_host.h#newcode186 content/public/browser/render_widget_host.h:186: virtual bool CopyFromBackingStore(const gfx::Size& dest_size, you're not setting this ...
8 years, 9 months ago (2012-03-14 17:56:42 UTC) #25
mazda
http://codereview.chromium.org/9582003/diff/47001/content/public/browser/render_widget_host.h File content/public/browser/render_widget_host.h (right): http://codereview.chromium.org/9582003/diff/47001/content/public/browser/render_widget_host.h#newcode186 content/public/browser/render_widget_host.h:186: virtual bool CopyFromBackingStore(const gfx::Size& dest_size, On 2012/03/14 17:56:42, John ...
8 years, 9 months ago (2012-03-14 18:19:04 UTC) #26
Ken Russell (switch to Gerrit)
The changes in ui/gfx/surface LGTM but apatrick should make the final call. I'm adding him ...
8 years, 9 months ago (2012-03-14 19:00:38 UTC) #27
jam
On 2012/03/14 18:19:04, mazda wrote: > http://codereview.chromium.org/9582003/diff/47001/content/public/browser/render_widget_host.h > File content/public/browser/render_widget_host.h (right): > > http://codereview.chromium.org/9582003/diff/47001/content/public/browser/render_widget_host.h#newcode186 > ...
8 years, 9 months ago (2012-03-14 19:03:07 UTC) #28
apatrick_chromium
I reviewed this already and it still looks okay. LGTM.
8 years, 9 months ago (2012-03-14 20:00:45 UTC) #29
mazda
Thank you all for reviewing the CL. > when you start setting that, please send ...
8 years, 9 months ago (2012-03-15 04:10:48 UTC) #30
vangelis
http://codereview.chromium.org/9582003/diff/42003/chrome/browser/tab_contents/thumbnail_generator.cc#newcode84 > chrome/browser/tab_contents/thumbnail_generator.cc:84: // whole view size. > On 2012/03/13 19:40:49, vangelis wrote: > > ...
8 years, 9 months ago (2012-03-15 05:28:55 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mazda@chromium.org/9582003/49008
8 years, 9 months ago (2012-03-15 06:45:35 UTC) #32
commit-bot: I haz the power
8 years, 9 months ago (2012-03-15 09:29:39 UTC) #33
Change committed as 126870

Powered by Google App Engine
This is Rietveld 408576698