Issue metadata
Sign in to add a comment
|
Many CommandBufferProxyImpl::Flush calls in the render compositor thread |
||||||||||||||||||||||
Issue descriptionVersion: 52.0.2743.33 (still reproduces on canary 53.0.2767.0) OS: OS X There are many CommandBufferProxyImpl::Flush calls in the render compositor thread, that look like they are tied to Tile resource updates. With Software raster there are many Flush calls in TileTaskManagerImpl::CheckForCompletedTasks. See attached "software" trace at time offset 2,589.306 ms for example, 22 flushes for 33 completed raster tasks. With GPU raster the Flush calls show up in TileManager::ScheduleTasks. See offset 2,354.642 ms in the "gpu" trace.
,
Jun 14 2016
Potentially. IOSurface allocation and texture-binding is very expensive, and I would advocate that we make an effort to cache them. See UMAs at: https://uma.googleplex.com/p/chrome/histograms/?endDate=06-13-2016&dayCount=1&histograms=GPU.IOSurface.CreateTime%2CGPU.IOSurface.TexImageTime&fixupData=true&showMax=true&filters=channel%2Ceq%2C1%2Cisofficial%2Ceq%2CTrue&implicitFilters=isofficial
,
Jun 14 2016
The Flush is coming from GLES2Implementation::CreateImageCHROMIUMHelper() https://cs.chromium.org/chromium/src/gpu/command_buffer/client/gles2_implementation.cc?sq=package:chromium&rcl=1465917785&l=5972 Could we use an OrderingBarrier here?
,
Jun 14 2016
+reveman@
,
Jun 14 2016
Answering my question about OrderingBarriers, I think it wouldn't make a difference since immediately after we send GpuCommandBufferMsg_CreateImage IPC and we synchronize with EnsureWorkVisible(). Re #2: We should be re-using resources, but we're also quite aggressive about purging resources that go unused. Definitely needs to be looked at in more detail. I think we could get rid of the synchronous allocation and 3 or 4 thread hops for GPU raster.
,
Jun 14 2016
Moving this nonessential bug to the next milestone. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jul 5 2016
This issue has been moved once and is lower than Pri-1. Removing the milestone. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jul 5 2017
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue. Sorry for the inconvenience if the bug really should have been left as Available. If you change it back, also remove the "Hotlist-Recharge-Cold" label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jul 6 2017
vmiura: is this still an issue / worth doing?
,
Jul 9
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue. Sorry for the inconvenience if the bug really should have been left as Available. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jul 20
vmiura: Not sure whether this is still valid. Could you archive if this is no longer needed? Thanks.
,
Jul 20
This is probably not a bug any more because: 1. We create GMBs in GPU process instead of in the renderer for tiles via TexStorage2DImageCHROMIUM. 2. We implemented multi-flush which makes ordering barriers such as those inserted for tiles not flush when switching contexts. |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by vmi...@chromium.org
, Jun 14 2016