File tree Expand file tree Collapse file tree 1 file changed +7
-15
lines changed
Expand file tree Collapse file tree 1 file changed +7
-15
lines changed Original file line number Diff line number Diff line change @@ -593,25 +593,17 @@ static void checkrate(App* app)
593593 }
594594 else
595595 {
596- s32 refreshrate = 1.0 / sapp_frame_duration ();
596+ float refresh_rate = 1.0f / sapp_frame_duration ();
597+ float target = refresh_rate / (float )TIC80_FRAMERATE ;
598+ s32 div = (s32 )roundf (target );
597599
598- // check monitor refresh rate +-5Hz
599- if (refreshrate == CLAMP (refreshrate , TIC80_FRAMERATE - 5 , TIC80_FRAMERATE + 5 ))
600+ if (div >= 1 && div <= 4 && fabsf (refresh_rate - div * TIC80_FRAMERATE ) <= 5.0f )
600601 {
601602 #if defined(__TIC_EMSCRIPTEN__ )
602- emscripten_set_main_loop_timing (EM_TIMING_RAF , 1 );
603+ emscripten_set_main_loop_timing (EM_TIMING_RAF , div );
603604 #else
604- // use every frame on 60Hz
605- app -> divider = 1 ;
606- #endif
607- }
608- else if (refreshrate == CLAMP (refreshrate , 2 * TIC80_FRAMERATE - 5 , 2 * TIC80_FRAMERATE + 5 ))
609- {
610- #if defined(__TIC_EMSCRIPTEN__ )
611- emscripten_set_main_loop_timing (EM_TIMING_RAF , 2 );
612- #else
613- // use every 2nd frame on 120Hz
614- app -> divider = 2 ;
605+ // use every frame
606+ app -> divider = div ;
615607 #endif
616608 }
617609 else
You can’t perform that action at this time.
0 commit comments