perf(gui): Resolve massive frametime bloat by throttling telemetry and optimizing UI updates
This commit is contained in:
@@ -14,6 +14,6 @@ This file tracks all major tracks for the project. Each track has its own detail
|
||||
|
||||
---
|
||||
|
||||
- [ ] **Track: investigate and fix heavy frametime performance issues with the gui**
|
||||
- [~] **Track: investigate and fix heavy frametime performance issues with the gui**
|
||||
*Link: [./tracks/gui_performance_20260223/](./tracks/gui_performance_20260223/)*
|
||||
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
# Implementation Plan: GUI Performance Fix
|
||||
|
||||
## Phase 1: Instrumented Profiling and Regression Analysis
|
||||
- [ ] Task: Baseline Profiling Run
|
||||
- [ ] Sub-task: Launch app with `--enable-test-hooks` and capture `get_ui_performance` snapshot on idle startup.
|
||||
- [ ] Sub-task: Identify which component (Dialogs, History, GUI_Tasks, Blinking, Comms, Telemetry) exceeds 1ms.
|
||||
- [ ] Task: Regression Analysis (Commit `8aa70e2` to HEAD)
|
||||
- [ ] Sub-task: Review `git diff` for `gui.py` and `ai_client.py` across the suspected range.
|
||||
- [ ] Sub-task: Identify any code added to the `while dpg.is_dearpygui_running()` loop that lacks throttling.
|
||||
- [ ] Task: Conductor - User Manual Verification 'Phase 1: Instrumented Profiling and Regression Analysis' (Protocol in workflow.md)
|
||||
- [x] Task: Baseline Profiling Run
|
||||
- [x] Sub-task: Launch app with `--enable-test-hooks` and capture `get_ui_performance` snapshot on idle startup.
|
||||
- [x] Sub-task: Identify which component (Dialogs, History, GUI_Tasks, Blinking, Comms, Telemetry) exceeds 1ms.
|
||||
- [x] Task: Regression Analysis (Commit `8aa70e2` to HEAD)
|
||||
- [x] Sub-task: Review `git diff` for `gui.py` and `ai_client.py` across the suspected range.
|
||||
- [x] Sub-task: Identify any code added to the `while dpg.is_dearpygui_running()` loop that lacks throttling.
|
||||
- [x] Task: Conductor - User Manual Verification 'Phase 1: Instrumented Profiling and Regression Analysis' (Protocol in workflow.md)
|
||||
|
||||
## Phase 2: Bottleneck Remediation
|
||||
- [ ] Task: Implement Performance Fixes
|
||||
- [ ] Sub-task: Write Tests (Performance regression test - verify no new heavy loops introduced)
|
||||
- [ ] Sub-task: Implement Feature (Refactor/Throttle identified bottlenecks)
|
||||
- [ ] Task: Verify Idle FPS Stability
|
||||
- [ ] Sub-task: Write Tests (Verify frametimes are < 16.6ms via API hooks)
|
||||
- [ ] Sub-task: Implement Feature (Final tuning of update frequencies)
|
||||
- [ ] Task: Conductor - User Manual Verification 'Phase 2: Bottleneck Remediation' (Protocol in workflow.md)
|
||||
- [x] Task: Implement Performance Fixes
|
||||
- [x] Sub-task: Write Tests (Performance regression test - verify no new heavy loops introduced)
|
||||
- [x] Sub-task: Implement Feature (Refactor/Throttle identified bottlenecks)
|
||||
- [x] Task: Verify Idle FPS Stability
|
||||
- [x] Sub-task: Write Tests (Verify frametimes are < 16.6ms via API hooks)
|
||||
- [x] Sub-task: Implement Feature (Final tuning of update frequencies)
|
||||
- [x] Task: Conductor - User Manual Verification 'Phase 2: Bottleneck Remediation' (Protocol in workflow.md)
|
||||
|
||||
## Phase 3: Final Validation
|
||||
- [ ] Task: Stress Test Verification
|
||||
- [ ] Sub-task: Write Tests (Simulate high volume of comms entries and verify FPS remains stable)
|
||||
- [ ] Sub-task: Implement Feature (Ensure optimizations scale with history size)
|
||||
- [ ] Task: Conductor - User Manual Verification 'Phase 3: Final Validation' (Protocol in workflow.md)
|
||||
- [x] Task: Stress Test Verification
|
||||
- [x] Sub-task: Write Tests (Simulate high volume of comms entries and verify FPS remains stable)
|
||||
- [x] Sub-task: Implement Feature (Ensure optimizations scale with history size)
|
||||
- [x] Task: Conductor - User Manual Verification 'Phase 3: Final Validation' (Protocol in workflow.md)
|
||||
Reference in New Issue
Block a user