Change triggering logic for Low End |
||
Issue descriptionConsider any device with <= 1GB of memory to be a low end device starting in Android O.
,
Apr 14 2017
Keeping this bug open for potential future changes.
,
Apr 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e678aa49f3fbb21132296a1356239c79d8db276a commit e678aa49f3fbb21132296a1356239c79d8db276a Author: aelias <aelias@chromium.org> Date: Fri Apr 14 22:41:04 2017 Decouple some graphics-related IsLowEndDevice() policies for 1GB devices. In http://crrev.com/2814323002, IsLowEndDevice() was changed to apply to some 1GB devices, which was not the original intent of the flag (used to be strictly 512MB). I triaged the current uses of it, and found the two following inappropriate ones: 1) Use of 16-bit color in the graphics subsystem is a particularly desperate measure unique to Chrome on 512MB devices (not even resorted to by any other Android app on 512MB devices). Because 16-bit GL driver features are little-used or tested, it poses a high risk of severe performance and stability issues (which are browser crashes in IsLowEndDevice mode). So replace those callsites with an explicit memory check. 2) The video code has some settings to disable autoplay and idle playback on Jellybean or low-RAM devices. Disabling autoplay is a web-standards-violating change so we shouldn't apply it to any new devices. As far as I can tell from the history on http://crbug.com/612909 , this was added to workaround Jellybean bugs which have never been observed on any device meeting the Svelte criteria (KitKat or above, 512MB). isLowEndDevice() should only be used for RAM optimizations, so I simply removed the calls. BUG= 711079 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2820643002 Cr-Commit-Position: refs/heads/master@{#464813} [modify] https://crrev.com/e678aa49f3fbb21132296a1356239c79d8db276a/content/browser/renderer_host/compositor_impl_android.cc [modify] https://crrev.com/e678aa49f3fbb21132296a1356239c79d8db276a/content/renderer/gpu/render_widget_compositor.cc [modify] https://crrev.com/e678aa49f3fbb21132296a1356239c79d8db276a/content/renderer/media/renderer_webmediaplayer_delegate.cc [modify] https://crrev.com/e678aa49f3fbb21132296a1356239c79d8db276a/content/renderer/media/renderer_webmediaplayer_delegate.h [modify] https://crrev.com/e678aa49f3fbb21132296a1356239c79d8db276a/content/renderer/render_view_impl.cc [modify] https://crrev.com/e678aa49f3fbb21132296a1356239c79d8db276a/media/gpu/android_video_decode_accelerator.cc [modify] https://crrev.com/e678aa49f3fbb21132296a1356239c79d8db276a/ui/gl/gl_surface_egl.cc
,
Oct 26 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c1e5f378554affa23cedd5177d5806a969d8d5c6 commit c1e5f378554affa23cedd5177d5806a969d8d5c6 Author: Maria Khomenko <mariakhomenko@chromium.org> Date: Thu Oct 26 23:45:21 2017 Metric for Chrome custom logic vs isLowRamDevice. Detect how frequently the two definitions are identical. This will be used to decide if we should switch to system-based implementation. BUG= 711079 Change-Id: Ibbb12df3cbf1523fd0e2fe5bb63a9ac3d91ea7cd Reviewed-on: https://chromium-review.googlesource.com/738863 Commit-Queue: Maria Khomenko <mariakhomenko@chromium.org> Reviewed-by: Yaron Friedman <yfriedman@chromium.org> Reviewed-by: Ilya Sherman <isherman@chromium.org> Cr-Commit-Position: refs/heads/master@{#512021} [modify] https://crrev.com/c1e5f378554affa23cedd5177d5806a969d8d5c6/base/android/java/src/org/chromium/base/SysUtils.java [modify] https://crrev.com/c1e5f378554affa23cedd5177d5806a969d8d5c6/base/android/java/src/org/chromium/base/metrics/RecordHistogram.java [modify] https://crrev.com/c1e5f378554affa23cedd5177d5806a969d8d5c6/tools/metrics/histograms/histograms.xml
,
Jun 13 2018
I am going to mark this as fixed and open another issue around potential improvements we may want to do with low-end triggering. |
||
►
Sign in to add a comment |
||
Comment 1 by bugdroid1@chromium.org
, Apr 13 2017