This commit is contained in:
firestar5683
2026-04-09 22:28:17 -05:00
parent ed51b41970
commit e338ef2585
2 changed files with 12 additions and 6 deletions
+7 -5
View File
@@ -17,6 +17,7 @@ def main():
config_realtime_process(0, 51)
gui_app.init_window("UI")
render_in_gui_app = not gui_app.big_ui()
if gui_app.big_ui():
main_layout = MainLayout()
else:
@@ -27,18 +28,19 @@ def main():
stall_monitor.progress("ui.loop_ready")
stall_monitor.start()
def render_layout() -> None:
stall_monitor.progress("ui.before_layout_render")
main_layout.render()
stall_monitor.progress("ui.after_layout_render")
try:
for should_render in gui_app.render():
for should_render in gui_app.render(render_callback=render_layout if render_in_gui_app else None):
stall_monitor.progress("ui.loop_iteration")
kick_watchdog()
stall_monitor.progress("ui.after_watchdog")
ui_state.update()
stall_monitor.progress("ui.after_state_update")
if should_render:
stall_monitor.progress("ui.before_layout_render")
main_layout.render()
stall_monitor.progress("ui.after_layout_render")
# reaffine after power save offlines our core
if TICI and os.sched_getaffinity(0) != cores:
try:
+5 -1
View File
@@ -539,7 +539,7 @@ class GuiApplication:
def last_mouse_event(self) -> MouseEvent:
return self._last_mouse_event
def render(self):
def render(self, render_callback: Callable[[], None] | None = None):
try:
if self._profile_render_frames > 0:
import cProfile
@@ -595,6 +595,10 @@ class GuiApplication:
yield False
else:
self._mark_progress("gui_app.frame_ready")
if render_callback is not None:
self._mark_progress("gui_app.before_render_callback")
render_callback()
self._mark_progress("gui_app.after_render_callback")
yield True
if self._render_texture: