This repository was archived by the owner on Feb 25, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +10
-28
lines changed
shell/platform/darwin/ios/framework/Source Expand file tree Collapse file tree 3 files changed +10
-28
lines changed Original file line number Diff line number Diff line change @@ -635,7 +635,7 @@ - (BOOL)createShell:(NSString*)entrypoint
635635}
636636
637637- (void )initializeDisplays {
638- double refresh_rate = [[[ DisplayLinkManager alloc ] init ] displayRefreshRate ];
638+ double refresh_rate = [DisplayLinkManager displayRefreshRate ];
639639 auto display = flutter::Display (refresh_rate);
640640 _shell->OnDisplayUpdates (flutter::DisplayUpdateType::kStartup , {display});
641641}
Original file line number Diff line number Diff line change 1212
1313@interface DisplayLinkManager : NSObject
1414
15- - (instancetype )init ;
16-
1715// ------------------------------------------------------------------------------
1816// / @brief The display refresh rate used for reporting purposes. The engine does not care
1917// / about this for frame scheduling. It is only used by tools for instrumentation. The
2321// /
2422// / @return The refresh rate in frames per second.
2523// /
26- - (double )displayRefreshRate ;
24+ + (double )displayRefreshRate ;
2725
2826@end
2927
Original file line number Diff line number Diff line change @@ -91,26 +91,16 @@ - (void)dealloc {
9191
9292@end
9393
94- @implementation DisplayLinkManager {
95- fml::scoped_nsobject<CADisplayLink > display_link_;
96- }
97-
98- - (instancetype )init {
99- self = [super init ];
100-
101- if (self) {
102- display_link_ = fml::scoped_nsobject<CADisplayLink > {
103- [[CADisplayLink displayLinkWithTarget: self selector: @selector (onDisplayLink: )] retain ]
104- };
105- display_link_.get ().paused = YES ;
106- }
94+ @implementation DisplayLinkManager
10795
108- return self;
109- }
110-
111- - (double )displayRefreshRate {
96+ + (double )displayRefreshRate {
11297 if (@available (iOS 10.3 , *)) {
113- auto preferredFPS = display_link_.get ().preferredFramesPerSecond ; // iOS 10.0
98+ fml::scoped_nsobject<CADisplayLink > display_link = fml::scoped_nsobject<CADisplayLink > {
99+ [[CADisplayLink displayLinkWithTarget: [[DisplayLinkManager new ] autorelease ]
100+ selector: @selector (onDisplayLink: )] retain ]
101+ };
102+ display_link.get ().paused = YES ;
103+ auto preferredFPS = display_link.get ().preferredFramesPerSecond ; // iOS 10.0
114104
115105 // From Docs:
116106 // The default value for preferredFramesPerSecond is 0. When this value is 0, the preferred
@@ -131,10 +121,4 @@ - (void)onDisplayLink:(CADisplayLink*)link {
131121 // no-op.
132122}
133123
134- - (void )dealloc {
135- [display_link_.get () invalidate ];
136-
137- [super dealloc ];
138- }
139-
140124@end
You can’t perform that action at this time.
0 commit comments