diff options
author | John Reck <jreck@google.com> | 2015-02-19 14:36:50 -0800 |
---|---|---|
committer | John Reck <jreck@google.com> | 2015-02-20 08:27:38 -0800 |
commit | ba6adf66d3c44c0aa2fd8a224862ff1901d64300 (patch) | |
tree | 8172a893f00caa283cf0386dd3d585ca8fac867c /core/jni/android_view_Surface.cpp | |
parent | 004a46eb171bc86a3d40eb8fc6a4d9eed48027c7 (diff) | |
download | frameworks_base-ba6adf66d3c44c0aa2fd8a224862ff1901d64300.zip frameworks_base-ba6adf66d3c44c0aa2fd8a224862ff1901d64300.tar.gz frameworks_base-ba6adf66d3c44c0aa2fd8a224862ff1901d64300.tar.bz2 |
Initial attempt at jank-tracking stat collection
Is a bit naive, perhaps overly aggressive, but sorta works
Change-Id: I01a774e00dbe681439c02557d9728ae43c45ce50
Diffstat (limited to 'core/jni/android_view_Surface.cpp')
-rw-r--r-- | core/jni/android_view_Surface.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/core/jni/android_view_Surface.cpp b/core/jni/android_view_Surface.cpp index 7f6c50f..bfa0534 100644 --- a/core/jni/android_view_Surface.cpp +++ b/core/jni/android_view_Surface.cpp @@ -49,6 +49,7 @@ #include <AnimationContext.h> #include <DisplayListRenderer.h> +#include <FrameInfo.h> #include <RenderNode.h> #include <renderthread/RenderProxy.h> @@ -394,7 +395,7 @@ static jlong create(JNIEnv* env, jclass clazz, jlong rootNodePtr, jlong surfaceP proxy->initialize(surface); // Shadows can't be used via this interface, so just set the light source // to all 0s. (and width & height are unused, TODO remove them) - proxy->setup(0, 0, (Vector3){0, 0, 0}, 0, 0, 0); + proxy->setup(0, 0, (Vector3){0, 0, 0}, 0, 0, 0, 1.0f); return (jlong) proxy; } @@ -406,8 +407,11 @@ static void setSurface(JNIEnv* env, jclass clazz, jlong rendererPtr, jlong surfa static void draw(JNIEnv* env, jclass clazz, jlong rendererPtr) { RenderProxy* proxy = reinterpret_cast<RenderProxy*>(rendererPtr); - nsecs_t frameTimeNs = systemTime(CLOCK_MONOTONIC); - proxy->syncAndDrawFrame(frameTimeNs, 0, 1.0f); + nsecs_t vsync = systemTime(CLOCK_MONOTONIC); + UiFrameInfoBuilder(proxy->frameInfo()) + .setVsync(vsync, vsync) + .addFlag(FrameInfoFlags::kSurfaceCanvas); + proxy->syncAndDrawFrame(); } static void destroy(JNIEnv* env, jclass clazz, jlong rendererPtr) { |