Repository navigation
Brightpixels 1.5 reduces rendering overhead for simultaneous surfaces and sustained particle effects, and adds adaptive resolution for animated effects in auto quality.
- Batch interactive surfaces into one GPU submission per shared device per animation frame. The 24-surface benchmark dropped from 24 submissions to 1.
- Reuse the live particle array and pack typed buffers directly. The isolated 2,048-particle CPU benchmark dropped from 0.234 ms to 0.026 ms per full repack; GPU work is excluded from that measurement.
- Reduce animated surface and particle resolution after sustained slow frames in auto quality, with bounded reductions and slower recovery. Explicit high/low settings remain fixed.
- Add a repeatable benchmark page and CLI with frame cadence, upload bytes, submission counts, renderer metadata and downloadable results.
Text/image detail and requested HDR intensity remain unchanged. For manual no-bundler setups, copy both index.js and adaptive-quality.js into the same directory. npm/CDN imports resolve the helper automatically.
Validation: 18 unit tests, TypeScript checks and GitHub Verify passed; the browser suite passed 156 tests with 10 expected GPU-only WebKit skips. Local high-quality before/after frame intervals remained about 16.7 ms; no end-to-end frame-rate improvement is claimed. User runs at a fixed viewport measured 8.3 ms median callback intervals in high and auto with no intervals above 25 ms. The user confirmed the hardware demo works on their Apple Metal / in-app Chromium setup. Other physical displays and Safari HDR remain unverified.
See PERFORMANCE.md and HARDWARE_VALIDATION.md for methods, raw-result locations and validation limits.
Install: npm install brightpixels@1.5.0