Loading core/java/android/view/FrameMetrics.java +21 −17 Original line number Diff line number Diff line Loading @@ -213,8 +213,7 @@ public final class FrameMetrics { Index.FRAME_TIMELINE_VSYNC_ID, Index.INTENDED_VSYNC, Index.VSYNC, Index.OLDEST_INPUT_EVENT, Index.NEWEST_INPUT_EVENT, Index.INPUT_EVENT_ID, Index.HANDLE_INPUT_START, Index.ANIMATION_START, Index.PERFORM_TRAVERSALS_START, Loading @@ -225,8 +224,11 @@ public final class FrameMetrics { Index.ISSUE_DRAW_COMMANDS_START, Index.SWAP_BUFFERS, Index.FRAME_COMPLETED, Index.DEQUEUE_BUFFER_DURATION, Index.QUEUE_BUFFER_DURATION, Index.GPU_COMPLETED, Index.SWAP_BUFFERS_COMPLETED Index.SWAP_BUFFERS_COMPLETED, Index.DISPLAY_PRESENT_TIME, }) @Retention(RetentionPolicy.SOURCE) public @interface Index { Loading @@ -234,20 +236,22 @@ public final class FrameMetrics { int FRAME_TIMELINE_VSYNC_ID = 1; int INTENDED_VSYNC = 2; int VSYNC = 3; int OLDEST_INPUT_EVENT = 4; int NEWEST_INPUT_EVENT = 5; int HANDLE_INPUT_START = 6; int ANIMATION_START = 7; int PERFORM_TRAVERSALS_START = 8; int DRAW_START = 9; int FRAME_DEADLINE = 10; int SYNC_QUEUED = 11; int SYNC_START = 12; int ISSUE_DRAW_COMMANDS_START = 13; int SWAP_BUFFERS = 14; int FRAME_COMPLETED = 15; int GPU_COMPLETED = 18; int SWAP_BUFFERS_COMPLETED = 19; int INPUT_EVENT_ID = 4; int HANDLE_INPUT_START = 5; int ANIMATION_START = 6; int PERFORM_TRAVERSALS_START = 7; int DRAW_START = 8; int FRAME_DEADLINE = 9; int SYNC_QUEUED = 10; int SYNC_START = 11; int ISSUE_DRAW_COMMANDS_START = 12; int SWAP_BUFFERS = 13; int FRAME_COMPLETED = 14; int DEQUEUE_BUFFER_DURATION = 15; int QUEUE_BUFFER_DURATION = 16; int GPU_COMPLETED = 17; int SWAP_BUFFERS_COMPLETED = 18; int DISPLAY_PRESENT_TIME = 19; int FRAME_STATS_COUNT = 20; // must always be last and in sync with // FrameInfoIndex::NumIndexes in libs/hwui/FrameInfo.h Loading core/java/android/view/ViewFrameInfo.java +2 −2 Original line number Diff line number Diff line Loading @@ -58,8 +58,8 @@ public class ViewFrameInfo { public void populateFrameInfo(FrameInfo frameInfo) { frameInfo.frameInfo[FrameInfo.FLAGS] |= flags; frameInfo.frameInfo[FrameInfo.DRAW_START] = drawStart; frameInfo.frameInfo[FrameInfo.OLDEST_INPUT_EVENT] = oldestInputEventTime; frameInfo.frameInfo[FrameInfo.NEWEST_INPUT_EVENT] = newestInputEventTime; // TODO(b/169866723): Use InputEventAssigner frameInfo.frameInfo[FrameInfo.INPUT_EVENT_ID] = newestInputEventTime; } /** Loading graphics/java/android/graphics/FrameInfo.java +8 −10 Original line number Diff line number Diff line Loading @@ -69,28 +69,26 @@ public final class FrameInfo { // animation & drawing system public static final int VSYNC = 3; // The time of the oldest input event public static final int OLDEST_INPUT_EVENT = 4; // The time of the newest input event public static final int NEWEST_INPUT_EVENT = 5; // The id of the input event that caused the current frame public static final int INPUT_EVENT_ID = 4; // When input event handling started public static final int HANDLE_INPUT_START = 6; public static final int HANDLE_INPUT_START = 5; // When animation evaluations started public static final int ANIMATION_START = 7; public static final int ANIMATION_START = 6; // When ViewRootImpl#performTraversals() started public static final int PERFORM_TRAVERSALS_START = 8; public static final int PERFORM_TRAVERSALS_START = 7; // When View:draw() started public static final int DRAW_START = 9; public static final int DRAW_START = 8; // When the frame needs to be ready by public static final int FRAME_DEADLINE = 10; public static final int FRAME_DEADLINE = 9; // Must be the last one // This value must be in sync with `UI_THREAD_FRAME_INFO_SIZE` in FrameInfo.h private static final int FRAME_INFO_SIZE = FRAME_DEADLINE + 1; /** checkstyle */ Loading libs/hwui/FrameInfo.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -20,13 +20,12 @@ namespace android { namespace uirenderer { const std::array<std::string, static_cast<int>(FrameInfoIndex::NumIndexes)> FrameInfoNames = { const std::array FrameInfoNames{ "Flags", "FrameTimelineVsyncId", "IntendedVsync", "Vsync", "OldestInputEvent", "NewestInputEvent", "InputEventId", "HandleInputStart", "AnimationStart", "PerformTraversalsStart", Loading @@ -40,7 +39,8 @@ const std::array<std::string, static_cast<int>(FrameInfoIndex::NumIndexes)> Fram "DequeueBufferDuration", "QueueBufferDuration", "GpuCompleted", "SwapBuffersCompleted" "SwapBuffersCompleted", "DisplayPresentTime", }; static_assert(static_cast<int>(FrameInfoIndex::NumIndexes) == 20, Loading libs/hwui/FrameInfo.h +4 −4 Original line number Diff line number Diff line Loading @@ -28,15 +28,14 @@ namespace android { namespace uirenderer { #define UI_THREAD_FRAME_INFO_SIZE 11 static constexpr size_t UI_THREAD_FRAME_INFO_SIZE = 10; enum class FrameInfoIndex { Flags = 0, FrameTimelineVsyncId, IntendedVsync, Vsync, OldestInputEvent, NewestInputEvent, InputEventId, HandleInputStart, AnimationStart, PerformTraversalsStart, Loading @@ -56,13 +55,14 @@ enum class FrameInfoIndex { GpuCompleted, SwapBuffersCompleted, DisplayPresentTime, // Must be the last value! // Also must be kept in sync with FrameMetrics.java#FRAME_STATS_COUNT NumIndexes }; extern const std::array<std::string, static_cast<int>(FrameInfoIndex::NumIndexes)> FrameInfoNames; extern const std::array<const char*, static_cast<int>(FrameInfoIndex::NumIndexes)> FrameInfoNames; namespace FrameInfoFlags { enum { Loading Loading
core/java/android/view/FrameMetrics.java +21 −17 Original line number Diff line number Diff line Loading @@ -213,8 +213,7 @@ public final class FrameMetrics { Index.FRAME_TIMELINE_VSYNC_ID, Index.INTENDED_VSYNC, Index.VSYNC, Index.OLDEST_INPUT_EVENT, Index.NEWEST_INPUT_EVENT, Index.INPUT_EVENT_ID, Index.HANDLE_INPUT_START, Index.ANIMATION_START, Index.PERFORM_TRAVERSALS_START, Loading @@ -225,8 +224,11 @@ public final class FrameMetrics { Index.ISSUE_DRAW_COMMANDS_START, Index.SWAP_BUFFERS, Index.FRAME_COMPLETED, Index.DEQUEUE_BUFFER_DURATION, Index.QUEUE_BUFFER_DURATION, Index.GPU_COMPLETED, Index.SWAP_BUFFERS_COMPLETED Index.SWAP_BUFFERS_COMPLETED, Index.DISPLAY_PRESENT_TIME, }) @Retention(RetentionPolicy.SOURCE) public @interface Index { Loading @@ -234,20 +236,22 @@ public final class FrameMetrics { int FRAME_TIMELINE_VSYNC_ID = 1; int INTENDED_VSYNC = 2; int VSYNC = 3; int OLDEST_INPUT_EVENT = 4; int NEWEST_INPUT_EVENT = 5; int HANDLE_INPUT_START = 6; int ANIMATION_START = 7; int PERFORM_TRAVERSALS_START = 8; int DRAW_START = 9; int FRAME_DEADLINE = 10; int SYNC_QUEUED = 11; int SYNC_START = 12; int ISSUE_DRAW_COMMANDS_START = 13; int SWAP_BUFFERS = 14; int FRAME_COMPLETED = 15; int GPU_COMPLETED = 18; int SWAP_BUFFERS_COMPLETED = 19; int INPUT_EVENT_ID = 4; int HANDLE_INPUT_START = 5; int ANIMATION_START = 6; int PERFORM_TRAVERSALS_START = 7; int DRAW_START = 8; int FRAME_DEADLINE = 9; int SYNC_QUEUED = 10; int SYNC_START = 11; int ISSUE_DRAW_COMMANDS_START = 12; int SWAP_BUFFERS = 13; int FRAME_COMPLETED = 14; int DEQUEUE_BUFFER_DURATION = 15; int QUEUE_BUFFER_DURATION = 16; int GPU_COMPLETED = 17; int SWAP_BUFFERS_COMPLETED = 18; int DISPLAY_PRESENT_TIME = 19; int FRAME_STATS_COUNT = 20; // must always be last and in sync with // FrameInfoIndex::NumIndexes in libs/hwui/FrameInfo.h Loading
core/java/android/view/ViewFrameInfo.java +2 −2 Original line number Diff line number Diff line Loading @@ -58,8 +58,8 @@ public class ViewFrameInfo { public void populateFrameInfo(FrameInfo frameInfo) { frameInfo.frameInfo[FrameInfo.FLAGS] |= flags; frameInfo.frameInfo[FrameInfo.DRAW_START] = drawStart; frameInfo.frameInfo[FrameInfo.OLDEST_INPUT_EVENT] = oldestInputEventTime; frameInfo.frameInfo[FrameInfo.NEWEST_INPUT_EVENT] = newestInputEventTime; // TODO(b/169866723): Use InputEventAssigner frameInfo.frameInfo[FrameInfo.INPUT_EVENT_ID] = newestInputEventTime; } /** Loading
graphics/java/android/graphics/FrameInfo.java +8 −10 Original line number Diff line number Diff line Loading @@ -69,28 +69,26 @@ public final class FrameInfo { // animation & drawing system public static final int VSYNC = 3; // The time of the oldest input event public static final int OLDEST_INPUT_EVENT = 4; // The time of the newest input event public static final int NEWEST_INPUT_EVENT = 5; // The id of the input event that caused the current frame public static final int INPUT_EVENT_ID = 4; // When input event handling started public static final int HANDLE_INPUT_START = 6; public static final int HANDLE_INPUT_START = 5; // When animation evaluations started public static final int ANIMATION_START = 7; public static final int ANIMATION_START = 6; // When ViewRootImpl#performTraversals() started public static final int PERFORM_TRAVERSALS_START = 8; public static final int PERFORM_TRAVERSALS_START = 7; // When View:draw() started public static final int DRAW_START = 9; public static final int DRAW_START = 8; // When the frame needs to be ready by public static final int FRAME_DEADLINE = 10; public static final int FRAME_DEADLINE = 9; // Must be the last one // This value must be in sync with `UI_THREAD_FRAME_INFO_SIZE` in FrameInfo.h private static final int FRAME_INFO_SIZE = FRAME_DEADLINE + 1; /** checkstyle */ Loading
libs/hwui/FrameInfo.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -20,13 +20,12 @@ namespace android { namespace uirenderer { const std::array<std::string, static_cast<int>(FrameInfoIndex::NumIndexes)> FrameInfoNames = { const std::array FrameInfoNames{ "Flags", "FrameTimelineVsyncId", "IntendedVsync", "Vsync", "OldestInputEvent", "NewestInputEvent", "InputEventId", "HandleInputStart", "AnimationStart", "PerformTraversalsStart", Loading @@ -40,7 +39,8 @@ const std::array<std::string, static_cast<int>(FrameInfoIndex::NumIndexes)> Fram "DequeueBufferDuration", "QueueBufferDuration", "GpuCompleted", "SwapBuffersCompleted" "SwapBuffersCompleted", "DisplayPresentTime", }; static_assert(static_cast<int>(FrameInfoIndex::NumIndexes) == 20, Loading
libs/hwui/FrameInfo.h +4 −4 Original line number Diff line number Diff line Loading @@ -28,15 +28,14 @@ namespace android { namespace uirenderer { #define UI_THREAD_FRAME_INFO_SIZE 11 static constexpr size_t UI_THREAD_FRAME_INFO_SIZE = 10; enum class FrameInfoIndex { Flags = 0, FrameTimelineVsyncId, IntendedVsync, Vsync, OldestInputEvent, NewestInputEvent, InputEventId, HandleInputStart, AnimationStart, PerformTraversalsStart, Loading @@ -56,13 +55,14 @@ enum class FrameInfoIndex { GpuCompleted, SwapBuffersCompleted, DisplayPresentTime, // Must be the last value! // Also must be kept in sync with FrameMetrics.java#FRAME_STATS_COUNT NumIndexes }; extern const std::array<std::string, static_cast<int>(FrameInfoIndex::NumIndexes)> FrameInfoNames; extern const std::array<const char*, static_cast<int>(FrameInfoIndex::NumIndexes)> FrameInfoNames; namespace FrameInfoFlags { enum { Loading