Startup-Diagnose: Imports + Display-Modes + Window-Layout messen

Bisher: Wall-time 3.2s vs gemessene Arbeit 0.9s → 2.3s unmeasured.
Jetzt werden auch die bisher blinden Stellen getrackt:

- 9× Modul-Import (rhinopanel, oberleiste, ausschnitte, ...) als
  phase="import", label=mod_id
- oberleiste display-mode-Ensure-Loop (4× DisplayModeDescription-Calls)
  als phase="display_modes"
- _apply_window_layout RunScript-Sequenz als phase="window_layout"
- text_editor doppelklick-Hook + view-modes assign + unit-check als
  post_init/hook Phases

Nach Reload sollte das Summary zeigen wo die 2.3s versickern → daraus
gezielte Optimierungen.
This commit is contained in:
2026-05-27 19:08:02 +02:00
parent 61923e1b2b
commit 6fee7bd143
2 changed files with 26 additions and 0 deletions
+15
View File
@@ -768,7 +768,17 @@ def _apply_window_layout(name):
if not name:
print("[OBERLEISTE] apply_window_layout: leerer Name")
return False
import time as _t_wl
_t_wl_start = _t_wl.time()
try:
_ret = _apply_window_layout_impl(name)
finally:
try: panel_base._t_mark("window_layout", name, _t_wl_start)
except Exception: pass
return _ret
def _apply_window_layout_impl(name):
guid = _layout_name_to_guid(name)
print("[OBERLEISTE] apply_window_layout: name='{}' guid='{}'".format(
name, guid))
@@ -2134,11 +2144,16 @@ def _bridge_factory():
# bei jedem startup.py oder _reset_panels.py, unabhaengig davon ob das
# Panel jemals geoeffnet wird. Funktion ist idempotent.
# Alle Dossier-Display-Modes registrieren (Plan, 3D, ...)
import time as _t_dm
_t_dm_start = _t_dm.time()
for _name, _guid, _tmpl, _fallback in _DOSSIER_DISPLAY_MODES:
try:
_ensure_dossier_display_mode(_name, _guid, _tmpl, _fallback)
except Exception as _ex:
print("[OBERLEISTE] ensure {}: {}".format(_name, _ex))
try:
panel_base._t_mark("display_modes", "oberleiste", _t_dm_start)
except Exception: pass
panel_base.register_and_open("oberleiste", "Oberleiste", PANEL_GUID_STR, _bridge_factory,