Loading graphics/java/android/graphics/HardwareRenderer.java +14 −5 Original line number Diff line number Diff line Loading @@ -984,12 +984,12 @@ public class HardwareRenderer { } /** * b/68769804: For low FPS experiments. * b/68769804, b/66945974: For low FPS experiments. * * @hide */ public static void setFPSDivisor(int divisor) { nHackySetRTAnimationsEnabled(divisor <= 1); nSetRtAnimationsEnabled(divisor <= 1); } /** Loading Loading @@ -1153,6 +1153,16 @@ public class HardwareRenderer { nSetDrawingEnabled(drawingEnabled); } /** * Disable RenderThread animations that schedule draws directly from RenderThread. This is used * when we don't want to de-schedule draw requests that come from the UI thread. * * @hide */ public static void setRtAnimationsEnabled(boolean enabled) { nSetRtAnimationsEnabled(enabled); } private static final class DestroyContextRunnable implements Runnable { private final long mNativeInstance; Loading Loading @@ -1461,9 +1471,6 @@ public class HardwareRenderer { private static native void nSetHighContrastText(boolean enabled); // For temporary experimentation b/66945974 private static native void nHackySetRTAnimationsEnabled(boolean enabled); private static native void nSetDebuggingEnabled(boolean enabled); private static native void nSetIsolatedProcess(boolean enabled); Loading @@ -1482,4 +1489,6 @@ public class HardwareRenderer { private static native void nSetDrawingEnabled(boolean drawingEnabled); private static native boolean nIsDrawingEnabled(); private static native void nSetRtAnimationsEnabled(boolean rtAnimationsEnabled); } libs/hwui/jni/android_graphics_HardwareRenderer.cpp +7 −7 Original line number Diff line number Diff line Loading @@ -777,11 +777,6 @@ static void android_view_ThreadedRenderer_setHighContrastText(JNIEnv*, jclass, j Properties::enableHighContrastText = enable; } static void android_view_ThreadedRenderer_hackySetRTAnimationsEnabled(JNIEnv*, jclass, jboolean enable) { Properties::enableRTAnimations = enable; } static void android_view_ThreadedRenderer_setDebuggingEnabled(JNIEnv*, jclass, jboolean enable) { Properties::debuggingEnabled = enable; } Loading Loading @@ -811,6 +806,11 @@ static void android_view_ThreadedRenderer_preload(JNIEnv*, jclass) { RenderProxy::preload(); } static void android_view_ThreadedRenderer_setRtAnimationsEnabled(JNIEnv* env, jobject clazz, jboolean enabled) { RenderProxy::setRtAnimationsEnabled(enabled); } // Plumbs the display density down to DeviceInfo. static void android_view_ThreadedRenderer_setDisplayDensityDpi(JNIEnv*, jclass, jint densityDpi) { // Convert from dpi to density-independent pixels. Loading Loading @@ -967,8 +967,6 @@ static const JNINativeMethod gMethods[] = { (void*)android_view_ThreadedRenderer_createHardwareBitmapFromRenderNode}, {"disableVsync", "()V", (void*)android_view_ThreadedRenderer_disableVsync}, {"nSetHighContrastText", "(Z)V", (void*)android_view_ThreadedRenderer_setHighContrastText}, {"nHackySetRTAnimationsEnabled", "(Z)V", (void*)android_view_ThreadedRenderer_hackySetRTAnimationsEnabled}, {"nSetDebuggingEnabled", "(Z)V", (void*)android_view_ThreadedRenderer_setDebuggingEnabled}, {"nSetIsolatedProcess", "(Z)V", (void*)android_view_ThreadedRenderer_setIsolatedProcess}, {"nSetContextPriority", "(I)V", (void*)android_view_ThreadedRenderer_setContextPriority}, Loading @@ -982,6 +980,8 @@ static const JNINativeMethod gMethods[] = { (void*)android_view_ThreadedRenderer_isWebViewOverlaysEnabled}, {"nSetDrawingEnabled", "(Z)V", (void*)android_view_ThreadedRenderer_setDrawingEnabled}, {"nIsDrawingEnabled", "()Z", (void*)android_view_ThreadedRenderer_isDrawingEnabled}, {"nSetRtAnimationsEnabled", "(Z)V", (void*)android_view_ThreadedRenderer_setRtAnimationsEnabled}, }; static JavaVM* mJvm = nullptr; Loading libs/hwui/renderthread/RenderProxy.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -428,6 +428,15 @@ void RenderProxy::preload() { thread.queue().post([&thread]() { thread.preload(); }); } void RenderProxy::setRtAnimationsEnabled(bool enabled) { if (RenderThread::hasInstance()) { RenderThread::getInstance().queue().post( [enabled]() { Properties::enableRTAnimations = enabled; }); } else { Properties::enableRTAnimations = enabled; } } } /* namespace renderthread */ } /* namespace uirenderer */ } /* namespace android */ libs/hwui/renderthread/RenderProxy.h +2 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,8 @@ public: static void preload(); static void setRtAnimationsEnabled(bool enabled); private: RenderThread& mRenderThread; CanvasContext* mContext; Loading Loading
graphics/java/android/graphics/HardwareRenderer.java +14 −5 Original line number Diff line number Diff line Loading @@ -984,12 +984,12 @@ public class HardwareRenderer { } /** * b/68769804: For low FPS experiments. * b/68769804, b/66945974: For low FPS experiments. * * @hide */ public static void setFPSDivisor(int divisor) { nHackySetRTAnimationsEnabled(divisor <= 1); nSetRtAnimationsEnabled(divisor <= 1); } /** Loading Loading @@ -1153,6 +1153,16 @@ public class HardwareRenderer { nSetDrawingEnabled(drawingEnabled); } /** * Disable RenderThread animations that schedule draws directly from RenderThread. This is used * when we don't want to de-schedule draw requests that come from the UI thread. * * @hide */ public static void setRtAnimationsEnabled(boolean enabled) { nSetRtAnimationsEnabled(enabled); } private static final class DestroyContextRunnable implements Runnable { private final long mNativeInstance; Loading Loading @@ -1461,9 +1471,6 @@ public class HardwareRenderer { private static native void nSetHighContrastText(boolean enabled); // For temporary experimentation b/66945974 private static native void nHackySetRTAnimationsEnabled(boolean enabled); private static native void nSetDebuggingEnabled(boolean enabled); private static native void nSetIsolatedProcess(boolean enabled); Loading @@ -1482,4 +1489,6 @@ public class HardwareRenderer { private static native void nSetDrawingEnabled(boolean drawingEnabled); private static native boolean nIsDrawingEnabled(); private static native void nSetRtAnimationsEnabled(boolean rtAnimationsEnabled); }
libs/hwui/jni/android_graphics_HardwareRenderer.cpp +7 −7 Original line number Diff line number Diff line Loading @@ -777,11 +777,6 @@ static void android_view_ThreadedRenderer_setHighContrastText(JNIEnv*, jclass, j Properties::enableHighContrastText = enable; } static void android_view_ThreadedRenderer_hackySetRTAnimationsEnabled(JNIEnv*, jclass, jboolean enable) { Properties::enableRTAnimations = enable; } static void android_view_ThreadedRenderer_setDebuggingEnabled(JNIEnv*, jclass, jboolean enable) { Properties::debuggingEnabled = enable; } Loading Loading @@ -811,6 +806,11 @@ static void android_view_ThreadedRenderer_preload(JNIEnv*, jclass) { RenderProxy::preload(); } static void android_view_ThreadedRenderer_setRtAnimationsEnabled(JNIEnv* env, jobject clazz, jboolean enabled) { RenderProxy::setRtAnimationsEnabled(enabled); } // Plumbs the display density down to DeviceInfo. static void android_view_ThreadedRenderer_setDisplayDensityDpi(JNIEnv*, jclass, jint densityDpi) { // Convert from dpi to density-independent pixels. Loading Loading @@ -967,8 +967,6 @@ static const JNINativeMethod gMethods[] = { (void*)android_view_ThreadedRenderer_createHardwareBitmapFromRenderNode}, {"disableVsync", "()V", (void*)android_view_ThreadedRenderer_disableVsync}, {"nSetHighContrastText", "(Z)V", (void*)android_view_ThreadedRenderer_setHighContrastText}, {"nHackySetRTAnimationsEnabled", "(Z)V", (void*)android_view_ThreadedRenderer_hackySetRTAnimationsEnabled}, {"nSetDebuggingEnabled", "(Z)V", (void*)android_view_ThreadedRenderer_setDebuggingEnabled}, {"nSetIsolatedProcess", "(Z)V", (void*)android_view_ThreadedRenderer_setIsolatedProcess}, {"nSetContextPriority", "(I)V", (void*)android_view_ThreadedRenderer_setContextPriority}, Loading @@ -982,6 +980,8 @@ static const JNINativeMethod gMethods[] = { (void*)android_view_ThreadedRenderer_isWebViewOverlaysEnabled}, {"nSetDrawingEnabled", "(Z)V", (void*)android_view_ThreadedRenderer_setDrawingEnabled}, {"nIsDrawingEnabled", "()Z", (void*)android_view_ThreadedRenderer_isDrawingEnabled}, {"nSetRtAnimationsEnabled", "(Z)V", (void*)android_view_ThreadedRenderer_setRtAnimationsEnabled}, }; static JavaVM* mJvm = nullptr; Loading
libs/hwui/renderthread/RenderProxy.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -428,6 +428,15 @@ void RenderProxy::preload() { thread.queue().post([&thread]() { thread.preload(); }); } void RenderProxy::setRtAnimationsEnabled(bool enabled) { if (RenderThread::hasInstance()) { RenderThread::getInstance().queue().post( [enabled]() { Properties::enableRTAnimations = enabled; }); } else { Properties::enableRTAnimations = enabled; } } } /* namespace renderthread */ } /* namespace uirenderer */ } /* namespace android */
libs/hwui/renderthread/RenderProxy.h +2 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,8 @@ public: static void preload(); static void setRtAnimationsEnabled(bool enabled); private: RenderThread& mRenderThread; CanvasContext* mContext; Loading