mirror of
https://github.com/gnif/LookingGlass.git
synced 2024-11-25 23:07:18 +00:00
[client] added new input:mouseRedraw option
This new option, when enabled (the default) enables cursor movements to trigger frame updates in the client, improving responsiveness at the cost of increased FPS while the mouse is moving around.
This commit is contained in:
parent
f9b6dcc986
commit
6927dbecd2
@ -247,6 +247,13 @@ static struct Option options[] =
|
|||||||
.type = OPTION_TYPE_INT,
|
.type = OPTION_TYPE_INT,
|
||||||
.value.x_int = 0,
|
.value.x_int = 0,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.module = "input",
|
||||||
|
.name = "mouseRedraw",
|
||||||
|
.description = "Mouse movements trigger redraws (ignores FPS minimum)",
|
||||||
|
.type = OPTION_TYPE_BOOL,
|
||||||
|
.value.x_bool = true,
|
||||||
|
},
|
||||||
|
|
||||||
// spice options
|
// spice options
|
||||||
{
|
{
|
||||||
@ -399,6 +406,7 @@ bool config_load(int argc, char * argv[])
|
|||||||
params.escapeKey = option_get_int ("input", "escapeKey" );
|
params.escapeKey = option_get_int ("input", "escapeKey" );
|
||||||
params.hideMouse = option_get_bool ("input", "hideCursor" );
|
params.hideMouse = option_get_bool ("input", "hideCursor" );
|
||||||
params.mouseSens = option_get_int ("input", "mouseSens" );
|
params.mouseSens = option_get_int ("input", "mouseSens" );
|
||||||
|
params.mouseRedraw = option_get_bool ("input", "mouseRedraw" );
|
||||||
|
|
||||||
params.minimizeOnFocusLoss = option_get_bool("win", "minimizeOnFocusLoss");
|
params.minimizeOnFocusLoss = option_get_bool("win", "minimizeOnFocusLoss");
|
||||||
|
|
||||||
|
@ -358,6 +358,9 @@ static int cursorThread(void * unused)
|
|||||||
state.cursor.x,
|
state.cursor.x,
|
||||||
state.cursor.y
|
state.cursor.y
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if (params.mouseRedraw)
|
||||||
|
lgSignalEvent(e_frame);
|
||||||
}
|
}
|
||||||
|
|
||||||
lgmpClientUnsubscribe(&queue);
|
lgmpClientUnsubscribe(&queue);
|
||||||
@ -1349,13 +1352,15 @@ static int lg_run()
|
|||||||
// ensure renderer viewport is aware of the current window size
|
// ensure renderer viewport is aware of the current window size
|
||||||
updatePositionInfo();
|
updatePositionInfo();
|
||||||
|
|
||||||
// use a default of 60FPS now that frame updates are host update triggered
|
|
||||||
if (params.fpsMin == -1)
|
if (params.fpsMin == -1)
|
||||||
state.frameTime = 1e9 / 60;
|
{
|
||||||
|
// minimum 60fps to keep interactivity decent
|
||||||
|
state.frameTime = 1000000000ULL / 60ULL;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DEBUG_INFO("Using the FPS minimum from args: %d", params.fpsMin);
|
DEBUG_INFO("Using the FPS minimum from args: %d", params.fpsMin);
|
||||||
state.frameTime = 1e9 / params.fpsMin;
|
state.frameTime = 1000000000ULL / (unsigned long long)params.fpsMin;
|
||||||
}
|
}
|
||||||
|
|
||||||
register_key_binds();
|
register_key_binds();
|
||||||
|
@ -160,6 +160,7 @@ struct AppParams
|
|||||||
|
|
||||||
const char * windowTitle;
|
const char * windowTitle;
|
||||||
int mouseSens;
|
int mouseSens;
|
||||||
|
bool mouseRedraw;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct CBRequest
|
struct CBRequest
|
||||||
|
Loading…
Reference in New Issue
Block a user