refinement of upcoming tracks
This commit is contained in:
@@ -1,21 +1,39 @@
|
||||
# Track Specification: Performance Dashboard (performance_dashboard_20260306)
|
||||
|
||||
## Overview
|
||||
Expand performance metrics panel with CPU/RAM usage, frame time, input lag with historical graphs. Uses existing performance_monitor.py which has basic metrics but no visualization.
|
||||
Expand performance metrics panel with CPU/RAM graphs, frame time histogram. Uses existing `performance_monitor.py`.
|
||||
|
||||
## Architectural Constraints
|
||||
- **60fps Constraint**: Metrics collection MUST NOT impact frame rate.
|
||||
- **Thread Safety**: Cross-thread metrics MUST use proper synchronization.
|
||||
## Current State Audit
|
||||
|
||||
### Already Implemented
|
||||
- **`src/performance_monitor.py`**: `PerformanceMonitor` class
|
||||
- **`get_metrics()`**: Returns FPS, frame time, CPU, input lag
|
||||
- **Basic display in GUI diagnostics**
|
||||
|
||||
### Gaps to Fill
|
||||
- No historical graphs
|
||||
- No rolling window storage
|
||||
- No frame time histogram
|
||||
|
||||
## Functional Requirements
|
||||
- **CPU/RAM Graphs**: Display rolling CPU and RAM usage over time.
|
||||
- **Frame Time**: Show frame time histogram.
|
||||
- **Input Lag**: Track and display input-to-response latency.
|
||||
- **Historical Data**: Maintain rolling window of metrics history.
|
||||
- Rolling window of metrics (deque with maxlen)
|
||||
- Line graphs for CPU/RAM over time
|
||||
- Frame time histogram
|
||||
- Uses existing `PerformanceMonitor.get_metrics()`
|
||||
|
||||
## Key Integration Points
|
||||
| File | Purpose |
|
||||
|-----|---------|
|
||||
| `src/performance_monitor.py` | Add history storage |
|
||||
| `src/gui_2.py` | Graph rendering |
|
||||
|
||||
## Architectural Constraints
|
||||
- 60fps during graph rendering
|
||||
- Memory bounded (max 100 data points)
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] CPU graph shows rolling history.
|
||||
- [ ] RAM graph shows rolling history.
|
||||
- [ ] Frame time histogram displays.
|
||||
- [ ] Input lag metrics tracked.
|
||||
- [ ] Uses existing performance_monitor.py.
|
||||
- [ ] CPU graph shows rolling history
|
||||
- [ ] RAM graph shows rolling history
|
||||
- [ ] Frame time histogram displays
|
||||
- [ ] Input lag metrics tracked
|
||||
- [ ] 1-space indentation
|
||||
|
||||
Reference in New Issue
Block a user