New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 709076 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Apr 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 671202



Sign in to add a comment

exo::CompositorFrameSinkHolder calls surface_->WillDraw() in DidReceiveCompositorFrameAck

Project Member Reported by staraz@chromium.org, Apr 6 2017

Issue description

Exo is the only usage of MojoCompositorFrameSinkClient::WillDrawSurface.

Removing usage of WillDrawSurface() effectively resolve  bug 671202 .

In addition, since WillDrawSurface() is being called every frame via 
mojo, it might as well be the cause of the 20% performance regression 
earlier this year ( bug 680066 ).
 
Project Member

Comment 1 by bugdroid1@chromium.org, Apr 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/09b06cad7bc4b38fa64142b16a0c6adcbcc875b4

commit 09b06cad7bc4b38fa64142b16a0c6adcbcc875b4
Author: staraz <staraz@chromium.org>
Date: Thu Apr 06 23:27:21 2017

[exo]CompositorFrameSinkHolder calls WillDraw in DidReceiveCompositorFrameAck

CommitSurfaceHierarchy() moves pending_frame_callbacks_ into
frame_callbacks_ before calling UpdateSurface() so that the ack doesn't
arrive too early.

exo::Surface is the only class which needs
MojoCompositorFrameSinkClient::WillDrawSurface(). With this change, we
can remove WillDrawSurface from the mojo interface and reduce IPC overhead.

BUG= 671202 ,  709076 

Review-Url: https://codereview.chromium.org/2786643002
Cr-Commit-Position: refs/heads/master@{#462678}

[modify] https://crrev.com/09b06cad7bc4b38fa64142b16a0c6adcbcc875b4/components/exo/compositor_frame_sink_holder.cc
[modify] https://crrev.com/09b06cad7bc4b38fa64142b16a0c6adcbcc875b4/components/exo/surface.cc
[modify] https://crrev.com/09b06cad7bc4b38fa64142b16a0c6adcbcc875b4/components/exo/surface.h
[modify] https://crrev.com/09b06cad7bc4b38fa64142b16a0c6adcbcc875b4/components/exo/surface_unittest.cc

Status: Fixed (was: Assigned)

Sign in to add a comment