Add PartialLowEndModeOnMidRangeDevices feature for Android 4GB and
6GB devices.
Such devices aren't considered low-end, but we'd like experiment with a subset of low-end features to see if we get a good memory vs. performance tradeoff.
We will not introduce any user-visible changes which cause bad UX or
any huge performance regressions by the experiment. So not all
base::SysInfo::IsLowEndDevice() are replaced with base::SysInfo::
IsLowEndDeviceOrPartialLowEndModeEnabled().
Bug: 1434873
Change-Id: I90db4bf9926435f0550721b79b90a02b24ae6e8a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4450827
Reviewed-by: Kyle Charbonneau <kylechar@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Bartek Nowierski <bartekn@chromium.org>
Commit-Queue: Takashi Sakamoto <tasak@google.com>
Code-Coverage: Findit <findit-for-me@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1135064}
Tests that rendered in the GPU or renderer processes were working
correctly. But (some) tests that rendered in the browser process were
never calling InitializeSkia, so the flag was ignored.
Bug: chromium:1421297
Change-Id: I62f31d0317dfd447e8256a2a5f2d5bde76f3c180
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4340773
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1117544}
Temporary tool to migrate browser tests to the new algorithm.
Low-Coverage-Reason: Optional flag, will start exercising in follow-up CLs (that enable the flag for tests, but require rebaselines).
Bug: chromium:1421297
Change-Id: I176ad3141e04f306a60b4b888fee26ac1741c768
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4317109
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1115246}
Shrinking (and unifying) the skia glyph cache size limit improves memory
usage across platforms, without regressing performance.
On macOS, from the 10% stable field trial
(https://uma.googleplex.com/p/chrome/variations?sid=52fe18b48c1993b6cd8281c84394a22c),
this moves the maximum cache size from 20MiB (as reported by Skia,
i.e. excluding the custom arena allocator overhead) to 1MiB. Results
are:
- Cache size: 15MiB -> .5MiB @50p, 20.8MiB -> 1MiB @99p
- GPU malloc: -25MiB @50p (25%), -30MiB @95p (11%)
- GPU process PMF: -5.8% @50p, -1.8% @95p
Results are similar on other platforms, with a smaller impact on Android
(fewer fonts in cache, and smaller limits) and on Windows (limited to
256 SkStrikes).
Bug: 1335342
Change-Id: Ic3f924366b00fee8f841e306f9fac81e6097f598
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3999284
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Benoit Lize <lizeb@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1066929}
This allows:
- features to be defined with a consistent set of qualifiers, and for
that set of qualifiers to be updated over time as appropriate.
- better PRESUBMIT checks to ensure that base::Features are not defined
in headers.
- simplifies things for scripts trying to extract feature definitions
out of C++ code.
Bug: 1364289
Change-Id: I7724959775c6d5013c509b77f3f456582997f6d1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3907621
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1050040}
The skia font cache is limited to either 1MiB (low-end Android), 8MiB
(Android), or 20MiB (elsewhere). In addition, it cannot cache more than
256 strikes on Windows, and 2048 elsewhere.
The GPU side of the cache might not even be needed (see linked bug), and
the constants were set a long time ago (in some cases, 10 years),
without being revisited since.
This adds a feature to reduce the maximum size of this cache, in order
to investigate the impact on memory and performance. As the feature is
disabled by default, this CL should not change behavior.
Bug: 1335342
Change-Id: If2aa5d26657876f93fca60f2186d07eba1bbec7a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3698551
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Benoit Lize <lizeb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1013893}