20 auto vsyncCallback = ^(CFTimeInterval startTime, CFTimeInterval targetTime) {
21
22 CFTimeInterval delay = CACurrentMediaTime() - startTime;
23 if (delay < 0.0) {
24 delay = 0.0;
25 }
26
27
29
30
31 CFTimeInterval duration =
33
34
37 };
41 initWithTaskRunner:uiTaskRunner
46}
fml::RefPtr< fml::TaskRunner > GetUITaskRunner() const
VsyncWaiter(const TaskRunners &task_runners)
void FireCallback(fml::TimePoint frame_start_time, fml::TimePoint frame_target_time, bool pause_secondary_tasks=true)
const TaskRunners task_runners_
static CFTimeInterval SnapDuration(CFTimeInterval duration, double max_refresh_rate)
static constexpr TimeDelta FromSecondsF(double seconds)
FlutterDesktopBinaryReply callback
A manager type that queries display characteristics, such as high refresh rate capabilities.
BOOL maxRefreshRateEnabledOnIPhone
Whether the max refresh rate on iPhone ProMotion devices are enabled. This reflects the value of CADi...
double displayRefreshRate
The maximum display refresh rate used for reporting purposes. This is intended to return either the h...
A client that wraps a CADisplayLink to deliver synchronized vsync signals.