-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is needed
Description
π Performance Optimization: CPU vs. GPU Compute Shader
π Bottlenecks in CPU-Based Processing
- Looping through thousands of channels per frame
- High CPU usage due to sequential waveform calculations (
sin
,asin
, etc.).
- High CPU usage due to sequential waveform calculations (
- CPU β GPU Data Transfers
- Expensive per-frame updates causing sync bottlenecks.
- Blocking the Event Loop
- Increased frame latency, UI lag, and potential dropped frames.
π Optimization Gains with GPU Compute Shaders
Metric | Before (CPU-Based) | After (GPU-Based Compute Shader) | Optimization |
---|---|---|---|
Event Loop CPU Load | 50%-90% (if 10,000+ channels) | ~1-5% (almost zero) | 90%+ reduction π₯ |
Per-Frame Latency (ms) | 10ms+ (laggy) | <1ms (real-time) | 10x-100x faster π |
Max Channels Before Lag | ~512-2000 max | 100,000+ (limited by VRAM) | 50x-100x more channels β‘ |
Dropped Frames | Frequent (>16ms frames) | Zero (smooth 60+ FPS) | 100% smoother UI π¨ |
π Key Takeaways
- Near-zero CPU usage β Frees up event loop for UI & networking.
- Scalable to 100,000+ channels β No DMX universe limits.
- Eliminates CPU bottleneck β Frame rates stay at 60-144 FPS.
- Memory-efficient GPU processing β Uses textures instead of CPU loops.
π― Estimated Final Optimization
π‘ 90%+ reduction in CPU load, 10x-100x faster execution, and 50x more channels before lag!
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is needed
Type
Projects
Status
In Progress