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

Issue 334593002: Mac ÜC: Enable back-pressure for the browser compositor (Closed)

Created:
6 years, 6 months ago by ccameron
Modified:
6 years, 6 months ago
Reviewers:
danakj, piman
CC:
chromium-reviews, jam, sievers+watch_chromium.org, jbauman+watch_chromium.org, darin-cc_chromium.org, kalyank, piman+watch_chromium.org, cc-bugs_chromium.org, danakj+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Mac ÜC: Enable back-pressure for the browser compositor Delay acknowledging the cc::OutputSurface's swap completion until the surface is displayed. BUG=314190 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=276629

Patch Set 1 #

Patch Set 2 : Add comment, move methods #

Total comments: 2

Patch Set 3 : Incorporate review feedback #

Unified diffs Side-by-side diffs Delta from patch set Stats (+55 lines, -2 lines) Patch
M cc/output/output_surface.h View 1 2 2 chunks +1 line, -2 lines 0 comments Download
M content/browser/compositor/browser_compositor_output_surface.h View 2 chunks +5 lines, -0 lines 0 comments Download
M content/browser/compositor/browser_compositor_output_surface.cc View 1 2 chunks +14 lines, -0 lines 0 comments Download
M content/browser/compositor/browser_compositor_view_mac.h View 2 chunks +2 lines, -0 lines 0 comments Download
M content/browser/compositor/browser_compositor_view_mac.mm View 1 5 chunks +13 lines, -0 lines 0 comments Download
M content/browser/compositor/gpu_process_transport_factory.h View 1 chunk +3 lines, -0 lines 0 comments Download
M content/browser/compositor/gpu_process_transport_factory.cc View 1 chunk +9 lines, -0 lines 0 comments Download
M content/browser/compositor/image_transport_factory.h View 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/compositor/no_transport_image_transport_factory.h View 1 chunk +3 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_helper_mac.mm View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
ccameron
This turns out to be simpler than the lock scheme. The ui::Compositor implements backpressure, so ...
6 years, 6 months ago (2014-06-12 01:01:46 UTC) #1
piman
lgtm
6 years, 6 months ago (2014-06-12 01:09:51 UTC) #2
danakj
LGTM2 \o/ with 1 question https://codereview.chromium.org/334593002/diff/20001/cc/output/output_surface.cc File cc/output/output_surface.cc (right): https://codereview.chromium.org/334593002/diff/20001/cc/output/output_surface.cc#newcode345 cc/output/output_surface.cc:345: base::Bind(&OutputSurface::DoOnSwapBuffersComplete, Does virtual method ...
6 years, 6 months ago (2014-06-12 01:16:52 UTC) #3
ccameron
Thanks!! https://codereview.chromium.org/334593002/diff/20001/cc/output/output_surface.cc File cc/output/output_surface.cc (right): https://codereview.chromium.org/334593002/diff/20001/cc/output/output_surface.cc#newcode345 cc/output/output_surface.cc:345: base::Bind(&OutputSurface::DoOnSwapBuffersComplete, On 2014/06/12 01:16:51, danakj wrote: > Does ...
6 years, 6 months ago (2014-06-12 01:28:26 UTC) #4
ccameron
The CQ bit was checked by ccameron@chromium.org
6 years, 6 months ago (2014-06-12 07:02:22 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ccameron@chromium.org/334593002/40001
6 years, 6 months ago (2014-06-12 07:06:59 UTC) #6
commit-bot: I haz the power
Change committed as 276629
6 years, 6 months ago (2014-06-12 11:34:47 UTC) #7
piman
6 years, 6 months ago (2014-06-12 16:50:28 UTC) #8
On Wed, Jun 11, 2014 at 6:28 PM, <ccameron@chromium.org> wrote:

> Thanks!!
>
>
>
> https://codereview.chromium.org/334593002/diff/20001/cc/
> output/output_surface.cc
> File cc/output/output_surface.cc (right):
>
> https://codereview.chromium.org/334593002/diff/20001/cc/
> output/output_surface.cc#newcode345
> cc/output/output_surface.cc:345:
> base::Bind(&OutputSurface::DoOnSwapBuffersComplete,
> On 2014/06/12 01:16:51, danakj wrote:
>
>> Does virtual method in a posttask not do what you'd expect it to do,
>>
> or why do
>
>> you need this indirection through DoOnSwapBuffersComplete, and not
>>
> just bind
>
>> OnSwapBuffersComplete here directly?
>>
>
> I was under the impression that a virtual method sent to posttask
> doesn't work (well, it calls the precise method listed, not the derived
> class method).
>
> But... I just tested this empirically, and it totally works! Huh! I
> wonder how that's implemented...
>

Dereferencing a pointer to virtual function actually calls the derived
class method, not the base class.

Antoine


> https://codereview.chromium.org/334593002/
>

To unsubscribe from this group and stop receiving emails from it, send an email
to chromium-reviews+unsubscribe@chromium.org.

Powered by Google App Engine
This is Rietveld 408576698