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

Issue 800522 link

Starred by 6 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 26
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug


Show other hotlists

Hotlists containing this issue:
Nice-to-haves-for-Project-V


Sign in to add a comment

touch-action:manipulation on large number of elements has huge performance hit

Reported by splinte...@gmail.com, Jan 9 2018

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36

Steps to reproduce the problem:
1. Open a document which contains a large number of elements that have been given a CSS style of "touch-action:manipulation"
2. Note that the document behaves extremely sluggishly when interacting with it. Clicks, keyboard entry (e.g. on inputs), animations, even core browser functionality like context menu ... everything is severely impacted
3. There are further reports (see https://github.com/twbs/bootstrap/issues/24670#issuecomment-356340395) that this even has an impact on loading times (or it's simply the result of all the thrashing resulting in an overall slowdown on all activities, such as loading?)

What is the expected behavior?
while touch-action likely results in increased hit testing, I wouldn't have expected such a severe impact.

What went wrong?
touch-action seems to cause a severe performance hit (which becomes obvious on large documents) on the main thread.

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 63.0.3239.132  Channel: stable
OS Version: 10.0
Flash Version:
 
touch-action-perf-test.html
243 KB View Download
Labels: Needs-Triage-M63
Cc: sc00335...@techmahindra.com
Components: Blink>HTML
Labels: Triaged-ET M-65 Performance OS-Linux OS-Mac
Status: Untriaged (was: Unconfirmed)
Able to reproduce this issue on reported version 63.0.3239.132, on latest canary 65.0.3117.0 using Windows 10,Ubuntu 14.04 and Mac 10.13.1 with attached html file. i.e; Scrolling,opening context menu and inputing is very sluggish.

This issue is seen from M50[50.0.2661.0]. Hence considering this issue as Non-Regression and marking as Untriaged.

Comment 3 by tkent@chromium.org, Jan 11 2018

Components: -Blink>HTML Blink>Input
Cc: dtapu...@chromium.org
Components: -Blink>Input Internals>Compositing>Scroll
Owner: flackr@chromium.org
Status: Assigned (was: Untriaged)
A trace indicates that computing the touch-action in the scrolling coordinator takes like 8.2s. So it is quite slow.

Comment 5 by benhenry@google.com, Jan 17 2018

Labels: -Performance Performance-Responsiveness

Comment 6 by papal...@gmail.com, Apr 1 2018

A performance issue which from the outside looks similar to the one mentioned in the comments of  issue 605419 , so I wonder if both of these issues could be tackled at the same time.
Cc: sunxd@chromium.org pdr@chromium.org
Owner: xidac...@chromium.org
We have code that is supposed to stop accumulating touch action rects and union them all once we get to 100, see use of kMaxRectsPerLayer. Can you investigate why we slow down on large numbers of touch action elements? We should have this fixed upper bound for number of elements to process, if we continue to do work for more elements there must be a bug.
This will be fixed once PaintTouchActionRects is shipped. If you run canary channel with --enable-blink-features=PaintTouchActionRects, it is as smooth as Firefox.

This feature will be ship very soon.
Status: Fixed (was: Assigned)
PaintTouchActionRects is now shipped and will be available on tmr's canary channel.
Status: Assigned (was: Fixed)
Re-open because we revert the ship of PaintTouchActionRects
Status: Fixed (was: Assigned)
PaintTouchActionRects has been shipped 

Sign in to add a comment