Issue 1176549 in chromium: Chrome app missing surface updates

127 views
Skip to first unread message

manwarullah via monorail

unread,
Feb 10, 2021, 12:49:31 AM2/10/21
to inpu...@chromium.org
Status: Untriaged
Owner: ----
CC: asa...@qualcomm.corp-partner.google.com, inpu...@chromium.org, manwa...@chromium.org
Labels: Buganizer-Reports
Components: Blink>Scroll
OS: Android
Pri: 3
Type: Bug

New issue 1176549 by manwa...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549

Please refer to issue id: b/178191953 for more details

[EXTERNALLY VISIBLE TO QUALCOMM]

This might be more related to Chrome, we are seeing instances in the Chrome app where there are random missed frames while scrolling on a website, such as pinterest.com. A jank is seen on display while scrolling. This is seen on premium mobile platform on R.

I have attached a trace and a screenshot. Whenever there gap, its usually one frame, and there is a missing event from the surface "TX - com.android.chrome/ChromeChildSurface#0". So it seems that no buffer is queued at these times.

Requesting Someone from "Blink>Scroll" team to please have a look into the issue.
Note: Please refer to issue id: b/178191953 for more details.

Thanks...!!

--
You received this message because:
1. You were specifically CC'd on the issue

You may adjust your notification preferences at:
https://bugs.chromium.org/hosting/settings

Reply to this email to add a comment or make updates.

xidachen via monorail

unread,
Feb 10, 2021, 8:41:42 AM2/10/21
to inpu...@chromium.org
Updates:
Labels: Needs-Feedback

Comment #1 on issue 1176549 by xida...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c1

Hi, I don't see any traces here, or in the b/178191953, could you please attach a trace?

skyostil via monorail

unread,
Feb 10, 2021, 1:30:46 PM2/10/21
to inpu...@chromium.org
Updates:
Cc: nus...@chromium.org

Comment #2 on issue 1176549 by skyo...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c2

There's a trace attached to the internal bug.

Looks like there are some page load (and GMS) activity happening around the jank at t=2550ms. I'm guessing this lead to poor scheduling on the Chrome UI thread, causing the jank. We're looking into some mitigation strategies for these, but there's no immediate fix available.

In 120-PinterestScroll-SWindow.html there's no obvious culprit for the missing frames, but we're also not recording any trace events from Chrome (tip: add -a com.google.chrome to your systrace command line).

Btw, does the name uclamp in the trace mean there are some kernel-level scheduling changes involved here?

skyostil via monorail

unread,
Feb 10, 2021, 1:37:02 PM2/10/21
to inpu...@chromium.org
Updates:
Cc: skyo...@chromium.org

Comment #3 on issue 1176549 by skyo...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c3

(No comment was entered for this change.)

skyostil via monorail

unread,
Feb 10, 2021, 1:37:23 PM2/10/21
to inpu...@chromium.org
Updates:
Cc: delp...@chromium.org

Comment #4 on issue 1176549 by skyo...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c4

giyer via monorail

unread,
Feb 11, 2021, 4:51:46 PM2/11/21
to inpu...@chromium.org

Comment #5 on issue 1176549 by gi...@qualcomm.corp-partner.google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c5

Hello team,
I noticed that in most of the instances, whenever there is a jank, there was buffer enqueued at that point. Also regarding the buffer queue behavior, why does it look so tight (buffer size 1 is only a quick spike and buffer size is 0 rest of the time). Is the buffer queuing mechanism very different from other apps like say Gmail, Facebook, Twitter etc. where we see UI & Render thread, where render thread would enqueue buffer and SF would pick it up when it is SF's turn.

Is RenderAhead not applied in Chrome browser's scroll use case thereby giving more time for Chrome app to render a frame?

uclamp10 in the name of Systrace file in comment #1 of b/178191953 was to indicate that janks were seen even when /dev/cpuctl/top-app/cpu.uclamp.min was set to 10. This was to somewhat replicate Google Pixel setup where this sysfs node or the old one /dev/stune/top-app/schedtune.boost would be set to 10. The new logs shared by Alex in #4 do not have cpu.uclamp.min setting.


>>In 120-PinterestScroll-SWindow.html there's no obvious culprit for the missing frames, but we're also not recording any trace events from Chrome (tip: add -a com.google.chrome to your systrace command line).
What kind of trace events from Chrome get recorded after adding "-a com.google.chrome" to systrace command line?
I have attached 2 systraces via attached compressed file. Can you please check if the trace events are visible in any of them?
chrome120-chromeTraces.html was generated with com.google.chrome
chrome120-chromeTraces-2.html was generated with com.android.chrome

Thanks & regards,
Gopal

Attachments:
chrome120-chromeTraces.7z 8.4 MB

skyostil via monorail

unread,
Feb 12, 2021, 1:45:42 PM2/12/21
to inpu...@chromium.org
Updates:
Cc: esec...@chromium.org
Components: Internals>GPU

Comment #6 on issue 1176549 by skyo...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c6

+GPU folks to comment on render scheduling.

Thanks for the traces. Unfortunately I can't see any extra Chrome events in them. Are you running Chrome Stable on a userdebug device?

(+Eric re: uclamp)

manwarullah via monorail

unread,
Feb 14, 2021, 11:09:58 PM2/14/21
to inpu...@chromium.org

Comment #7 on issue 1176549 by manwa...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c7

@Reporter:Could you please look into C#6 and update.
Thanks!!

giyer via monorail

unread,
Feb 16, 2021, 7:15:42 PM2/16/21
to inpu...@chromium.org

Comment #8 on issue 1176549 by gi...@qualcomm.corp-partner.google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c8

Hello team,
Thanks for the response.


>>Are you running Chrome Stable on a userdebug device?
Not sure if I understood completely. This was run on Qualcomm's latest premium-tier device on Android R at 120Hz on a rooted device using a perf/production build. And Chrome was updated to latest version from PlayStore.
Not sure if that answered your question. Please let me know.

Thanks & regards,
Gopal

skyostil via monorail

unread,
Feb 17, 2021, 8:29:52 AM2/17/21
to inpu...@chromium.org

Comment #9 on issue 1176549 by skyo...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c9

Thanks for the details. Chrome only enables atrace logging on userdebug builds[1]. Do you have such a build available?

Alternatively we could record a Perfetto trace:

1. Enable command line overriding by typing this to the address bar: chrome://flags/#enable-command-line-on-non-rooted-devices (set to Enabled)

2. Turn on system tracing with: adb shell 'echo "_ --enable-features=EnablePerfettoSystemTracing" > /data/local/tmp/chrome-command-line'

3. Start Chrome.

4. Run the following command to record a trace while reproducing the problem:

==== 8< ==== 8< ==== 8< ====
adb shell perfetto \
-c - --txt \
-o /data/misc/perfetto-traces/trace \
<<EOF

buffers: {
size_kb: 63488
fill_policy: DISCARD
}
buffers: {
size_kb: 2048
fill_policy: DISCARD
}
data_sources: {
config {
name: "android.log"
android_log_config {
}
}
}
data_sources: {
config {
name: "org.chromium.trace_event"
chrome_config {
trace_config: "{\"record_mode\":\"record-until-full\",\"included_categories\":[\"log\",\"toplevel\",\"sequence_manager\",\"disabled-by-default-toplevel.flow\",\"disabled-by-default-ipc.flow\",\"mojom\",\"v8\",\"blink\",\"cc\",\"gpu\",\"viz\",\"ui\",\"views\",\"benchmark\",\"evdev\",\"input\",\"loading\",\"net\",\"netlog\",\"navigation\",\"browser\"],\"memory_dump_config\":{}}"
}
}
}
data_sources: {
config {
name: "org.chromium.trace_metadata"
chrome_config {
trace_config: "{\"record_mode\":\"record-until-full\",\"included_categories\":[\"log\",\"toplevel\",\"sequence_manager\",\"disabled-by-default-toplevel.flow\",\"disabled-by-default-ipc.flow\",\"mojom\",\"v8\",\"blink\",\"cc\",\"gpu\",\"viz\",\"ui\",\"views\",\"benchmark\",\"evdev\",\"input\",\"loading\",\"net\",\"netlog\",\"navigation\",\"browser\"],\"memory_dump_config\":{}}"
}
}
}
data_sources: {
config {
name: "linux.ftrace"
ftrace_config {
ftrace_events: "ftrace/print"
atrace_categories: "gfx"
atrace_categories: "input"
atrace_categories: "view"
}
}
}
duration_ms: 10000

EOF
==== 8< ==== 8< ==== 8< ====

5. Pull the trace file and attach here:

adb pull /data/misc/perfetto-traces/trace

[1] https://source.android.com/setup/build/building

giyer via monorail

unread,
Feb 17, 2021, 6:51:39 PM2/17/21
to inpu...@chromium.org

Comment #10 on issue 1176549 by gi...@qualcomm.corp-partner.google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c10

Thanks for your response. Since we are evaluating jank count from performance pt. of view, we are only working with perf builds.
I followed steps 1-4 and generated Perfetto Trace. Please find it attached.
Please let me know if this has all the relevant information for debugging.


Thanks & regards,
Gopal

Attachments:
chrome-120Hz-perfetto-trace.zip 8.0 MB

skyostil via monorail

unread,
Feb 18, 2021, 7:37:29 AM2/18/21
to inpu...@chromium.org

Comment #11 on issue 1176549 by skyo...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c11

Thanks! Looks like the data is all there now, but the trace is a bit short and doesn't include the full scroll interaction. Could you try changing "size_kb: 63488" to "size_kb: 262144" and "duration_ms: 10000" to "duration_ms: 30000" in the trace config above and retrying please?

giyer via monorail

unread,
Feb 18, 2021, 2:15:24 PM2/18/21
to inpu...@chromium.org

Comment #12 on issue 1176549 by gi...@qualcomm.corp-partner.google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c12

Thanks. I probably did couple of scrolls during the 10s duration. Now with your revised commands, I did more scrolls in the 30s duration. Please find the log attached.

Thanks & regards,
Gopal

Attachments:
chrome-120Hz-perfetto-trace-30s.zip 14.8 MB

skyostil via monorail

unread,
Feb 19, 2021, 6:30:24 AM2/19/21
to inpu...@chromium.org

Comment #13 on issue 1176549 by skyo...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c13

Thanks, those traces are very useful! Looks like the missing frames are caused by occasional tile raster work that makes us miss rendering deadlines on the GPU thread. I think we'd either need to move that work to a different thread (and rendering context) or throttle it during 120 Hz scrolls.

(+sadrul@ for more informed opinions)

eseckler via monorail

unread,
Feb 19, 2021, 6:37:55 AM2/19/21
to inpu...@chromium.org
Updates:
Cc: sun...@chromium.org

Comment #14 on issue 1176549 by esec...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c14

FWIW I don't think this problem is limited to 120Hz -- Raster work on the GPU thread is a common cause of scroll jank on Android in general. (So any throttling, if feasible, probably shouldn't be specific to that)

+sunnyps@ as well for status of off-thread raster / DrDC.

eseckler via monorail

unread,
Feb 19, 2021, 6:38:08 AM2/19/21
to inpu...@chromium.org
Updates:
Cc: sad...@chromium.org

Comment #15 on issue 1176549 by esec...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c15


(No comment was entered for this change.)

sadrul via monorail

unread,
Feb 19, 2021, 11:21:50 AM2/19/21
to inpu...@chromium.org
Updates:
Cc: peng...@chromium.org vas...@chromium.org

Comment #16 on issue 1176549 by sad...@google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c16

From the trace in #12, most of the dropped-frames indeed seem to happen because of raster delay.

I notice another reason for a dropped frame where the 'latch' step during swap seems to get delayed by a frame. See attached screenshot(latch-delay.png): the 'BufferReadyToLatch' step in frame B is 8ms longer than the same step in A frames.

/cc+ penghuang@, vasilyt@

sadrul via monorail

unread,
Feb 19, 2021, 11:30:16 AM2/19/21
to inpu...@chromium.org

Comment #17 on issue 1176549 by sad...@google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c17


(No comment was entered for this change.)

Attachments:
latch-delay.png 67.4 KB

giyer via monorail

unread,
Feb 23, 2021, 5:48:44 PM2/23/21
to inpu...@chromium.org

Comment #18 on issue 1176549 by gi...@qualcomm.corp-partner.google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c18

Hello team,
Thanks for the responses. So, it appears that the janks are caused by
1. raster work on the GPU thread which could potentially be addressed by moving it to a different thread (and rendering context) or throttling it.
2. the 'latch' step during swap seems to get delayed by a frame. Can you please explain this a little more? Is this related to the work done by graphics pipeline?

What could be the next steps for resolving these janks on Android-S?

Regards,
Gopal

giyer via monorail

unread,
Mar 2, 2021, 3:38:24 PM3/2/21
to inpu...@chromium.org

Comment #19 on issue 1176549 by gi...@qualcomm.corp-partner.google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c19

Hello team,
Just wanted to follow up on this issue. Since current premium targets involve higher refresh rates like 120+ fps and also mixed mode composition, split window use cases with Chrome running on one window and some other possibly heavier app running on other window, addressing these janks will go a long way in improving the overall Ux performance. Currently, even for single window Chrome scroll use case, we are seeing higher jank count even on customer devices running at 120fps.

manwarullah via monorail

unread,
Mar 12, 2021, 5:31:58 AM3/12/21
to inpu...@chromium.org

Comment #20 on issue 1176549 by manwa...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c20

Could someone from the team or sadrul@ to look into this issue.
Thanks

giyer via monorail

unread,
Apr 1, 2021, 1:51:46 PM4/1/21
to inpu...@chromium.org

Comment #21 on issue 1176549 by gi...@qualcomm.corp-partner.google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c21

Hello team,
Here are 2 more variants:
1. Every now & then, we notice Renderer Process's threads (CrRendererMain & multiple ThreadPoolForeg threads) start hogging all the gold cores & prime core. Even though scheduler scales the frequency, the jank is not avoided. 2-Renderer_Process.png and 2-task-crowding-gold-prime.png are the screenshots.
2. Longer duration of CompositorTileW and CrGpuMain processes resulting in delayed CrRendererMain, so buffer is not enqueued during that VSync. This can be seen in 2-long-CompositorTileW-CrGpuMain-delayingCrRendererMain.

These screenshots in 1, 2 can be seen in the Systrace shared in 2.zip. Can we also address these kind of janks during Chrome scrolls?


Thanks & regards,
Gopal

Attachments:
2.zip 6.0 MB
2-Renderer_Process.PNG 33.4 KB
2-task-crowding-gold-prime.PNG 17.3 KB
2-long-CompositorTileW-CrGpuMain-delayingCrRendererMain.PNG 10.7 KB

manwarullah via monorail

unread,
Apr 9, 2021, 3:12:30 AM4/9/21
to inpu...@chromium.org
Updates:
Owner: peng...@chromium.org
Status: Assigned

Comment #22 on issue 1176549 by manwa...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c22

Thanks for the updates!!
As per comment#16,Assigning to penghuang@ to kindly look into it and provide more inputs.
If its not related kindly help in triaging to appropriate owner who can help on this issue.

Thanks!!

girard via monorail

unread,
Apr 9, 2021, 10:51:28 AM4/9/21
to inpu...@chromium.org
Updates:
Components: -Blink>Scroll

Comment #23 on issue 1176549 by gir...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c23


(No comment was entered for this change.)

manwarullah via monorail

unread,
Apr 20, 2021, 5:44:33 AM4/20/21
to inpu...@chromium.org
Updates:
Cc: z...@chromium.org k...@chromium.org
Labels: Pri-2

Comment #24 on issue 1176549 by manwa...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c24

As per C#23,Adding "z...@chromium.org" and "k...@chromium.org" from Internals>GPU team to kindly look into it.
Requesting to kindly help in assigning to proper owner as per the issue.

Thanks!!

manwarullah via monorail

unread,
Apr 20, 2021, 6:22:12 AM4/20/21
to inpu...@chromium.org
Updates:
Cc: phan...@google.com
Labels: ReleaseBlock-Stable

Comment #25 on issue 1176549 by manwa...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c25

Adding "RBS" Label for tracking purpose.
Kindly remove if its not needed.

penghuang via monorail

unread,
Apr 20, 2021, 9:50:48 AM4/20/21
to inpu...@chromium.org
Updates:
Cc: bac...@chromium.org bo...@chromium.org
Owner: z...@chromium.org

Comment #26 on issue 1176549 by peng...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c26

We are pre-reastering tiles out side of viewport, and all issued rater works cannot be re-ordered or skipped, even if some tiles will not be used for the frames. It overloads GPU thread. I think DrDC may help for this scrolling case.

Hi zmo@ and sunnyps@ Is DrDC workable? maybe we can try it.

sheriffbot via monorail

unread,
Apr 20, 2021, 12:25:24 PM4/20/21
to inpu...@chromium.org

Comment #27 on issue 1176549 by sheriffbot: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c27

This issue is marked as a release blocker with no milestone associated. Please add an appropriate milestone.

All release blocking issues should have milestones associated to it, so that the issue can tracked and the fixes can be pushed promptly.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

backer via monorail

unread,
Apr 20, 2021, 1:16:53 PM4/20/21
to inpu...@chromium.org
Updates:
Labels: -ReleaseBlock-Stable

Comment #28 on issue 1176549 by bac...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c28

Re c#25: This is not a release blocker. Those are for critical issues with respect to correctness, stability, and security. This is a polish issue.

kbr via monorail

unread,
Apr 20, 2021, 1:29:07 PM4/20/21
to inpu...@chromium.org
Updates:
Cc: -k...@chromium.org

Comment #30 on issue 1176549 by k...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c30


(No comment was entered for this change.)

vasilyt via monorail

unread,
Apr 20, 2021, 3:27:34 PM4/20/21
to inpu...@chromium.org

Comment #32 on issue 1176549 by vas...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c32

From #17 it looks like we missed SurfaceFlinger deadline and buffer was latched a frame alter. To avoid this (or at least reduce), we will change the flow a bit for SurfaceControl, so we can send transaction earlier.

Increasing number of buffers can help utilize gpu more for composition, but if renderer is blocked on raster that won't help.

Git Watcher via monorail

unread,
Apr 27, 2021, 3:26:10 PM4/27/21
to inpu...@chromium.org

Comment #33 on issue 1176549 by Git Watcher: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c33

The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src/+/6b154423dec12fe87ccbe2a3db4ba78bee9f87fc

commit 6b154423dec12fe87ccbe2a3db4ba78bee9f87fc
Author: Vasiliy Telezhnikov <vas...@chromium.org>
Date: Tue Apr 27 19:25:28 2021

Use OnCommit callback for surface control

This CL switches to OnCommit callback to drive SurfaceControl
transactions queue if supported.

Bug: 1176549, b/183644738
Change-Id: If3add335be8301d02b02abc82f61928d398f5360
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2846807
Reviewed-by: Sadrul Chowdhury <sad...@chromium.org>
Reviewed-by: Bo <bo...@chromium.org>
Commit-Queue: Vasiliy Telezhnikov <vas...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#876702}

[modify] https://crrev.com/6b154423dec12fe87ccbe2a3db4ba78bee9f87fc/ui/gfx/android/android_surface_control_compat.cc
[modify] https://crrev.com/6b154423dec12fe87ccbe2a3db4ba78bee9f87fc/ui/gfx/android/android_surface_control_compat.h
[modify] https://crrev.com/6b154423dec12fe87ccbe2a3db4ba78bee9f87fc/ui/gl/gl_surface_egl_surface_control.cc
[modify] https://crrev.com/6b154423dec12fe87ccbe2a3db4ba78bee9f87fc/ui/gl/gl_surface_egl_surface_control.h

giyer via monorail

unread,
May 12, 2021, 4:43:55 PM5/12/21
to inpu...@chromium.org

Comment #34 on issue 1176549 by gi...@qualcomm.corp-partner.google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c34

Hello team,
Does comment #33 refer to one fix for this issue?

Regards,
Gopal

giyer via monorail

unread,
May 26, 2021, 4:13:51 PM5/26/21
to inpu...@chromium.org

Comment #35 on issue 1176549 by gi...@qualcomm.corp-partner.google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c35

Hello team,
I have attached a Systrace log collected at 144Hz on our current premium target running on Android-S. I am seeing similar issues here as well.
There are ~13 janks from end of deliverInputEvent (start of fling animation) to end of scroll duration as indicated in attached SF screenshot. Duration of scroll here is considered till 2353ms, until frames are continuously rendered.
Could you please let us know the status on this issue and a tentative ETA?

Regards,
Gopal

Attachments:
Chrome_Systrace_5.zip 5.0 MB

giyer via monorail

unread,
May 26, 2021, 4:14:15 PM5/26/21
to inpu...@chromium.org

Comment #36 on issue 1176549 by gi...@qualcomm.corp-partner.google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c36

Attaching the jank related SF screenshot which was missed in my previous comment.

Regards,
Gopal

Attachments:
sf-jank-screenshot.PNG 72.9 KB

phaniksm via monorail

unread,
May 26, 2021, 8:48:18 PM5/26/21
to inpu...@chromium.org
Updates:
Labels: Pri-1

Comment #37 on issue 1176549 by phan...@google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c37

Chrome team, Qualcomm is still seeing jank issues on their upcoming premium tier chipset. Can we prioritize this issue and look into it?

phaniksm via monorail

unread,
Jun 1, 2021, 9:58:25 PM6/1/21
to inpu...@chromium.org

Comment #38 on issue 1176549 by phan...@google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c38

Chrome team, any update on this?

vasilyt via monorail

unread,
Jun 2, 2021, 9:05:02 AM6/2/21
to inpu...@chromium.org

Comment #39 on issue 1176549 by vas...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c39

What chrome and Android version was in trace from #c35? What site did you test with?

There were different problems with higher refresh rates recently that were fixed and we still investigate some, so just to make sure we talk here about the same one:
There was 13 dropped frames over a fling with duration 2353ms at 144Hz?

giyer via monorail

unread,
Jun 2, 2021, 3:38:30 PM6/2/21
to inpu...@chromium.org

Comment #40 on issue 1176549 by gi...@qualcomm.corp-partner.google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c40

Here are the details:
Chrome version: v88.0.4324.93
Android version: Android S

>>There was 13 dropped frames over a fling with duration 2353ms at 144Hz?
That is correct. On a 144Hz panel, for a fling/scroll duration of 2.353s, there were ~13 dropped frames observed in the log attached in comment #35.

Regards,
Gopal

vasilyt via monorail

unread,
Jun 2, 2021, 3:45:18 PM6/2/21
to inpu...@chromium.org

Comment #41 on issue 1176549 by vas...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c41

Could you test on Chrome version 92.0.4515.0 or older? (e.g latest Canary or Dev build)
There were changes to improve higher frame rates since M88, some of them require recent Android build too.

giyer via monorail

unread,
Jun 30, 2021, 7:46:16 PM6/30/21
to inpu...@chromium.org

Comment #42 on issue 1176549 by gi...@qualcomm.corp-partner.google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c42

Hello team,
We were able to verify the use case on chrome v92.0.4515.70. I noticed difference in how buffers are enqueued in the new version and there is an improvement in the jank count. However, I was still seeing janks due to
1. overcrowding of multiple Chrome threads in gold & prime (golds-prime-overcrowded.png)
2. SF frame miss due to unknown cause (what-is-the-jank-cause.png)
This log was collected on our current premium target at 144Hz.

Please find systrace & screenshots attached and share your inputs on how to address them.

Regards,
Gopal

Attachments:
3-janks-in-SF.PNG 60.7 KB
golds-prime-overcrowded.PNG 18.9 KB
what-is-the-jank-cause.PNG 25.4 KB
chrome_Systrace_v92.0.4515.70.html.zip 4.8 MB

giyer via monorail

unread,
Jul 2, 2021, 1:54:58 PM7/2/21
to inpu...@chromium.org

Comment #43 on issue 1176549 by gi...@qualcomm.corp-partner.google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c43

Hello team,
I had another question. Are the improvements with Chrome v92.0.4515.0 or older, only expected to be seen in new Android S builds or would it be seen even in latest Android R builds? We verified scrolls on same Chrome version v92.0.4515.70 on latest Android R build on our premium tier target but did not notice any improvement in jank count on Android R. Also, when viewed on Systrace, the buffer queuing process looks similar to older Chrome versions i.e. when buffer is enqueued, it looks like a spike, but rest of the time buffer count is at 0.
Please find an example systrace attached with Chrome scroll. It has 5 janks and the janks and systrace look similar to older Chrome versions.

Regards,
Gopal

Attachments:
chrome_Systrace_v92.0.4515.70_AndroidR_Lahaina.zip 6.1 MB

vasilyt via monorail

unread,
Jul 2, 2021, 2:03:02 PM7/2/21
to inpu...@chromium.org

Comment #44 on issue 1176549 by vas...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c44

New way of queuing frames is Android S only unfortunately as it requires new API added. Another improvement, the deeper pipeline that we also use now for higher refresh rate should affect R+, but it probably has less effect if the device has powerful gpu/cpu.

giyer via monorail

unread,
Jul 2, 2021, 2:03:37 PM7/2/21
to inpu...@chromium.org

Comment #45 on issue 1176549 by gi...@qualcomm.corp-partner.google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c45

Attaching another systrace for Android R with same Chrome version v92.0.4515.70. This one has 11 janks.

Please share your inputs on comments #42 & #43/#44.

Attachments:
chrome_Systrace_v92.0.4515.70_AndroidR_Lahaina_2.zip 4.2 MB

skyostil via monorail

unread,
Jul 6, 2021, 8:09:24 AM7/6/21
to inpu...@chromium.org

Comment #46 on issue 1176549 by skyo...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c46

Would you mind recording one more systrace with "-a com.chrome.canary", using Chrome Canary 93.0.4564.0 or newer? That should give us a bit more information about what's happening on the Chrome side during the janks.

giyer via monorail

unread,
Jul 7, 2021, 8:32:58 PM7/7/21
to inpu...@chromium.org

Comment #47 on issue 1176549 by gi...@qualcomm.corp-partner.google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c47

Regd comment 46, would installing Chrome Canary from Play store be the right way to do this?

skyostil via monorail

unread,
Jul 8, 2021, 1:16:08 PM7/8/21
to inpu...@chromium.org

Comment #48 on issue 1176549 by skyo...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c48

Yes, but double check that chrome://version shows something higher than 93.0.4564.0.

giyer via monorail

unread,
Jul 13, 2021, 7:12:30 PM7/13/21
to inpu...@chromium.org

Comment #49 on issue 1176549 by gi...@qualcomm.corp-partner.google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c49

Thanks. Please find systrace collected with Chrome Canary v93.0.4574.0 at 144Hz, with "-a com.chrome.canary" option.
We can see the overcrowding of all the cores in this case as well. Use case is the same scroll/fling use case.

Thanks,
Gopal

Attachments:
overcrowded-cores-chrome-canary-v93.0.4574.0.PNG 105 KB
chromeCanary-v93.0.4574.0-144Hz-twoJanks-overcrowdedCores.zip 9.7 MB

skyostil via monorail

unread,
Jul 16, 2021, 11:03:59 AM7/16/21
to inpu...@chromium.org

Comment #50 on issue 1176549 by skyo...@google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c50

Thanks for the trace! Looks like a lot of janks on the browser UI thread are caused by accessibility-related events (e.g., BrowserAccessibilityManager::OnAccessibilityEvents). Could you verify that there's no password manager app installed on the system and that no other accessibility features are enabled? We've got in-progress optimizations for accessibility messages, but not all of those have landed yet.

giyer via monorail

unread,
Jul 16, 2021, 8:02:44 PM7/16/21
to inpu...@chromium.org

Comment #51 on issue 1176549 by gi...@qualcomm.corp-partner.google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c51

That is interesting, no password manager app was installed on the system, and no accessibility features were enabled explicitly, default settings were used and scrolling was done in WiFi.

Regards,
Gopal

sadrul via monorail

unread,
Jul 16, 2021, 8:24:23 PM7/16/21
to inpu...@chromium.org

Comment #52 on issue 1176549 by sad...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c52

We have seen accessibility-related issues before, where too many accessibility events are fired during a scroll: https://bugs.chromium.org/p/chromium/issues/detail?id=1092486

delphick via monorail

unread,
Jul 18, 2021, 9:56:34 AM7/18/21
to inpu...@chromium.org

Comment #53 on issue 1176549 by delp...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c53

These accessibility messages should only be sent if there's an AccessibilityService running. While Assistive tech was the original purpose of the API, it has been heavily abused to provide functionality that was not the original intent of the API. Password managers are one such use, but there are others including launchers and even mobile network providers.

To find out what you have running go to the Android Settings and go to Accessibility. At the top there's a section for Downloaded Apps. If any of these are are on, then this would trigger this behaviour. There's also a section for screen readers "Select to Speak" and "TalkBack" which come by default and which could also cause this behaviour but presumably you'd knows if you had these on. (This advice is based on a Pixel 4 running Android 11, the experience may be different for you).

giyer via monorail

unread,
Jul 20, 2021, 1:10:49 PM7/20/21
to inpu...@chromium.org

Comment #54 on issue 1176549 by gi...@qualcomm.corp-partner.google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c54

Please find the accessibility settings attached. Under downloaded apps in accessibility, I see refresh rate ON, in other sections, rest of them are all off.
Will "Refresh rate" set to ON cause any of the above accessibility related issues? Is it possible to address this issue too?

Attachments:
1.PNG 81.6 KB
2.PNG 74.4 KB

skyostil via monorail

unread,
Jul 20, 2021, 1:31:14 PM7/20/21
to inpu...@chromium.org

Comment #55 on issue 1176549 by skyo...@google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c55

Could you please run another test with the Refresh rate app uninstalled?

delphick via monorail

unread,
Jul 20, 2021, 1:57:01 PM7/20/21
to inpu...@chromium.org

Comment #56 on issue 1176549 by delp...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c56

Refresh rate is presenting as an AccessibilityService so yes it will cause accessibility updates to be generated. Such services can choose to filter what apps they receive updates from but they rarely do.

giyer via monorail

unread,
Jul 20, 2021, 4:15:36 PM7/20/21
to inpu...@chromium.org

Comment #57 on issue 1176549 by gi...@qualcomm.corp-partner.google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c57

"Refresh rate" does not show up in the list of apps in the app manager, so I am unsure if I can uninstall it. I could not uninstall using "adb uninstall" either.
However, I could turn it off as shown in the attached image. Would that be sufficient?
Also, I was not sure what this app does, could turning it off have some other side effects with respect to this scroll use case?

Attachments:
3-refresh-rate-off.PNG 89.8 KB

delphick via monorail

unread,
Jul 21, 2021, 5:07:13 AM7/21/21
to inpu...@chromium.org

Comment #58 on issue 1176549 by delp...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c58

Turning it off should make the accessibility-related tasks go away. What effect that has beyond making chrome run faster I can't predict since I have no idea what the app is or does. If it's not showing as a normal app then perhaps it's an OEM app and you could contact them about it.

One way to find where the app comes from is to try:
adb shell dumpsys package

and search the output for android.accessibilityservice.AccessibilityService:

On my phone, it shows:

android.accessibilityservice.AccessibilityService:
f8be351 com.google.android.marvin.talkback/.TalkBackService
516ab89 com.google.android.marvin.talkback/com.android.switchaccess.SwitchAccessService
61ca8a2 com.google.android.apps.accessibility.maui.actionblocks/.service.ActionBlocksService
2532768 com.google.audio.hearing.visualization.accessibility.scribe/.ScribeAccessibilityService
d7bd026 com.google.audio.hearing.visualization.accessibility.scribe/com.google.audio.hearing.visualization.accessibility.dolphin.DolphinAccessibilityService
6d33454 com.google.android.accessibility.soundamplifier/.SoundAmplifierService
63d0cb7 com.google.android.marvin.talkback/com.google.android.accessibility.accessibilitymenu.AccessibilityMenuService
80bbd53 com.google.android.marvin.talkback/com.google.android.accessibility.selecttospeak.SelectToSpeakService

These are the default Google accessibility services and ActionBlocks. (This shows up even if they're all disabled - it just shows that the apps have registered to use this permission).

Regardless of what the app is you should try taking another trace of your issue with the service disabled.

giyer via monorail

unread,
Jul 21, 2021, 8:35:37 PM7/21/21
to inpu...@chromium.org

Comment #59 on issue 1176549 by gi...@qualcomm.corp-partner.google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c59

Thanks for above explanation. I turned off "Refresh rate" in Accessibility and collected traces on Chrome Canary. I was able to reproduce janks with overcrowded CPU cores. Could you please check if the root cause is the same or different this time?
Please find the log and screenshots attached.

Regards,
Gopal

Attachments:
chrome144-canary_v94_accessibilityOff.zip 7.0 MB
jank-location.PNG 38.1 KB
overcrowding-during-jank.PNG 58.1 KB

skyostil via monorail

unread,
Jul 22, 2021, 5:20:56 AM7/22/21
to inpu...@chromium.org

Comment #60 on issue 1176549 by skyo...@google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c60

Could you please provide one more trace with the "-a com.chrome.canary" flag included so we also log Chrome's activity.

giyer via monorail

unread,
Jul 22, 2021, 2:52:43 PM7/22/21
to inpu...@chromium.org

Comment #61 on issue 1176549 by gi...@qualcomm.corp-partner.google.com: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c61

Actually I collected with -a com.chrome.canary, but looks like it didn't log Chrome's activity due to some bug. After device reboot, I tried again and this time it did log it, I noticed this inconsistency yesterday too.
Please find new logs attached.
chrome144-canary_v94_accessibilityOff-1.html : under 1090ms
chrome144-canary_v94_accessibilityOff-2.html: under 1460ms

Attachments:
chrome144-canary_v94_accessibilityOff-2.zip 17.5 MB

eseckler via monorail

unread,
Jul 23, 2021, 2:54:29 AM7/23/21
to inpu...@chromium.org

Comment #62 on issue 1176549 by esec...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c62

The traces show a few stalls in the browser UI thread (screenshot attached from first trace). These seem to be because the UI thread stalled waiting for the PCScan thread to execute a task for a few milliseconds (usually 5-10ms). It's not clear which task, because we don't seem to have any TRACE_EVENT instrumentation on that thread (did the events get lost? do we just not have any toplevel events on that thread?). To follow up on this cause of jank, I'll reopen issue 1201538, which was filed because we noticed PCScan causing jank in the past.

The traces from #61 also seem to be missing all TRACE_EVENTs from the renderer process, sadly. It seems something in Chrome's interaction with atrace is a bit flaky given the missing data :(

giyer@, I'm sorry to send you off yet again -- to make sure we're not missing anything else, it might be worth recording a perfetto trace as you did earlier in #12 -- hoping that this way we'd capture more of the chrome data. You could also try adding --enable-benchmarking to your chrome commandline, to avoid any potential interference with background tracing.

I'll leave this bug assigned to vasilyt@ regarding the GPU-related issues identified earlier.

Attachments:
pcscan.png 759 KB

sheriffbot via monorail

unread,
Aug 23, 2021, 11:18:06 AM8/23/21
to inpu...@chromium.org

Comment #63 on issue 1176549 by sheriffbot: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c63

This issue hasn't been updated in the last 30 days - please update it or consider lowering its priority.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

sheriffbot via monorail

unread,
Sep 7, 2021, 11:23:10 AM9/7/21
to inpu...@chromium.org

Comment #64 on issue 1176549 by sheriffbot: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c64

sheriffbot via monorail

unread,
Sep 20, 2021, 11:22:47 AM9/20/21
to inpu...@chromium.org

Comment #65 on issue 1176549 by sheriffbot: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c65

sheriffbot via monorail

unread,
Oct 4, 2021, 11:23:04 AM10/4/21
to inpu...@chromium.org

Comment #66 on issue 1176549 by sheriffbot: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c66

sheriffbot via monorail

unread,
Oct 15, 2021, 11:20:52 AM10/15/21
to inpu...@chromium.org

Comment #67 on issue 1176549 by sheriffbot: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c67

sheriffbot via monorail

unread,
Oct 26, 2021, 11:20:16 AM10/26/21
to inpu...@chromium.org

Comment #68 on issue 1176549 by sheriffbot: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c68

vasilyt via monorail

unread,
Oct 28, 2021, 4:31:23 PM10/28/21
to inpu...@chromium.org
Updates:
Status: Fixed

Comment #69 on issue 1176549 by vas...@chromium.org: Chrome app missing surface updates
https://bugs.chromium.org/p/chromium/issues/detail?id=1176549#c69

I'll mark this as fixed because we're done with GPU side work. Feel free to re-open if we still miss frames because of GPU side (or create a new bug).
Reply all
Reply to author
Forward
0 new messages