19 FlutterDisplayLinkManager* display_link_manager)
20 :
VsyncWaiter(task_runners), display_link_manager_(display_link_manager) {
22 auto vsyncCallback = ^(CFTimeInterval startTime, CFTimeInterval targetTime) {
24 CFTimeInterval delay = CACurrentMediaTime() - startTime;
33 CFTimeInterval duration =
42 client_ = [[FlutterVSyncClient alloc]
43 initWithTaskRunner:uiTaskRunner
44 isVariableRefreshRateEnabled:display_link_manager_.maxRefreshRateEnabledOnIPhone
45 maxRefreshRate:display_link_manager_.displayRefreshRate
47 max_refresh_rate_ = display_link_manager_.displayRefreshRate;
72 double roundedRefreshRate = round(1.0 / duration);
73 return 1.0 / roundedRefreshRate;
75 double fallbackRefreshRate = max_refresh_rate > 0.0 ? max_refresh_rate : 60.0;
76 return 1.0 / fallbackRefreshRate;