|
@ -13,8 +13,8 @@ |
|
|
#include "sokol_time.h" |
|
|
#include "sokol_time.h" |
|
|
#undef SOKOL_IMPL |
|
|
#undef SOKOL_IMPL |
|
|
|
|
|
|
|
|
#define SPIN_TRACK 0 |
|
|
#define TIME_DEBUG 0 |
|
|
#if SPIN_TRACK |
|
|
#if TIME_DEBUG |
|
|
static int spin_track_timeout = 0; |
|
|
static int spin_track_timeout = 0; |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
@ -936,7 +936,7 @@ void ged_do_stuff(Ged* a) { |
|
|
if (!a->is_playing) |
|
|
if (!a->is_playing) |
|
|
return; |
|
|
return; |
|
|
bool do_play = false; |
|
|
bool do_play = false; |
|
|
#if SPIN_TRACK |
|
|
#if TIME_DEBUG |
|
|
Usz spins = 0; |
|
|
Usz spins = 0; |
|
|
U64 spin_start = stm_now(); |
|
|
U64 spin_start = stm_now(); |
|
|
#endif |
|
|
#endif |
|
@ -947,7 +947,7 @@ void ged_do_stuff(Ged* a) { |
|
|
if (sdiff >= secs_span) { |
|
|
if (sdiff >= secs_span) { |
|
|
a->clock = now; |
|
|
a->clock = now; |
|
|
a->accum_secs = sdiff - secs_span; |
|
|
a->accum_secs = sdiff - secs_span; |
|
|
#if SPIN_TRACK |
|
|
#if TIME_DEBUG |
|
|
if (a->accum_secs > 0.000001) { |
|
|
if (a->accum_secs > 0.000001) { |
|
|
fprintf(stderr, "err: %f\n", a->accum_secs); |
|
|
fprintf(stderr, "err: %f\n", a->accum_secs); |
|
|
if (a->accum_secs > 0.00005) { |
|
|
if (a->accum_secs > 0.00005) { |
|
@ -960,11 +960,11 @@ void ged_do_stuff(Ged* a) { |
|
|
} |
|
|
} |
|
|
if (secs_span - sdiff > ms_to_sec(0.1)) |
|
|
if (secs_span - sdiff > ms_to_sec(0.1)) |
|
|
break; |
|
|
break; |
|
|
#if SPIN_TRACK |
|
|
#if TIME_DEBUG |
|
|
++spins; |
|
|
++spins; |
|
|
#endif |
|
|
#endif |
|
|
} |
|
|
} |
|
|
#if SPIN_TRACK |
|
|
#if TIME_DEBUG |
|
|
if (spins > 0) { |
|
|
if (spins > 0) { |
|
|
fprintf(stderr, "%d spins in %f us with timeout %d\n", (int)spins, |
|
|
fprintf(stderr, "%d spins in %f us with timeout %d\n", (int)spins, |
|
|
stm_us(stm_since(spin_start)), spin_track_timeout); |
|
|
stm_us(stm_since(spin_start)), spin_track_timeout); |
|
@ -1935,7 +1935,7 @@ int main(int argc, char** argv) { |
|
|
if (new_timeout != cur_timeout) { |
|
|
if (new_timeout != cur_timeout) { |
|
|
wtimeout(stdscr, new_timeout); |
|
|
wtimeout(stdscr, new_timeout); |
|
|
cur_timeout = new_timeout; |
|
|
cur_timeout = new_timeout; |
|
|
#if SPIN_TRACK |
|
|
#if TIME_DEBUG |
|
|
spin_track_timeout = cur_timeout; |
|
|
spin_track_timeout = cur_timeout; |
|
|
#endif |
|
|
#endif |
|
|
} |
|
|
} |
|
|