gecko-dev/widget/android
Chris Pearce 54ffe8caca Bug 1551890 - Cache GFXInfo WebRTC HW encode/decode result on Android. r=snorp
Profiling shows that we're spending a lot of time on startup inside
android.media.MediaCodecList.getCodecCount when GfxInfo::GetFeatureStatus calls
over to Java to determine whether hardware accelerated video encoding is
supported.

Looking at the Java stacks in the profile, Android is spending most of our time
creating a list of codecs.  It doesn't look like there's a faster way to query
for hardware accelerated video support. So to speed this up we can cache the
value in the user's profile. We also store the OS version, which we can use to
detect when the OS is updated so we can invalidate the cache then.

Presumably an OS update is the only way a device can have its hardware acceleration
support status change.

With this change, the time we take figuring out the HW encode/decode status
goes from ~100ms on a cold run to ~0.01ms on a cache hit on my HD8 tablet.

Differential Revision: https://phabricator.services.mozilla.com/D31380

--HG--
extra : moz-landing-system : lando
2019-05-16 22:42:00 +00:00
..
bindings Bug 1462018 - Add API for taking screenshot of visible page. 2019-03-02 10:09:08 +00:00
fennec Bug 1545342 - part 3: Move remaining public enum of nsIPresShell to mozilla namespace in mozilla/PresShellForwards.h and make them enum class r=smaug 2019-04-25 05:04:23 +00:00
jni Bug 1391438 - Move GECKOBUNDLE macros into their own header r=snorp 2019-05-10 17:59:46 +00:00
AndroidAlerts.cpp
AndroidAlerts.h
AndroidBridge.cpp Bug 676268 - Part 1. Support text/html on Android clipboard backend. r=geckoview-reviewers,snorp 2019-03-20 14:47:19 +09:00
AndroidBridge.h Bug 676268 - Part 1. Support text/html on Android clipboard backend. r=geckoview-reviewers,snorp 2019-03-20 14:47:19 +09:00
AndroidBridgeUtilities.h
AndroidColors.h
AndroidCompositorWidget.cpp
AndroidCompositorWidget.h
AndroidContentController.cpp
AndroidContentController.h
AndroidDirectTexture.h
AndroidGraphicBuffer.h Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
AndroidUiThread.cpp
AndroidUiThread.h
ANRReporter.cpp Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
ANRReporter.h
components.conf Bug 1543009 - Move Android widget xpcom components to static registration. r=kmag 2019-04-11 16:22:07 +09:00
EventDispatcher.cpp Bug 1541485. Stop using AutoJSContext in android widget code. r=snorp 2019-05-13 14:44:51 +00:00
EventDispatcher.h
GeckoBatteryManager.h
GeckoEditableSupport.cpp Bug 1534395 - Rename TabChild to BrowserChild. r=nika 2019-04-09 17:39:01 -05:00
GeckoEditableSupport.h Bug 1534395 - Rename TabChild to BrowserChild. r=nika 2019-04-09 17:39:01 -05:00
GeckoNetworkManager.h
GeckoProcessManager.h Bug 1534395 - Rename TabParent to BrowserParent. r=nika 2019-04-09 16:38:15 -05:00
GeckoScreenOrientation.h
GeckoSystemStateListener.h Bug 1540015 - part 3: Rename Document::GetShell() to Document::GetPresShell() and make it return PresShell* rather than nsIPresShell* r=smaug,emilio 2019-03-29 15:12:47 +00:00
GeckoVRManager.h
GfxInfo.cpp Bug 1551890 - Cache GFXInfo WebRTC HW encode/decode result on Android. r=snorp 2019-05-16 22:42:00 +00:00
GfxInfo.h Bug 1551890 - Cache GFXInfo WebRTC HW encode/decode result on Android. r=snorp 2019-05-16 22:42:00 +00:00
moz.build Bug 1391438 - Support FIDO2 for WebAuthn on Android r=snorp,keeler 2019-05-10 16:40:17 +00:00
nsAndroidProtocolHandler.cpp Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
nsAndroidProtocolHandler.h
nsAppShell.cpp Bug 1391438 - Support FIDO2 for WebAuthn on Android r=snorp,keeler 2019-05-10 16:40:17 +00:00
nsAppShell.h Bug 1528279 - Don't record latencies while holding queue lock. r=geckoview-reviewers,snorp 2019-04-16 22:00:24 +00:00
nsClipboard.cpp Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
nsClipboard.h
nsDeviceContextAndroid.cpp
nsDeviceContextAndroid.h
nsIAndroidBridge.idl Bug 1541485. Stop using AutoJSContext in android widget code. r=snorp 2019-05-13 14:44:51 +00:00
nsIdleServiceAndroid.cpp Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
nsIdleServiceAndroid.h
nsLookAndFeel.cpp Bug 1532850 - Implement the backend for prefers-color-scheme on Android. r=geckoview-reviewers,snorp 2019-03-19 10:10:52 +00:00
nsLookAndFeel.h
nsNativeThemeAndroid.cpp
nsNativeThemeAndroid.h
nsPrintSettingsServiceAndroid.cpp
nsPrintSettingsServiceAndroid.h
nsWidgetFactory.cpp Bug 1543009 - Move Android widget xpcom components to static registration. r=kmag 2019-04-11 16:22:07 +09:00
nsWidgetFactory.h Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
nsWindow.cpp Bug 1516048 - Introduce GeckoView.setVerticalClipping. r=snorp 2019-04-26 22:38:10 +00:00
nsWindow.h
PrefsHelper.h
ProcInfo.cpp Bug 1502917 - Adding ChromeUtils.RequestProcInfo() - r=Ehsan,mstange,kershaw,mhowell 2019-02-23 18:07:59 +00:00
ScreenHelperAndroid.cpp Bug 1523969 part 26 - Move method definition inline comments to new line in 'widget/'. r=mstange 2019-02-25 16:13:48 -06:00
ScreenHelperAndroid.h
Telemetry.h
WebAuthnTokenManager.cpp Bug 1391438 - Support FIDO2 for WebAuthn on Android r=snorp,keeler 2019-05-10 16:40:17 +00:00
WebExecutorSupport.cpp Bug 1532318 - Part 2 : update changes of nsIHttpChannel in codebase r=smaug 2019-05-02 12:33:55 +00:00
WebExecutorSupport.h