|
@@ -30,6 +30,7 @@
|
|
|
|
|
|
#import "godot_view.h"
|
|
#import "godot_view.h"
|
|
|
|
|
|
|
|
+#include "core/config/project_settings.h"
|
|
#include "core/os/keyboard.h"
|
|
#include "core/os/keyboard.h"
|
|
#include "core/string/ustring.h"
|
|
#include "core/string/ustring.h"
|
|
#import "display_layer.h"
|
|
#import "display_layer.h"
|
|
@@ -205,16 +206,16 @@ static const float earth_gravity = 9.80665;
|
|
if (self.useCADisplayLink) {
|
|
if (self.useCADisplayLink) {
|
|
self.displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(drawView)];
|
|
self.displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(drawView)];
|
|
|
|
|
|
- // Approximate frame rate
|
|
|
|
- // assumes device refreshes at 60 fps
|
|
|
|
- int displayFPS = (NSInteger)(1.0 / self.renderingInterval);
|
|
|
|
-
|
|
|
|
- self.displayLink.preferredFramesPerSecond = displayFPS;
|
|
|
|
|
|
+ if (GLOBAL_GET("display/window/ios/allow_high_refresh_rate")) {
|
|
|
|
+ self.displayLink.preferredFramesPerSecond = 120;
|
|
|
|
+ } else {
|
|
|
|
+ self.displayLink.preferredFramesPerSecond = 60;
|
|
|
|
+ }
|
|
|
|
|
|
// Setup DisplayLink in main thread
|
|
// Setup DisplayLink in main thread
|
|
[self.displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
|
|
[self.displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
|
|
} else {
|
|
} else {
|
|
- self.animationTimer = [NSTimer scheduledTimerWithTimeInterval:self.renderingInterval target:self selector:@selector(drawView) userInfo:nil repeats:YES];
|
|
|
|
|
|
+ self.animationTimer = [NSTimer scheduledTimerWithTimeInterval:(1.0 / 60) target:self selector:@selector(drawView) userInfo:nil repeats:YES];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|