1.6 KiB
1.6 KiB
Specification: GUI Performance Investigation and Fix
Overview
This track focuses on identifying and resolving severe frametime performance issues in the Manual Slop GUI. Current observations indicate massive frametime bloat even on idle startup, with performance significantly regressing (target 60 FPS / <16.6ms) since commit 8aa70e287fbf93e669276f9757965d5a56e89b10.
Functional Requirements
- Deep Profiling:
- Use the high-resolution component timing (implemented in previous tracks) to pinpoint the exact main loop component causing bloat.
- Verify if the issue is in DPG rendering, theme binding, telemetry gathering, or thread synchronization.
- Regression Analysis:
- Examine changes since commit
8aa70e287fbf93e669276f9757965d5a56e89b10to identify potentially expensive operations introduced to the main loop.
- Examine changes since commit
- Optimization:
- Refactor or throttle any identified bottlenecks.
- Ensure that UI initialization or data aggregation does not block the main thread unnecessarily.
Non-Functional Requirements
- Target Performance: Consistent 60 FPS (<16.6ms per frame) during idle operation.
- Stability: Zero frames exceeding 33ms (spike threshold) during normal idle use.
Acceptance Criteria
- Manual Slop GUI launches and maintains a stable <16.6ms frametime on idle.
- Performance Diagnostics panel confirms the absence of >16.6ms spikes on idle.
- The root cause of the regression is identified and verified through empirical testing.
Out of Scope
- Optimizing AI response times (latency of the provider API).
- GPU-side optimizations (shaders/VRAM management).