studio-perf

작성자: remotion-dev

Remotion Studio 렌더 성능을 최적화하여 프레임 반응형 컴포넌트 표면을 최소화하고, 명령형 타임라인 상태 읽기를 선호하며, 안정적인 컴포넌트를 메모이제이션하여…

npx skills add https://github.com/remotion-dev/remotion --skill studio-perf

Studio Performance

Minimize frame subscriptions

Keep dependencies on the current frame as low in the component tree as possible. Prefer imperative timeline state reads such as getCurrentFrame() over Internals.Timeline.useTimelinePosition() for event handlers and other on-demand logic.

Use useTimelinePosition() only in the smallest leaf component whose rendered output must change with the frame. If a parent reads the frame only to pass it to a child, extract a frame-subscribing child so the parent and its other descendants stay stable.

Memoize stable boundaries

Wrap components in React.memo() when they can safely skip parent-driven renders. Confirm that their props remain referentially stable across frame updates: newly created objects, callbacks, styles, or React nodes defeat shallow memoization. Stabilize those props only where it is natural; avoid custom comparators that ignore behaviorally relevant changes.

Context subscribers continue to update through memoized ancestors. Prefer a memoized stable parent with a small frame-subscribing leaf over making the whole subtree reactive to the current frame.