~/talk

How I optimized my JavaScript sheet music rendering engine

slides:none on file

Soundslice is a JavaScript canvas renderer that trades SVG for raw bitmap speed, uses a windowed canvas to redraw only the visible rectangle, and subsets a 160-glyph music font to save 500k. Playback throttles redraws with requestAnimationFrame, memory shrinks via bit‑field-packed note flags and singleton fractions, and Closure Compiler advanced optimizations cut shipped JS to gzip ~86K. Also uses an HLS/video library and a slow‑audio library and caches an app shell via service worker for instant navigations.

AI-written summary · about

  1. 0:00Introduction
  2. 0:52Overview
  3. 2:11Music Notation
  4. 6:52Performance
  5. 8:55Guiding philosophies
  6. 10:37Canvas vs SVG
  7. 12:25The naive way
  8. 14:30Layers
  9. 16:00Fonts
  10. 19:12Rerendering
  11. 22:13Thinking creatively
  12. 24:44Chrome dev tools
  13. 27:14Garbage collection
  14. 30:56JavaScript hidden classes
  15. 32:50Black magic
  16. 35:15Thirdparty libraries
  17. 38:25Closure compiler
  18. 41:02Appshell architecture
  19. 44:24QA time
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.