Merge "Add call to disable RT Animations" into tm-dev
This commit is contained in:
commit
c1f9e4c0b9
@ -984,12 +984,12 @@ public class HardwareRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* b/68769804: For low FPS experiments.
|
* b/68769804, b/66945974: For low FPS experiments.
|
||||||
*
|
*
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
public static void setFPSDivisor(int divisor) {
|
public static void setFPSDivisor(int divisor) {
|
||||||
nHackySetRTAnimationsEnabled(divisor <= 1);
|
nSetRtAnimationsEnabled(divisor <= 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1153,6 +1153,16 @@ public class HardwareRenderer {
|
|||||||
nSetDrawingEnabled(drawingEnabled);
|
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 static final class DestroyContextRunnable implements Runnable {
|
||||||
private final long mNativeInstance;
|
private final long mNativeInstance;
|
||||||
|
|
||||||
@ -1461,9 +1471,6 @@ public class HardwareRenderer {
|
|||||||
|
|
||||||
private static native void nSetHighContrastText(boolean enabled);
|
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 nSetDebuggingEnabled(boolean enabled);
|
||||||
|
|
||||||
private static native void nSetIsolatedProcess(boolean enabled);
|
private static native void nSetIsolatedProcess(boolean enabled);
|
||||||
@ -1482,4 +1489,6 @@ public class HardwareRenderer {
|
|||||||
private static native void nSetDrawingEnabled(boolean drawingEnabled);
|
private static native void nSetDrawingEnabled(boolean drawingEnabled);
|
||||||
|
|
||||||
private static native boolean nIsDrawingEnabled();
|
private static native boolean nIsDrawingEnabled();
|
||||||
|
|
||||||
|
private static native void nSetRtAnimationsEnabled(boolean rtAnimationsEnabled);
|
||||||
}
|
}
|
||||||
|
@ -777,11 +777,6 @@ static void android_view_ThreadedRenderer_setHighContrastText(JNIEnv*, jclass, j
|
|||||||
Properties::enableHighContrastText = enable;
|
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) {
|
static void android_view_ThreadedRenderer_setDebuggingEnabled(JNIEnv*, jclass, jboolean enable) {
|
||||||
Properties::debuggingEnabled = enable;
|
Properties::debuggingEnabled = enable;
|
||||||
}
|
}
|
||||||
@ -811,6 +806,11 @@ static void android_view_ThreadedRenderer_preload(JNIEnv*, jclass) {
|
|||||||
RenderProxy::preload();
|
RenderProxy::preload();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void android_view_ThreadedRenderer_setRtAnimationsEnabled(JNIEnv* env, jobject clazz,
|
||||||
|
jboolean enabled) {
|
||||||
|
RenderProxy::setRtAnimationsEnabled(enabled);
|
||||||
|
}
|
||||||
|
|
||||||
// Plumbs the display density down to DeviceInfo.
|
// Plumbs the display density down to DeviceInfo.
|
||||||
static void android_view_ThreadedRenderer_setDisplayDensityDpi(JNIEnv*, jclass, jint densityDpi) {
|
static void android_view_ThreadedRenderer_setDisplayDensityDpi(JNIEnv*, jclass, jint densityDpi) {
|
||||||
// Convert from dpi to density-independent pixels.
|
// Convert from dpi to density-independent pixels.
|
||||||
@ -967,8 +967,6 @@ static const JNINativeMethod gMethods[] = {
|
|||||||
(void*)android_view_ThreadedRenderer_createHardwareBitmapFromRenderNode},
|
(void*)android_view_ThreadedRenderer_createHardwareBitmapFromRenderNode},
|
||||||
{"disableVsync", "()V", (void*)android_view_ThreadedRenderer_disableVsync},
|
{"disableVsync", "()V", (void*)android_view_ThreadedRenderer_disableVsync},
|
||||||
{"nSetHighContrastText", "(Z)V", (void*)android_view_ThreadedRenderer_setHighContrastText},
|
{"nSetHighContrastText", "(Z)V", (void*)android_view_ThreadedRenderer_setHighContrastText},
|
||||||
{"nHackySetRTAnimationsEnabled", "(Z)V",
|
|
||||||
(void*)android_view_ThreadedRenderer_hackySetRTAnimationsEnabled},
|
|
||||||
{"nSetDebuggingEnabled", "(Z)V", (void*)android_view_ThreadedRenderer_setDebuggingEnabled},
|
{"nSetDebuggingEnabled", "(Z)V", (void*)android_view_ThreadedRenderer_setDebuggingEnabled},
|
||||||
{"nSetIsolatedProcess", "(Z)V", (void*)android_view_ThreadedRenderer_setIsolatedProcess},
|
{"nSetIsolatedProcess", "(Z)V", (void*)android_view_ThreadedRenderer_setIsolatedProcess},
|
||||||
{"nSetContextPriority", "(I)V", (void*)android_view_ThreadedRenderer_setContextPriority},
|
{"nSetContextPriority", "(I)V", (void*)android_view_ThreadedRenderer_setContextPriority},
|
||||||
@ -982,6 +980,8 @@ static const JNINativeMethod gMethods[] = {
|
|||||||
(void*)android_view_ThreadedRenderer_isWebViewOverlaysEnabled},
|
(void*)android_view_ThreadedRenderer_isWebViewOverlaysEnabled},
|
||||||
{"nSetDrawingEnabled", "(Z)V", (void*)android_view_ThreadedRenderer_setDrawingEnabled},
|
{"nSetDrawingEnabled", "(Z)V", (void*)android_view_ThreadedRenderer_setDrawingEnabled},
|
||||||
{"nIsDrawingEnabled", "()Z", (void*)android_view_ThreadedRenderer_isDrawingEnabled},
|
{"nIsDrawingEnabled", "()Z", (void*)android_view_ThreadedRenderer_isDrawingEnabled},
|
||||||
|
{"nSetRtAnimationsEnabled", "(Z)V",
|
||||||
|
(void*)android_view_ThreadedRenderer_setRtAnimationsEnabled},
|
||||||
};
|
};
|
||||||
|
|
||||||
static JavaVM* mJvm = nullptr;
|
static JavaVM* mJvm = nullptr;
|
||||||
|
@ -428,6 +428,15 @@ void RenderProxy::preload() {
|
|||||||
thread.queue().post([&thread]() { thread.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 renderthread */
|
||||||
} /* namespace uirenderer */
|
} /* namespace uirenderer */
|
||||||
} /* namespace android */
|
} /* namespace android */
|
||||||
|
@ -144,6 +144,8 @@ public:
|
|||||||
|
|
||||||
static void preload();
|
static void preload();
|
||||||
|
|
||||||
|
static void setRtAnimationsEnabled(bool enabled);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
RenderThread& mRenderThread;
|
RenderThread& mRenderThread;
|
||||||
CanvasContext* mContext;
|
CanvasContext* mContext;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user