Release Notes for v1.4.0
What's New
Performance Improvements
- Event-driven rendering: Plot updates are now triggered by user interactions (pan/zoom) instead of fixed timer polling, reducing CPU usage significantly
- OpenGL acceleration: Hardware-accelerated rendering for smooth 60+ FPS plotting (requires PyOpenGL)
- Antialiasing: Smooth line rendering for better visual quality
- Optimized data slicing: Only visible data points are rendered, improving performance with large datasets
Bug Fixes
- Fixed plot not updating after stopping acquisition - pan/zoom now works correctly on historical data
- Fixed graph synchronization issues between voltage, current, and power panels
- Fixed race conditions when stopping/starting acquisition rapidly
Technical Changes
- Replaced timer-based updates with
sigRangeChangedsignal from pyqtgraph ViewBox - Added rate limiting (max 60 FPS) to prevent excessive updates during rapid interactions
- Improved buffer management with numpy array caching
Installation
Pre-built Binaries
Download the appropriate file for your platform from the assets below.
From Source
pip install PySide6 pyqtgraph pyserial reportlab matplotlib numpy PyOpenGL
python run.py