Merge branch 'master' into accurate_vsync

This commit is contained in:
Carlos Aragones 2021-04-28 12:36:57 +02:00
commit b4122c3d6a
3 changed files with 14 additions and 1 deletions

View File

@ -136,10 +136,11 @@ double mfb_timer_get_frequency();
double mfb_timer_get_resolution();
```
Furthermore you can set a target fps for the application. The default is 60 frames per second.
Furthermore you can set (and get) a target fps for the application. The default is 60 frames per second.
```c
void mfb_set_target_fps(uint32_t fps);
unsigned mfb_get_target_fps();
```
This avoid the problem of update too fast the window collapsing the redrawing in fast processors.

View File

@ -68,6 +68,7 @@ const uint8_t * mfb_get_key_buffer(struct mfb_window *window); // O
// FPS
void mfb_set_target_fps(uint32_t fps);
unsigned mfb_get_target_fps();
bool mfb_wait_sync(struct mfb_window *window);
// Timer

View File

@ -24,6 +24,17 @@ mfb_set_target_fps(uint32_t fps) {
set_target_fps_aux();
}
//-------------------------------------
unsigned
mfb_get_target_fps() {
if (g_time_for_frame == 0) {
return 0;
}
else {
return 1.0 / g_time_for_frame;
}
}
//-------------------------------------
struct mfb_timer *
mfb_timer_create() {