New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 711079 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Left Chrome team
Closed: Jun 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug



Sign in to add a comment

Change triggering logic for Low End

Project Member Reported by mariakho...@chromium.org, Apr 12 2017

Issue description

Consider any device with <= 1GB of memory to be a low end device starting in Android O.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Apr 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/16616a21c2ed290d72aba2e90cabf1c50799cebd

commit 16616a21c2ed290d72aba2e90cabf1c50799cebd
Author: mariakhomenko <mariakhomenko@chromium.org>
Date: Thu Apr 13 19:29:52 2017

[LowMemory] Increase IsLowEndDevice() triggering to 1GB devices in O.

This is to match the expected framework behavior for O low end devices
(see internal bug go/gries).

BUG= 711079 

Review-Url: https://codereview.chromium.org/2814323002
Cr-Commit-Position: refs/heads/master@{#464503}

[modify] https://crrev.com/16616a21c2ed290d72aba2e90cabf1c50799cebd/base/android/java/src/org/chromium/base/SysUtils.java

Keeping this bug open for potential future changes.
Project Member

Comment 3 by bugdroid1@chromium.org, 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

Project Member

Comment 4 by bugdroid1@chromium.org, 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

Cc: -dskiba@chromium.org
Status: Fixed (was: Assigned)
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