Skip to content

Ambisonic Visualizer Performance#101

Merged
joelmacx merged 4 commits intomainfrom
ambi-viz
Feb 17, 2026
Merged

Ambisonic Visualizer Performance#101
joelmacx merged 4 commits intomainfrom
ambi-viz

Conversation

@joelmacx
Copy link
Copy Markdown
Collaborator

@joelmacx joelmacx commented Feb 3, 2026

Description

Ambisonics visualizers were locking the UI due to long rendering times. This PR simplifies how the ambisonics visualizers are rendered and provides a similar visual.

Old: Finely tessellating a 2D circle for each view and calculating the colour of each cell.
New: Project each speaker onto a 2D view then paint a thresholded gradient radiating from its position.

Changes

  1. Updated sphere paint method.

Validation and Acceptance Criteria

  • Measured wall clock time for paint method of new method with a 3OA audio element. Old was 30ms, new is 100us.
  • Validated UI is responsive with panned ambisonics elements and no longer freezes.
Screen.Recording.2026-02-12.at.1.31.44.PM.mov

Copy link
Copy Markdown
Collaborator

@BrandenAvalonCx BrandenAvalonCx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While not simple, this change looks relatively clean to me, the performance is greatly improved, the UI looks good and there don't seem to be any artefacts or flickering in the monitoring. Well done.

@joelmacx joelmacx merged commit 2078978 into main Feb 17, 2026
3 checks passed
@joelmacx joelmacx deleted the ambi-viz branch February 17, 2026 21:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants