Page MenuHomePhabricator

Low framerate while vertical scrolling lots of content in an OOUI window in Chrome.
Closed, ResolvedPublic

Description

I went to the EnWiki article for United States, with the New Wikitext Editor. I went to preview. Vertical scrolling with the mouse wheel is slower, uncomfortably jumpy, less responsive. Dragging the browser scroll bar really emphasizes how bad the frame rate is. Dragging the scroll bar is visually painful. It's impossible to visually follow where you're moving or how fast.

Chrome version check:
Version 55.0.2883.87 m
Google Chrome is up to date.

Vertical scrolling in Firefox seems fine, about equal to vertical scrolling performance when previewing in the normal wikitext editor.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Esanders renamed this task from New Wikitext Editor: Painfully bad framerate while vertical scrolling preview in Chrome. It seems fine in Firefox. to Low framerate while vertical scrolling lots of content in an OOUI window in Chrome..Jan 1 2017, 5:41 PM
Esanders subscribed.

moving upstream to OOUI

We probably just need the translate:transformZ(0) hack (applied to oo-ui-window-body) to trigger hardware acceleration, but we need to consider the z-index implications.

Actually it would need to be applied to all scrollable panels.

Change 330068 had a related patch set uploaded (by Esanders):
Apply webkit GPU hack to scrollable panels

https://gerrit.wikimedia.org/r/330068

Change 330068 merged by jenkins-bot:
Apply webkit GPU hack to scrollable panels

https://gerrit.wikimedia.org/r/330068

This is such a undocumented mess on browser level. I've been revisiting the GPU hack documentation and articles for several hours the x-th time and only stumble to a clear understanding of what code is needed and appropriate. Filed T154460: Revisit OOUI's GPU hack mixin `transform: translate3d()` as follow-up.

Jdforrester-WMF assigned this task to Esanders.
Jdforrester-WMF triaged this task as Medium priority.
Jdforrester-WMF moved this task from Backlog to OOjs-UI-0.18.3 on the OOUI board.
Jdforrester-WMF edited projects, added OOUI (OOjs-UI-0.18.3); removed OOUI.
Jdforrester-WMF removed a project: Patch-For-Review.

I've got the impression that a slight repositioning render issue on Chrome is connected with the current, as of v0.24.3, .oo-ui-force-gpu-composite-layer() hack on scrollable PanelLayout. It's pretty hard to reproduce, but it affects for example save dialog or the Page Settings dialog in VE which make use of scrollable PanelLayout. When you hover over certain elements like the checkboxes in the dialog, they move slightly (~by 1 px). This hasn't been always the case and the hack seems like a good candidate for this issue.

Another instance, I can now repeatedly pin-point it to this hack:

T154385 translateZ rendering issue Chrome63 - Editing Front end - Wikipedia 2018-01-16.png (458×709 px, 36 KB)