New issue
Advanced search Search tips

Issue 671256 link

Starred by 6 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug



Sign in to add a comment

Ensure we flush glDeleteTextures to GPU proc from renderer in timely fashion

Project Member Reported by ericrk@chromium.org, Dec 5 2016

Issue description

There are a number of cases (duped to this bug), where we see large swings in memory metrics for GL memory. In all of these, the issue is caused by the renderer deleting GL textures, but these textures not being flushed to the GPU process, and never fully being cleaned up (until something else happens in the renderer).

This only affects foreground metrics, and the memory will be freed the next time something happens in the renderer in question. This is most important to fix as it will reduce noise in the system health benchmarks.
 
Cc: ericrk@chromium.org
 Issue 661498  has been merged into this issue.
Cc: danakj@chromium.org qyears...@chromium.org
 Issue 654461  has been merged into this issue.
Issue 661042 has been merged into this issue.
Project Member

Comment 4 by bugdroid1@chromium.org, Jan 11 2017

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

commit 8e825d9a15aa6b2d16637fd59d2c0072c60d60ea
Author: ericrk <ericrk@chromium.org>
Date: Wed Jan 11 17:12:55 2017

Flush after ResourcePool deletions complete

Currently, ResourcePool queues up idle resource deletion 1 second
after last use. This means that the resource may be deleted after
the main context becomes completely idle, and no further frames
are bein produced. In order to ensure that these deletions are
propogated to the GPU process, this change introduces a shallow
flush after the last freeable resource is deleted by the
ResourcePool.

BUG= 671256 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

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

[modify] https://crrev.com/8e825d9a15aa6b2d16637fd59d2c0072c60d60ea/cc/resources/resource_pool.cc
[modify] https://crrev.com/8e825d9a15aa6b2d16637fd59d2c0072c60d60ea/cc/resources/resource_provider.cc
[modify] https://crrev.com/8e825d9a15aa6b2d16637fd59d2c0072c60d60ea/cc/resources/resource_provider.h
[modify] https://crrev.com/8e825d9a15aa6b2d16637fd59d2c0072c60d60ea/cc/trees/layer_tree_host_impl.cc

Comment 5 by ericrk@chromium.org, Jan 11 2017

Should be fixed now... will monitor tests to make sure the swings in memory metrics are gone.

Comment 6 by ericrk@chromium.org, Oct 27 2017

Status: Fixed (was: Assigned)

Sign in to add a comment