forked from Mirrorlandia_minetest/minetest
Introduce and start using microsecond sleep on Linux (#13445)
This commit is contained in:
parent
72ed8514c5
commit
53c594abe0
@ -4262,8 +4262,8 @@ void FpsControl::limit(IrrlichtDevice *device, f32 *dtime)
|
||||
|
||||
if (busy_time < frametime_min) {
|
||||
sleep_time = frametime_min - busy_time;
|
||||
if (sleep_time > 1000)
|
||||
sleep_ms(sleep_time / 1000);
|
||||
if (sleep_time > 0)
|
||||
sleep_us(sleep_time);
|
||||
} else {
|
||||
sleep_time = 0;
|
||||
}
|
||||
|
@ -46,6 +46,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include <windows.h>
|
||||
|
||||
#define sleep_ms(x) Sleep(x)
|
||||
#define sleep_us(x) Sleep((x)/1000)
|
||||
#else
|
||||
#include <unistd.h>
|
||||
#include <cstdint> //for uintptr_t
|
||||
@ -58,7 +59,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#define _GNU_SOURCE
|
||||
#endif
|
||||
|
||||
#define sleep_ms(x) usleep(x*1000)
|
||||
#define sleep_ms(x) usleep((x)*1000)
|
||||
#define sleep_us(x) usleep(x)
|
||||
#endif
|
||||
|
||||
#ifdef _MSC_VER
|
||||
|
Loading…
Reference in New Issue
Block a user