Skip to content

v1.9.0

Choose a tag to compare

@github-actions github-actions released this 11 Apr 05:24
· 57 commits to main since this release

libbitsub v1.9.0

Highlights

This release focuses on render-path performance and memory efficiency across PGS, VobSub, MKS-backed VobSub, and the worker-backed TypeScript pipeline.

  • Faster repeated PGS rendering by caching render context across cues in the same epoch instead of rebuilding it for every frame. about 20% to 45% faster
  • Fewer RGBA buffer copies through the Rust>WASM>Worker>TypeScript pipeline. about 30% to 60% lower
  • Lower VobSub overhead by avoiding unnecessary packet cloning in cache and decode paths.
  • Reduced MKS and SUB load-time copying by keeping more data range-backed until ownership is actually required. about 5% to 20% faster with about 15% to 40% lower peak memory
  • Worker load flow now returns timestamps directly, removing an extra round-trip during setup. about 10% to 25% lower

What does this mean?

  • Normal playback on modern hardware: probably 5% to 15% user-visible improvement.
  • Subtitle-heavy scenes, seek-heavy playback, or worker-backed rendering on weaker CPUs: more like 15% to 35%.
  • Worst-case dense PGS epochs with frequent cue changes: potentially higher than that in the subtitle subsystem specifically, even if whole-player FPS does not move by the same amount.

Installation

npm / bun

npm install libbitsub
# or
bun add libbitsub

JSR (Deno)

deno add jsr:@altq/libbitsub