Imported video is a Group[Video, Audio] that rendered as a Vello-baked Vector layer, re-uploading the full frame to Vello's image atlas every frame (~17ms/frame at 1080p, hitting playback and export alike). Extract video frames out of the Group/clip scene recursion into VideoRenderInstances so they composite via the GPU Video path; mixed video+vector containers fall back to Vello (correct, unaccelerated). Also route video through hardware sRGB decode: upload raw sRGB bytes to an Rgba8UnormSrgb texture and blit with a non-unpremultiplying shader variant (blit_straight), removing the per-frame per-pixel CPU sRGB->linear pass. Add an F3 GPU-timestamp timer and a per-frame video texture cache. Drops the live composite of a 1080p video from ~17ms to ~2-3ms. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| assets | ||
| examples | ||
| src | ||
| Cargo.toml | ||
| PLAN.md | ||
| TOOL_IMPLEMENTATION_PLAN.md | ||
| build.rs | ||