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

Issue 384453002: wip: Improving GestureNav screenshotting performance

Created:
6 years, 5 months ago by mfomitchev
Modified:
6 years, 5 months ago
CC:
chromium-reviews, creis+watch_chromium.org, nasko+codewatch_chromium.org, jam, sievers+watch_chromium.org, jbauman+watch_chromium.org, darin-cc_chromium.org, kalyank, piman+watch_chromium.org, danakj+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

wip: Improving GestureNav screenshotting performance Pixel readback in GL_RGBA format can be a very expensive operation on some hardware configurations. When taking a grayscale screenshot, convert to grayscale on the GPU and then do a readback using GL_BGRA_EXT format. This improves the readback performance because we read four times less data and we don't have to do any format conversions as we are reading. BUG=379983, 380779

Patch Set 1 #

Total comments: 44
Unified diffs Side-by-side diffs Delta from patch set Stats (+146 lines, -39 lines) Patch
M content/browser/compositor/delegated_frame_host.cc View 10 chunks +43 lines, -8 lines 23 comments Download
M content/browser/frame_host/navigation_entry_screenshot_manager.cc View 5 chunks +8 lines, -20 lines 4 comments Download
M content/common/gpu/client/gl_helper.cc View 8 chunks +95 lines, -11 lines 17 comments Download

Messages

Total messages: 15 (0 generated)
mfomitchev
This is wip - can please take a look and comment on the approach? If ...
6 years, 5 months ago (2014-07-09 18:02:11 UTC) #1
mfomitchev
The tests fail because I need to rebase.
6 years, 5 months ago (2014-07-09 20:44:17 UTC) #2
danakj
https://codereview.chromium.org/384453002/diff/1/content/browser/compositor/delegated_frame_host.cc File content/browser/compositor/delegated_frame_host.cc (right): https://codereview.chromium.org/384453002/diff/1/content/browser/compositor/delegated_frame_host.cc#newcode538 content/browser/compositor/delegated_frame_host.cc:538: if (config != SkBitmap::kARGB_8888_Config && config != SkBitmap::kA8_Config) { ...
6 years, 5 months ago (2014-07-10 19:13:03 UTC) #3
mfomitchev
I was thinking about declaring A8 as the "supported" color type in gl helper. I ...
6 years, 5 months ago (2014-07-11 16:59:41 UTC) #4
mfomitchev
I've split up the review into two. Responding to comments here, going to publish new ...
6 years, 5 months ago (2014-07-11 19:46:08 UTC) #5
mfomitchev
New reviews: https://codereview.chromium.org/388953002/ https://codereview.chromium.org/389683002/
6 years, 5 months ago (2014-07-11 19:56:28 UTC) #6
mfomitchev
https://codereview.chromium.org/384453002/diff/1/content/browser/compositor/delegated_frame_host.cc File content/browser/compositor/delegated_frame_host.cc (right): https://codereview.chromium.org/384453002/diff/1/content/browser/compositor/delegated_frame_host.cc#newcode538 content/browser/compositor/delegated_frame_host.cc:538: if (config != SkBitmap::kARGB_8888_Config && config != SkBitmap::kA8_Config) { ...
6 years, 5 months ago (2014-07-11 20:47:50 UTC) #7
danakj
https://codereview.chromium.org/384453002/diff/1/content/browser/compositor/delegated_frame_host.cc File content/browser/compositor/delegated_frame_host.cc (right): https://codereview.chromium.org/384453002/diff/1/content/browser/compositor/delegated_frame_host.cc#newcode538 content/browser/compositor/delegated_frame_host.cc:538: if (config != SkBitmap::kARGB_8888_Config && config != SkBitmap::kA8_Config) { ...
6 years, 5 months ago (2014-07-11 20:52:16 UTC) #8
mfomitchev
https://codereview.chromium.org/384453002/diff/1/content/browser/compositor/delegated_frame_host.cc File content/browser/compositor/delegated_frame_host.cc (right): https://codereview.chromium.org/384453002/diff/1/content/browser/compositor/delegated_frame_host.cc#newcode538 content/browser/compositor/delegated_frame_host.cc:538: if (config != SkBitmap::kARGB_8888_Config && config != SkBitmap::kA8_Config) { ...
6 years, 5 months ago (2014-07-11 21:06:51 UTC) #9
danakj
https://codereview.chromium.org/384453002/diff/1/content/browser/compositor/delegated_frame_host.cc File content/browser/compositor/delegated_frame_host.cc (right): https://codereview.chromium.org/384453002/diff/1/content/browser/compositor/delegated_frame_host.cc#newcode538 content/browser/compositor/delegated_frame_host.cc:538: if (config != SkBitmap::kARGB_8888_Config && config != SkBitmap::kA8_Config) { ...
6 years, 5 months ago (2014-07-11 21:15:04 UTC) #10
mfomitchev
https://codereview.chromium.org/384453002/diff/1/content/browser/compositor/delegated_frame_host.cc File content/browser/compositor/delegated_frame_host.cc (right): https://codereview.chromium.org/384453002/diff/1/content/browser/compositor/delegated_frame_host.cc#newcode538 content/browser/compositor/delegated_frame_host.cc:538: if (config != SkBitmap::kARGB_8888_Config && config != SkBitmap::kA8_Config) { ...
6 years, 5 months ago (2014-07-14 14:30:28 UTC) #11
danakj
https://codereview.chromium.org/384453002/diff/1/content/browser/compositor/delegated_frame_host.cc File content/browser/compositor/delegated_frame_host.cc (right): https://codereview.chromium.org/384453002/diff/1/content/browser/compositor/delegated_frame_host.cc#newcode538 content/browser/compositor/delegated_frame_host.cc:538: if (config != SkBitmap::kARGB_8888_Config && config != SkBitmap::kA8_Config) { ...
6 years, 5 months ago (2014-07-14 14:51:06 UTC) #12
mfomitchev
https://codereview.chromium.org/384453002/diff/1/content/browser/compositor/delegated_frame_host.cc File content/browser/compositor/delegated_frame_host.cc (right): https://codereview.chromium.org/384453002/diff/1/content/browser/compositor/delegated_frame_host.cc#newcode538 content/browser/compositor/delegated_frame_host.cc:538: if (config != SkBitmap::kARGB_8888_Config && config != SkBitmap::kA8_Config) { ...
6 years, 5 months ago (2014-07-14 15:00:40 UTC) #13
danakj
https://codereview.chromium.org/384453002/diff/1/content/browser/compositor/delegated_frame_host.cc File content/browser/compositor/delegated_frame_host.cc (right): https://codereview.chromium.org/384453002/diff/1/content/browser/compositor/delegated_frame_host.cc#newcode538 content/browser/compositor/delegated_frame_host.cc:538: if (config != SkBitmap::kARGB_8888_Config && config != SkBitmap::kA8_Config) { ...
6 years, 5 months ago (2014-07-14 15:01:52 UTC) #14
mfomitchev
6 years, 5 months ago (2014-07-14 15:06:33 UTC) #15
https://codereview.chromium.org/384453002/diff/1/content/browser/compositor/d...
File content/browser/compositor/delegated_frame_host.cc (right):

https://codereview.chromium.org/384453002/diff/1/content/browser/compositor/d...
content/browser/compositor/delegated_frame_host.cc:538: if (config !=
SkBitmap::kARGB_8888_Config && config != SkBitmap::kA8_Config) {
Right, and as you said software compositing may be used as a fallback when gpu
is blacklisted, etc...

I was just looking at the discussion we had about creating a new issue for
Layer::RequestCopyOfOutput() (
https://code.google.com/p/chromium/issues/detail?id=379983#c26 ). This fix
covers the GPU path, so the only thing left is the software path.

Powered by Google App Engine
This is Rietveld 408576698