John McDole
14caa2fe19
Disallow time traveling frame times (flutter/engine#55310)
Address bad developer experience in
https://github.com/flutter/flutter/issues/106277
Leave as an error log and hope for more repro reports
```mermaid
sequenceDiagram
Animator ->> Animator: AwaitVSync
Animator ->> VsyncWaiter: AsyncWaitForVsync(callback)
VsyncWaiter -> VsyncWaiterAndroid: AwaitVSync
note over VsyncWaiterAndroid: GetUITaskRunner
VsyncWaiterAndroid -> Choreographer: PostFrameCallback
Choreographer -> NDK: AChoreographer_postFrameCallback64
note over Choreographer,NDK: The time that the frame is being<br/>rendered as nanoseconds in the <br/>CLOCK_MONOTONIC time base
NDK --> Choreographer: callback(nanos)
Choreographer -> VsyncWaiterAndroid: callback
note over VsyncWaiterAndroid: // Rollback suspicion<br/>if (frame_time > now) frame_time = now;
VsyncWaiterAndroid -> VsyncWaiterAndroid: OnVsyncFromNDK(frame_nanos)
VsyncWaiterAndroid -> VsyncWaiter: FireCallback(\n frame_start_time,\n target_time)
VsyncWaiter -> Animator: callback(frame_timings_recorder)
Animator -> Animator: BeginFrame(frame_timings_recorder)
Animator -> Shell: OnAnimatorBeginFrame
Shell -> Engine: BeginFrame(frame_time, frame_number)
Engine -> RuntimeController: BeginFrame(frame_time, frame_number)
RuntimeController -> PlatformConfiguration: BeginFrame(frame_time, frame_number)
PlatformConfiguration -> hooks.dart: begin_frame_
```
2024-09-24 15:33:45 -07:00
..
2024-05-16 22:01:38 +00:00
2024-08-09 22:59:58 +00:00
2024-08-09 22:59:58 +00:00
2024-05-16 22:01:38 +00:00
2023-12-15 04:11:06 +00:00
2024-03-07 01:19:17 +00:00
2023-10-26 21:10:04 +00:00
2023-09-20 19:52:03 +00:00
2023-03-08 03:25:08 +00:00
2024-08-09 22:59:58 +00:00
2023-09-14 18:37:49 +00:00
2024-05-01 19:54:13 +00:00
2024-08-09 20:01:28 +00:00
2023-12-15 04:11:06 +00:00
2023-06-02 19:58:43 +00:00
2023-06-27 18:08:49 +00:00
2023-06-02 19:58:43 +00:00
2024-08-21 16:31:55 +00:00
2024-08-21 16:31:55 +00:00
2024-08-21 16:31:55 +00:00
2023-09-20 19:52:03 +00:00
2023-10-26 21:10:04 +00:00
2024-09-09 23:55:14 +00:00
2024-02-07 21:29:12 +00:00
2024-01-29 22:26:47 -06:00
2023-09-20 13:24:01 -07:00
2024-02-07 21:29:12 +00:00
2024-02-07 21:29:12 +00:00
2023-09-20 13:24:01 -07:00
2024-09-24 15:33:45 -07:00
2023-09-20 19:52:03 +00:00
2023-09-20 19:52:03 +00:00
2023-11-09 23:54:01 +00:00
2024-02-21 09:38:08 -08:00
2024-02-21 09:38:08 -08:00
2024-02-04 03:04:07 +00:00
2024-08-09 22:59:58 +00:00
2023-10-10 13:11:51 -07:00
2024-02-04 03:04:07 +00:00
2024-03-04 20:17:07 +00:00
2023-07-13 22:17:21 +00:00
2023-12-15 04:11:06 +00:00
2023-07-13 22:17:21 +00:00
2023-11-16 00:09:24 +00:00
2024-04-23 11:05:46 -07:00
2023-12-15 04:11:06 +00:00
2024-01-31 04:41:28 +00:00
2024-01-31 04:41:28 +00:00
2024-01-31 04:41:28 +00:00
2024-01-16 17:02:34 +00:00
2024-01-16 17:02:34 +00:00
2024-01-08 10:31:02 +01:00
2023-08-02 16:09:31 -04:00
2023-08-02 16:09:31 -04:00
2024-08-03 01:47:49 +00:00