File tree Expand file tree Collapse file tree 3 files changed +27
-9
lines changed
Expand file tree Collapse file tree 3 files changed +27
-9
lines changed Original file line number Diff line number Diff line change @@ -200,9 +200,7 @@ class Main extends Application
200200
201201 SaveData .init ();
202202 Tools .getIconGridMap (' assets/images/ui' );
203- #if windows
204- Sys .println (' Windows: Audio latency set to ' + Mixer .latency ());
205- #end
203+ // Sys.println('Windows: Audio latency set to ' + Mixer.latency());
206204
207205 window .frameRate = SaveData .state .graphics .frameRate ;
208206
@@ -325,9 +323,9 @@ class Main extends Application
325323 #end
326324 override function update (deltaTime : Int ) {
327325 #if hxcpp
328- var timestamp : Float = untyped __global__ .__time_stamp ();
326+ /* var timestamp:Float = untyped __global__.__time_stamp();
329327 Sys.println('New frame rate ${1 / (timestamp - newTimestamp)}fps');
330- newTimestamp = timestamp ;
328+ newTimestamp = timestamp;*/
331329 #end
332330
333331 Tools .profileFrame ();
@@ -382,6 +380,7 @@ class Main extends Application
382380 #if FV_LIME_FORK
383381 var renderFrameRate = Application .current .window .renderFrameRate ;
384382 if (renderFrameRate == 0 ) renderFrameRate = Application .current .window .renderFrameRate = context .window .displayMode .refreshRate ;
383+ // Sys.println('Monitor refresh rate right now is $renderFrameRate');
385384 #else
386385 var renderFrameRate = Application .current .window .frameRate ;
387386 #end
Original file line number Diff line number Diff line change @@ -81,13 +81,14 @@ class SaveData {
8181 window .onClose .add (save );
8282
8383 if (! FileSystem .exists (' save.dat' )) {
84- var window = lime.app. Application .current .window ;
8584 save ();
8685 }
8786
8887 open ();
8988
90- if (state .graphics .frameRate == 0 ) state .graphics .frameRate = window .displayMode .refreshRate * 4 ;
89+ if (state .graphics .frameRate == 0 ) {
90+ state .graphics .frameRate = window .displayMode .refreshRate * 4 ;
91+ }
9192 }
9293
9394 static function open () {
@@ -174,7 +175,25 @@ class SaveData_Preferences {
174175@:structInit
175176@:publicFields
176177class SaveData_Graphics {
177- var frameRate : Int ;
178+ var frameRate (default , set ): Float ;
179+ inline function set_frameRate (value : Float ) {
180+ var window = lime.app. Application .current .window ;
181+ var newValue : Float = value ;
182+ var rateAlignment : Float = Math .ffloor (newValue / window .displayMode .refreshRate );
183+
184+ if (newValue == 0 ||
185+ newValue < window .displayMode .refreshRate // too slow!
186+ ) {
187+ newValue = window .displayMode .refreshRate * 4 ;
188+ } else if (
189+ newValue / window .displayMode .refreshRate != rateAlignment // Doesn't align properly with new frameRate)
190+ || rateAlignment < 2
191+ ) {
192+ newValue = window .displayMode .refreshRate * Math .max (rateAlignment , 2 );
193+ }
194+
195+ return frameRate = newValue ;
196+ }
178197 var antialiasing : Bool ;
179198 var customTitleBarColor : Int ;
180199 var customWindowOutlineColor : Int ;
Original file line number Diff line number Diff line change @@ -104,7 +104,7 @@ class Mixer {
104104 #if FV_LIME_FORK
105105 var frameTimeDiff : Float = (1000 / window .frameRate ) / (1000 / window .renderFrameRate );
106106 #else
107- var refreshRate = window .displayMode .refreshRate ;
107+ var refreshRate = window .displayMode .refreshRate ; // integer version if you're on vanilla lime
108108 var frameTimeDiff : Float = (1000 / window .frameRate ) / (1000 / refreshRate );
109109 #end
110110 var smallest : Float = 5 ;
You can’t perform that action at this time.
0 commit comments