mirror of
https://github.com/gnif/LookingGlass.git
synced 2025-01-10 23:07:04 +00:00
[client] tighten timings
This commit is contained in:
parent
8f0a6cd810
commit
1d6dfa048e
@ -234,7 +234,7 @@ int cursorThread(void * unused)
|
|||||||
if (!state.running)
|
if (!state.running)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
usleep(1000);
|
usleep(1);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -323,9 +323,7 @@ int frameThread(void * unused)
|
|||||||
if (!state.running)
|
if (!state.running)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// allow for a maximum refresh of 400fps (1000/400 = 2.5ms), this should
|
usleep(1);
|
||||||
// befreqent enough without chewing up too much CPU time
|
|
||||||
usleep(2500);
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -404,6 +402,13 @@ int frameThread(void * unused)
|
|||||||
updatePositionInfo();
|
updatePositionInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
uint64_t now = microtime();
|
||||||
|
static uint64_t last;
|
||||||
|
DEBUG_INFO("D: %f", (now - last) / 1000.0f);
|
||||||
|
last = microtime();
|
||||||
|
*/
|
||||||
|
|
||||||
const uint8_t * data = (const uint8_t *)state.shm + header.dataPos;
|
const uint8_t * data = (const uint8_t *)state.shm + header.dataPos;
|
||||||
if (!state.lgr->on_frame_event(state.lgrData, lgrFormat, data))
|
if (!state.lgr->on_frame_event(state.lgrData, lgrFormat, data))
|
||||||
{
|
{
|
||||||
@ -733,11 +738,11 @@ int run()
|
|||||||
state.fpsSleep = 1000000 / params.fpsLimit;
|
state.fpsSleep = 1000000 / params.fpsLimit;
|
||||||
|
|
||||||
char* XDG_SESSION_TYPE = getenv("XDG_SESSION_TYPE");
|
char* XDG_SESSION_TYPE = getenv("XDG_SESSION_TYPE");
|
||||||
|
|
||||||
if (XDG_SESSION_TYPE == NULL) {
|
if (XDG_SESSION_TYPE == NULL) {
|
||||||
XDG_SESSION_TYPE = "unspecified";
|
XDG_SESSION_TYPE = "unspecified";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strcmp(XDG_SESSION_TYPE, "wayland") == 0) {
|
if (strcmp(XDG_SESSION_TYPE, "wayland") == 0) {
|
||||||
DEBUG_INFO("Wayland detected");
|
DEBUG_INFO("Wayland detected");
|
||||||
int err = setenv("SDL_VIDEODRIVER", "wayland", 1);
|
int err = setenv("SDL_VIDEODRIVER", "wayland", 1);
|
||||||
@ -865,6 +870,9 @@ int run()
|
|||||||
if (params.allowScreensaver)
|
if (params.allowScreensaver)
|
||||||
SDL_SetHint(SDL_HINT_VIDEO_ALLOW_SCREENSAVER, "1");
|
SDL_SetHint(SDL_HINT_VIDEO_ALLOW_SCREENSAVER, "1");
|
||||||
|
|
||||||
|
if (!params.center)
|
||||||
|
SDL_SetWindowPosition(state.window, params.x, params.y);
|
||||||
|
|
||||||
// set the compositor hint to bypass for low latency
|
// set the compositor hint to bypass for low latency
|
||||||
SDL_SysWMinfo wminfo;
|
SDL_SysWMinfo wminfo;
|
||||||
SDL_VERSION(&wminfo.version);
|
SDL_VERSION(&wminfo.version);
|
||||||
@ -1659,4 +1667,4 @@ int main(int argc, char * argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user