Start Chrome-wide MemoryPressureBasedSourceBufferGC experiment |
|||||||||||
Issue descriptionCurrently Chrome buffers up to 150MiB of video and 12MiB of audio when playing Youtube videos. This is problematic on low-end Android devices and can get Chrome killed by the OS (b/72526988). But it turned out there is a feature that can help: MemoryPressureBasedSourceBufferGC. It was added by servolk@ a year ago [1], and demonstrated promising results. Let's start a finch experiment, with the ultimate goal of permanently enabling the feature (at least on low-end devices). [1] https://docs.google.com/document/d/1QXx61ZA-p-MVU3Z-6m-ILSvkUCUsu4vOtAe9qEFsnmo/edit#heading=h.307scku45jg6
,
Feb 12 2018
,
Feb 12 2018
On Desktop, memory pressure signals are inconsistent, and generally not very useful right now. +sebmarchand, who's working on creating useful windows memory pressure signals. I believe no one is working on macOS signals.
,
Feb 12 2018
,
Feb 13 2018
OK, so let's first do the experiment on Android only. Sergey, do you want to take this?
,
Feb 13 2018
Well, I can give it a try, but it won't be my highest priority atm. Also, I don't have any experience with Finch experiments, where do I start to set up a new experiment?
,
Feb 15 2018
,
Feb 15 2018
I think the process is not that complicated on dev/canary - basically we can "just" go and enable the experiment, but we need to have metrics ready. We have metrics for total renderer memory, so we can see improvement there. But do we have metrics that would tell us how many times the feature caused additional buffering when user went backwards in the playback? BTW there seems to be an issue in how reliable memory pressure signals are on Android, see b/73310928. It looks like the issue could be fixed on Chrome side though (which experiment could only be done in M66+).
,
Feb 21 2018
dalecurtis@, servolk@, do we have UMA metrics that tell us how often users go back in the playback? How hard it would be to add such metric? Ideally we need something like "how often users go back and have to wait for data". With such metric we could trivially evaluate impact of MemoryPressureBasedSourceBufferGC feature.
,
Feb 21 2018
AFAIK there's no such metric
,
Feb 21 2018
Tokyo memory team is happy to help this. keishi or tasak: Would you help servolk to add the UMA and start a Finch experiment?
,
Feb 21 2018
,
Feb 21 2018
,
Jun 19 2018
haraken@ was your team still looking at relaunching this experiment?
,
Jun 19 2018
Note that the memory pressure signals on desktop (Windows at least) are still pretty inefficient and inconsistent across platform (you can't really compare the MemoryPressureLevel values [1] between different platforms as they don't measure the same thing). There's still no ETA for the better memory pressure signal on desktop (this is tracked on crbug.com/771478). [1] https://cs.chromium.org/chromium/src/base/memory/memory_pressure_listener.h?l=50&rcl=d33d841ba9903ec8ad2a6874b181cfa2efe260ca
,
Jun 19 2018
dskiba left the team and no one is looking at this. For now I think we can focus on enabling the feature on low-end Android (where memory pressure is (not good but) more reliable than desktops). I don't think it's terrible to enable the feature on desktops because it would be better than having nothing, but that would be a separate discussion. Dale: Would it be possible to find an eng in your team?
,
Jun 19 2018
Yup I'll take it.
,
Jun 19 2018
Dan said he had bandwidth to pick this up.
,
Jun 19 2018
|
|||||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by dskiba@chromium.org
, Feb 12 2018Labels: OS-Android OS-Chrome OS-iOS OS-Mac OS-Windows