Chrome Version : 69.0.3497.23
Currently only Mac enables features::kUiCompositorScrollWithLayers by default. This is because
- macOS generates a *lot* of touchpad scroll events - non-layered scrolling can not keep up
- it's needed for elastic / scrolling
Other platforms can benefit from this. The alternative to layered-scrolling is to repaint the view subtree, which is UI-thread-blocking and CPU-intensive. Also note that Edge on Windows 10 has adopted elastic scrolling.
However, there are some quirks. E.g.
- Scrolling things need an opaque background color to retain proper text AA
- There are subtle layer/canvas synchronization problems with headers in TableView (e.g. in task manager)
- RTL support needs to be audited
Having two codepaths is annoying. macOS is currently the guinea-pig, but when the implementation is solid we should enable it everywhere.
Comment 1 by tapted@chromium.org
, Aug 14