diff --git a/panda/src/display/graphicsEngine.cxx b/panda/src/display/graphicsEngine.cxx index a9997b13d0..d7e46110ba 100644 --- a/panda/src/display/graphicsEngine.cxx +++ b/panda/src/display/graphicsEngine.cxx @@ -800,11 +800,14 @@ render_frame() { // wait for those threads before we can flip. _flip_state = _auto_flip ? FS_flip : FS_draw; - if (yield_timeslice) { + if (yield_timeslice) { // Nap for a moment to yield the timeslice, to be polite to other // running applications. PStatTimer timer(_yield_pcollector, current_thread); Thread::force_yield(); + } else if (!Thread::is_true_threads()) { + PStatTimer timer(_yield_pcollector, current_thread); + Thread::consider_yield(); } // Anything that happens outside of GraphicsEngine::render_frame()