Added mfb_get_target_fps
This commit is contained in:
parent
cc79a85e3d
commit
fb35e988ad
@ -136,10 +136,11 @@ double mfb_timer_get_frequency();
|
|||||||
double mfb_timer_get_resolution();
|
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
|
```c
|
||||||
void mfb_set_target_fps(uint32_t fps);
|
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.
|
This avoid the problem of update too fast the window collapsing the redrawing in fast processors.
|
||||||
|
@ -68,6 +68,7 @@ const uint8_t * mfb_get_key_buffer(struct mfb_window *window); // O
|
|||||||
|
|
||||||
// FPS
|
// FPS
|
||||||
void mfb_set_target_fps(uint32_t fps);
|
void mfb_set_target_fps(uint32_t fps);
|
||||||
|
unsigned mfb_get_target_fps();
|
||||||
bool mfb_wait_sync(struct mfb_window *window);
|
bool mfb_wait_sync(struct mfb_window *window);
|
||||||
|
|
||||||
// Timer
|
// Timer
|
||||||
|
@ -22,6 +22,17 @@ mfb_set_target_fps(uint32_t fps) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-------------------------------------
|
||||||
|
unsigned
|
||||||
|
mfb_get_target_fps() {
|
||||||
|
if (g_time_for_frame == 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return 1.0 / g_time_for_frame;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//-------------------------------------
|
//-------------------------------------
|
||||||
struct mfb_timer *
|
struct mfb_timer *
|
||||||
mfb_timer_create() {
|
mfb_timer_create() {
|
||||||
@ -50,7 +61,7 @@ mfb_timer_destroy(struct mfb_timer *tmr) {
|
|||||||
//-------------------------------------
|
//-------------------------------------
|
||||||
void
|
void
|
||||||
mfb_timer_reset(struct mfb_timer *tmr) {
|
mfb_timer_reset(struct mfb_timer *tmr) {
|
||||||
if(tmr == 0x0)
|
if(tmr == 0x0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
tmr->start_time = mfb_timer_tick();
|
tmr->start_time = mfb_timer_tick();
|
||||||
@ -63,7 +74,7 @@ double
|
|||||||
mfb_timer_now(struct mfb_timer *tmr) {
|
mfb_timer_now(struct mfb_timer *tmr) {
|
||||||
uint64_t counter;
|
uint64_t counter;
|
||||||
|
|
||||||
if(tmr == 0x0)
|
if(tmr == 0x0)
|
||||||
return 0.0;
|
return 0.0;
|
||||||
|
|
||||||
counter = mfb_timer_tick();
|
counter = mfb_timer_tick();
|
||||||
@ -79,7 +90,7 @@ mfb_timer_delta(struct mfb_timer *tmr) {
|
|||||||
int64_t counter;
|
int64_t counter;
|
||||||
uint64_t delta;
|
uint64_t delta;
|
||||||
|
|
||||||
if(tmr == 0x0)
|
if(tmr == 0x0)
|
||||||
return 0.0;
|
return 0.0;
|
||||||
|
|
||||||
counter = mfb_timer_tick();
|
counter = mfb_timer_tick();
|
||||||
|
Loading…
Reference in New Issue
Block a user