New issue
Advanced search Search tips

Issue 794708 link

Starred by 2 users

Issue metadata

Status: Started
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

GpuChannelHost::CreateViewCommandBuffer blocks UI thread

Project Member Reported by dskiba@chromium.org, Dec 13 2017

Issue description

Tracing startup on 1GiB Android Go I routinely see GpuChannelHost::CreateViewCommandBuffer() blocking UI thread for ~100ms.

It looks like it waits until GpuChannelMsg_CreateCommandBuffer completes on InProcGpuThread.

Can we do what GpuChannelMsg_CreateCommandBuffer does ahead of time, so that GpuChannelHost::CreateViewCommandBuffer() doesn't wait that long?
 
createcommandbuffer.html.gz
1.5 MB Download

Comment 1 by dskiba@chromium.org, Dec 13 2017

Screenshot from 2017-12-13 13:55:46.png
29.7 KB View Download

Comment 2 by dskiba@chromium.org, Dec 13 2017

Description: Show this description

Comment 3 by dskiba@chromium.org, Dec 27 2017

Owner: ericrk@chromium.org
Status: Assigned (was: Untriaged)

Comment 4 by dskiba@chromium.org, Jan 12 2018

Ping. It would be nice to get rid of this in Q1.
Labels: -Pri-3 Pri-2
Status: Started (was: Assigned)
Taking a look at this.

Comment 6 by dskiba@chromium.org, May 10 2018

A bit of data. That call, GpuChannelHost::Send, seems to be waiting on something to happen on IO thread, so when IO thread is busy we block for longer. For example see attached case where it took 267ms, because IO thread was busy processing socket events. That was abnormal (normally the call takes ~80ms), but shows how the call acts like a sync point between UI and IO threads - something that we should avoid, especially during startup.
gpu-260ms.png
64.4 KB View Download
gpu-260ms.html.gz
1.2 MB Download

Sign in to add a comment