#include <vsync_waiter_ios.h>
|
| static CFTimeInterval | SnapDuration (CFTimeInterval duration, double max_refresh_rate) |
| |
Definition at line 18 of file vsync_waiter_ios.h.
◆ VsyncWaiterIOS()
| flutter::VsyncWaiterIOS::VsyncWaiterIOS |
( |
const flutter::TaskRunners & |
task_runners | ) |
|
|
explicit |
Definition at line 18 of file vsync_waiter_ios.mm.
19 : VsyncWaiter(task_runners) {
20 auto vsyncCallback = ^(CFTimeInterval startTime, CFTimeInterval targetTime) {
22 CFTimeInterval delay = CACurrentMediaTime() - startTime;
28 fml::TimePoint start_time = fml::TimePoint::Now() - fml::TimeDelta::FromSecondsF(delay);
31 CFTimeInterval duration =
35 fml::TimePoint target_time = start_time + fml::TimeDelta::FromSecondsF(duration);
36 FireCallback(start_time, target_time,
true);
40 client_ = [[FlutterVSyncClient alloc]
41 initWithTaskRunner:uiTaskRunner
42 isVariableRefreshRateEnabled:FlutterDisplayLinkManager.maxRefreshRateEnabledOnIPhone
43 maxRefreshRate:FlutterDisplayLinkManager.displayRefreshRate
44 callback:vsyncCallback];
45 max_refresh_rate_ = FlutterDisplayLinkManager.displayRefreshRate;
static CFTimeInterval SnapDuration(CFTimeInterval duration, double max_refresh_rate)
References SnapDuration().
◆ ~VsyncWaiterIOS()
| flutter::VsyncWaiterIOS::~VsyncWaiterIOS |
( |
| ) |
|
|
override |
◆ GetRefreshRate()
| double flutter::VsyncWaiterIOS::GetRefreshRate |
( |
| ) |
const |
|
override |
◆ SnapDuration()
| CFTimeInterval flutter::VsyncWaiterIOS::SnapDuration |
( |
CFTimeInterval |
duration, |
|
|
double |
max_refresh_rate |
|
) |
| |
|
static |
Definition at line 68 of file vsync_waiter_ios.mm.
70 double roundedRefreshRate = round(1.0 / duration);
71 return 1.0 / roundedRefreshRate;
73 double fallbackRefreshRate = max_refresh_rate > 0.0 ? max_refresh_rate : 60.0;
74 return 1.0 / fallbackRefreshRate;
Referenced by VsyncWaiterIOS().
The documentation for this class was generated from the following files: