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

Issue 611623 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment

Share same CommandBuffer instance on RenderThread

Project Member Reported by boliu@chromium.org, May 13 2016

Issue description

That probably means also sharing the same cc::surfaces instance as well, but should totally be doable, which should also save things like common shaders. Each CB costs some non-trivial amount of memory in the transfer buffers. Too bad this won't show up on any memory test since they only use a single webview :|

assign to me to not polute triage, but anyone can pick this up if you have time
 

Comment 1 by boliu@chromium.org, Jun 24 2016

Status: Assigned (was: Untriaged)
https://codereview.chromium.org/2090903002/
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 29 2016

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

commit 8b58fe54a8524d58d91e6e3fa78b1c3a07671e5f
Author: boliu <boliu@chromium.org>
Date: Wed Jun 29 17:48:13 2016

aw: Share cc::Display instance

When there are multiple webview instances, share the same
cc::Display instance, and other related objects.

Main goal is to save memory. Sharing the same GLRenderer
instance should allow sharing shaders. And sharing the same
command buffer instance saves on things like transfer
memory.

To avoid sync point churn when interleaving draws of
different HardwareRenderers, use CompositorFrameMetadata
referenced_surfaces always keep references to all child
surfaces from the root surface.

BUG= 611623 

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

[modify] https://crrev.com/8b58fe54a8524d58d91e6e3fa78b1c3a07671e5f/android_webview/BUILD.gn
[modify] https://crrev.com/8b58fe54a8524d58d91e6e3fa78b1c3a07671e5f/android_webview/browser/hardware_renderer.cc
[modify] https://crrev.com/8b58fe54a8524d58d91e6e3fa78b1c3a07671e5f/android_webview/browser/hardware_renderer.h
[add] https://crrev.com/8b58fe54a8524d58d91e6e3fa78b1c3a07671e5f/android_webview/browser/surfaces_instance.cc
[add] https://crrev.com/8b58fe54a8524d58d91e6e3fa78b1c3a07671e5f/android_webview/browser/surfaces_instance.h

Comment 3 by boliu@chromium.org, Jul 12 2016

Status: Fixed (was: Assigned)

Sign in to add a comment