Luxar Viewer API Documentation - v2026.10.19
    Preparing search index...

    Module workers/worker-pool/codec-warmup

    Lazy, one-worker-first warm-up of the data workers' blosc codec.

    Warming a worker's codec makes it download the worker bundle's own blosc chunk (~600 KB). Doing that for every worker the moment it came ready meant 15 concurrent downloads (~9.4 MB) competing with the scene metadata on a hosted link — the sp64 gate store's cold first frame went from 3.6 s to 6.6 s, on a store none of whose chunks clears the offload floor at all.

    So nothing is warmed until a decode actually wants a worker (CodecWarmup.ensureWarm, called by the codec dispatcher for a chunk above the floor). That warms exactly ONE worker, while the caller decodes on the main thread; only once it finished are the others warmed, so they read the chunk from the HTTP cache instead of the network.

    A warm-up is NOT a query: it never touches a worker's activeQueries, so it cannot make a worker look busy to the pool's stats. Decode dispatch instead asks CodecWarmup.isWarm: a worker still warming gets no decode.

    CodecWarmup
    CodecWarmupDeps
    WarmState