Merge "Add check for empty vsync data in Choreographer." into tm-dev am: c2c8ac85ea
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17920025 Change-Id: I3f6bb09bad2a3d6afb1e5d7ebb24b1dc9e9212dd Ignore-AOSP-First: this is an automerge Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -765,18 +765,24 @@ public final class Choreographer {
|
|||||||
startNanos = System.nanoTime();
|
startNanos = System.nanoTime();
|
||||||
final long jitterNanos = startNanos - frameTimeNanos;
|
final long jitterNanos = startNanos - frameTimeNanos;
|
||||||
if (jitterNanos >= frameIntervalNanos) {
|
if (jitterNanos >= frameIntervalNanos) {
|
||||||
final long skippedFrames = jitterNanos / frameIntervalNanos;
|
|
||||||
if (skippedFrames >= SKIPPED_FRAME_WARNING_LIMIT) {
|
|
||||||
Log.i(TAG, "Skipped " + skippedFrames + " frames! "
|
|
||||||
+ "The application may be doing too much work on its main thread.");
|
|
||||||
}
|
|
||||||
final long lastFrameOffset = jitterNanos % frameIntervalNanos;
|
final long lastFrameOffset = jitterNanos % frameIntervalNanos;
|
||||||
if (DEBUG_JANK) {
|
if (frameIntervalNanos == 0) {
|
||||||
Log.d(TAG, "Missed vsync by " + (jitterNanos * 0.000001f) + " ms "
|
Log.i(TAG, "Vsync data empty due to timeout");
|
||||||
+ "which is more than the frame interval of "
|
} else {
|
||||||
+ (frameIntervalNanos * 0.000001f) + " ms! "
|
final long skippedFrames = jitterNanos / frameIntervalNanos;
|
||||||
+ "Skipping " + skippedFrames + " frames and setting frame "
|
if (skippedFrames >= SKIPPED_FRAME_WARNING_LIMIT) {
|
||||||
+ "time to " + (lastFrameOffset * 0.000001f) + " ms in the past.");
|
Log.i(TAG, "Skipped " + skippedFrames + " frames! "
|
||||||
|
+ "The application may be doing too much work on its main "
|
||||||
|
+ "thread.");
|
||||||
|
}
|
||||||
|
if (DEBUG_JANK) {
|
||||||
|
Log.d(TAG, "Missed vsync by " + (jitterNanos * 0.000001f) + " ms "
|
||||||
|
+ "which is more than the frame interval of "
|
||||||
|
+ (frameIntervalNanos * 0.000001f) + " ms! "
|
||||||
|
+ "Skipping " + skippedFrames + " frames and setting frame "
|
||||||
|
+ "time to " + (lastFrameOffset * 0.000001f)
|
||||||
|
+ " ms in the past.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
frameTimeNanos = startNanos - lastFrameOffset;
|
frameTimeNanos = startNanos - lastFrameOffset;
|
||||||
DisplayEventReceiver.VsyncEventData latestVsyncEventData =
|
DisplayEventReceiver.VsyncEventData latestVsyncEventData =
|
||||||
|
|||||||
Reference in New Issue
Block a user