diff --git a/panda/src/display/graphicsEngine.cxx b/panda/src/display/graphicsEngine.cxx index 7a8b4e0fff..12ad6bdb1a 100644 --- a/panda/src/display/graphicsEngine.cxx +++ b/panda/src/display/graphicsEngine.cxx @@ -513,8 +513,14 @@ render_frame() { } } - // Now cycle the pipeline + // Now cycle the pipeline and officially begin the next frame. _pipeline->cycle(); + ClockObject *global_clock = ClockObject::get_global_clock(); + global_clock->tick(); + if (global_clock->check_errors()) { + throw_event("clock_error"); + } + PStatClient::main_tick(); // Reset our pcollectors that track data across the frame. CullTraverser::_nodes_pcollector.clear_level(); @@ -556,14 +562,6 @@ render_frame() { select(0, NULL, NULL, NULL, &tv); } - // officially begin the next frame. - ClockObject *global_clock = ClockObject::get_global_clock(); - global_clock->tick(); - if (global_clock->check_errors()) { - throw_event("clock_error"); - } - PStatClient::main_tick(); - // Anything that happens outside of GraphicsEngine::render_frame() // is deemed to be App. _app_pcollector.start();