mirror of
https://github.com/gnif/LookingGlass.git
synced 2024-11-26 07:17:23 +00:00
[client] main: only render if there is actually something to render
This commit is contained in:
parent
77b3d45e0e
commit
17687fdea3
@ -167,8 +167,12 @@ static int renderThread(void * unused)
|
|||||||
|
|
||||||
while(g_state.state != APP_STATE_SHUTDOWN)
|
while(g_state.state != APP_STATE_SHUTDOWN)
|
||||||
{
|
{
|
||||||
if (g_state.jitRender || (g_state.ds->waitFrame && g_state.overlayInput))
|
if (g_state.jitRender)
|
||||||
|
{
|
||||||
g_state.ds->waitFrame();
|
g_state.ds->waitFrame();
|
||||||
|
if (!lgResetEvent(g_state.frameEvent) && !g_state.overlayInput)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
else if (g_params.fpsMin != 0)
|
else if (g_params.fpsMin != 0)
|
||||||
{
|
{
|
||||||
float ups = atomic_load_explicit(&g_state.ups, memory_order_relaxed);
|
float ups = atomic_load_explicit(&g_state.ups, memory_order_relaxed);
|
||||||
@ -973,23 +977,14 @@ static int lg_run(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// setup the new frame event
|
// setup the new frame event
|
||||||
if (!(g_state.frameEvent = lgCreateEvent(true, 0)))
|
if (!(g_state.frameEvent = lgCreateEvent(!g_state.jitRender, 0)))
|
||||||
{
|
{
|
||||||
DEBUG_ERROR("failed to create the frame event");
|
DEBUG_ERROR("failed to create the frame event");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(g_state.jitEvent = lgCreateEvent(true, 0)))
|
|
||||||
{
|
|
||||||
DEBUG_ERROR("failed to create the overlay render event");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (g_state.jitRender)
|
if (g_state.jitRender)
|
||||||
{
|
|
||||||
DEBUG_INFO("Using JIT render mode");
|
DEBUG_INFO("Using JIT render mode");
|
||||||
lgSignalEvent(g_state.jitEvent);
|
|
||||||
}
|
|
||||||
|
|
||||||
lgInit();
|
lgInit();
|
||||||
|
|
||||||
@ -1142,8 +1137,6 @@ restart:
|
|||||||
goto restart;
|
goto restart;
|
||||||
}
|
}
|
||||||
|
|
||||||
lgSignalEvent(g_state.jitEvent);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1172,12 +1165,6 @@ static void lg_shutdown(void)
|
|||||||
g_state.frameEvent = NULL;
|
g_state.frameEvent = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_state.jitEvent)
|
|
||||||
{
|
|
||||||
lgFreeEvent(g_state.jitEvent);
|
|
||||||
g_state.jitEvent = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (e_startup)
|
if (e_startup)
|
||||||
{
|
{
|
||||||
lgFreeEvent(e_startup);
|
lgFreeEvent(e_startup);
|
||||||
|
@ -65,7 +65,6 @@ struct AppState
|
|||||||
struct LG_DisplayServerOps * ds;
|
struct LG_DisplayServerOps * ds;
|
||||||
bool dsInitialized;
|
bool dsInitialized;
|
||||||
bool jitRender;
|
bool jitRender;
|
||||||
LGEvent * jitEvent;
|
|
||||||
|
|
||||||
bool stopVideo;
|
bool stopVideo;
|
||||||
bool ignoreInput;
|
bool ignoreInput;
|
||||||
|
Loading…
Reference in New Issue
Block a user