Silence Remover Performance & Windowed Rendering
Silence Remover performance updates with windowed rendering, viewport clipping, memoization, and throttled controls.
⚡ Performance
Windowed Rendering for Silence Preview
The SilencePreviewComposition now uses windowed rendering to dynamically mount only the visible sequences in the Remotion player. This dramatically improves playback performance when working with many segments during silence removal, keeping your video editing workflow smooth even on complex projects.
Viewport Clipping on Waveform Track
Added viewport clipping to the WaveformTrack component, ensuring that only the visible portion of the waveform is rendered in the silence timeline. This optimization reduces GPU workload and delivers a more responsive macOS editing experience.
Smarter Memoization
Optimized globalKeepSegments memoization with structural equality checks, preventing unnecessary re-renders when segment data hasn’t actually changed. This results in noticeably faster UI updates during real-time silence removal analysis.
Resize Coalescing with requestAnimationFrame
Timeline segment resizing now coalesces updates using requestAnimationFrame, eliminating layout thrashing and ensuring buttery-smooth drag interactions in the silence timeline.
Throttled Slider Controls
Implemented throttled updates for the SmartSlider component during drag interactions, applied across all silence analysis controls. This prevents excessive recalculation while still providing responsive, real-time feedback during video editing adjustments.
✨ Improvements
Unique Segment IDs
Segments now carry a unique id property, improving state management and UI rendering consistency. This lays the groundwork for more advanced segment-level features in future Velocaption updates.
♻️ Refactoring
Cleaner Data Flow in Timeline
Separated stable layout data from volatile segment state in SilenceTimelineContent, resulting in a cleaner data flow architecture and fewer unnecessary component updates during playback and editing.
Optimized Divider Generation
Deduplicated and sorted global divider values inline, reducing redundant computation in the timeline rendering pipeline.
Subscription-Based Sidebar Sync
Updated SilenceSidebar to use a subscription-based approach for syncing the active clip highlight, significantly reducing re-renders and improving sidebar responsiveness during captioning and silence removal workflows.
📝 Documentation
Added detailed documentation covering the performance optimizations introduced in this release, including windowed Remotion sequences and divider deduplication strategies.
