From e338ef25851ae949e0b56329f6b7466aec800771 Mon Sep 17 00:00:00 2001 From: firestar5683 <168790843+firestar5683@users.noreply.github.com> Date: Thu, 9 Apr 2026 22:28:17 -0500 Subject: [PATCH] raylib --- selfdrive/ui/ui.py | 12 +++++++----- system/ui/lib/application.py | 6 +++++- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/selfdrive/ui/ui.py b/selfdrive/ui/ui.py index 78651d7b2..9f0e15fee 100755 --- a/selfdrive/ui/ui.py +++ b/selfdrive/ui/ui.py @@ -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: diff --git a/system/ui/lib/application.py b/system/ui/lib/application.py index bb3c6c91d..72ffaa2cf 100644 --- a/system/ui/lib/application.py +++ b/system/ui/lib/application.py @@ -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: