feat: reduce layers numbers on low end devices #3235
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A high number of layers can be problematic on mobile devices (causing stutters on scroll, or blinking). Creating a layer is not a straightforward operation, and many CSS rules and configurations can generate them.
With current configuration, we are creating more than 1 layer per text-only status on page (3 is the usual number, can go up to 6 or more when media is embedded)
One such rule is the will-change property. The will-change property helps the browser optimize page rendering by indicating which parts of the page are likely to change, prompting the browser to place these parts on their own layers.
While this is generally desirable, a high number of layers can slow down the browsing experience on low-end devices. Allowing the option to disable this property when the related setting is enabled can improve overall performance.
(You can view the generated layers using Chrome's Layer Developer Tool by toggling the "optimize for low-end device" option.)