Repository navigation
feat: complete GPU footprint labels and backend benchmarks - #42
Merged
Merged
Conversation
This was referenced Sep 30, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR #41 added the order-flow stack, but #40 still lacked GPU text and a real browser comparison. Footprint bid×ask labels now use a bounded glyph atlas with instanced quads; Canvas2D remains the fallback. Separate RGB/alpha blending preserves opacity when the GL canvas is composited.
Adds a Chrome benchmark for both backends at 1,000, 50,000 and 144,000 retained depth points. The largest workload spans 24 hours at one snapshot per minute, 50 levels per side. Recorded WebGL2 pan/zoom held ~60 animation FPS, with p95 CPU submission of 12.2/12.8 ms; Canvas2D reached ~24 FPS. These are rAF/CPU measurements on an M3 Max, not compositor FPS or a guarantee at finer history resolution. Raw results and reproduction commands are in
packages/chart/PERFORMANCE.md.Validation:
npm run coverage: 1,855 tests pass; 100% line, branch and function coverage.Closes #40. Closes #36.