본문 바로가기
카테고리 없음

ComfyUI Tiled VAE 설정, 영상 temporal_size 조정 기준

by GoingProdo 2026. 8. 22.

ComfyUI의 VAEDecodeTiled에는 익숙한 tile_size, overlap 외에도 temporal_size, temporal_overlap이라는 값이 있다. 이미지 생성만 했다면 이 두 값을 건드릴 일이 거의 없지만, 영상 VAE를 사용하는 워크플로우에서는 시간축을 어떻게 나눠 처리할지 결정하는 설정이 된다.

현재 기본값은 temporal_size 64, temporal_overlap 8이다. 중요한 점은 이 값이 이미지의 가로·세로 타일 크기를 조절하는 옵션이 아니라 영상 프레임 방향의 tiled VAE 처리량을 조절하는 옵션이라는 것이다.

tiled vae 설정에서 가장 먼저 볼 변화

temporal_size는 한 번에 처리할 프레임 범위를 정한다

VAEDecodeTiled의 temporal_size는 영상 VAE에서 한 번에 Decode할 시간축 영역을 지정한다. 현재 기본값은 64이며 설정 범위는 8부터 4096까지, 4단위로 조정된다.

이미지 VAE라면 시간축 자체가 없기 때문에 이 설정은 실질적으로 사용되지 않는다. ComfyUI 내부에서도 연결된 VAE가 temporal compression을 제공하지 않으면 temporal tiling 값을 사용하지 않는 방식으로 처리한다.

tile_size와 temporal_size는 서로 다른 축이다

tile_size가 가로·세로 공간을 작은 영역으로 나누는 설정이라면 temporal_size는 영상의 시간 방향을 나눈다.

즉 영상에서는 다음 두 종류의 tiling을 따로 생각하면 된다.

공간축 → tile_size

시간축 → temporal_size

고해상도 영상에서는 공간 해상도와 프레임 수가 동시에 커질 수 있으므로 두 축을 분리해서 보는 것이 중요하다.

따라서 이미지 생성에서 사용하던 tile_size 조정법을 그대로 temporal_size에 대입하기보다, 영상 VAE에서 시간축 처리량을 조절하는 별도 설정으로 이해해야 한다.

tiled vae 설정가 ComfyUI 워크플로우에 미치는 영향

temporal_overlap은 프레임 구간 사이를 겹친다

기존 방식과 비교해야 할 부분

영상을 여러 temporal tile로 나누면 각각의 구간 경계가 생긴다. temporal_overlap은 이 경계 주변의 프레임을 서로 겹쳐 처리하기 위한 값이다.

현재 VAEDecodeTiled의 기본값은 8이며 최소 4, 최대 4096까지 4단위로 조정할 수 있다.

기본값 64·8에서 먼저 시작한다

처음부터 temporal_size와 temporal_overlap을 크게 바꿀 필요는 없다. 기본값인 64·8에서 정상적으로 Decode된다면 그대로 사용하는 것이 가장 단순하다.

특히 문제 원인을 확인하는 상황에서는 공간 tile_size, overlap, temporal_size, temporal_overlap을 동시에 바꾸지 않는 편이 좋다. 한 번에 하나의 축만 변경해야 어느 설정이 결과에 영향을 줬는지 구분하기 쉽다.

영상 Decode 중 시간축 처리와 관련된 메모리 부담을 줄여야 한다면 그때 temporal_size를 낮춰 비교하는 방식으로 접근할 수 있다.

ComfyUI는 temporal 값을 내부에서 다시 조정한다

VAEDecodeTiled 내부에서는 사용자가 입력한 temporal_size와 temporal_overlap이 영상 VAE의 temporal compression에 맞춰 다시 계산된다.

성능과 결과 품질에서 확인할 차이

현재 구현에서는 먼저 vae.temporal_compression_decode() 값을 확인한다. temporal compression이 존재하면 temporal_size와 temporal_overlap을 해당 압축 비율에 맞춰 latent 시간축 단위로 변환한다.

워크플로우 구성에서 놓치기 쉬운 부분

예를 들어 사용자가 보는 값은 이미지 프레임 기준에 가깝지만 실제 VAE 내부 tiled decode에서는 latent가 가진 시간축 압축 구조에 맞춰 처리되는 것이다.

temporal_overlap도 내부에서 제한된다

현재 구현에서는 temporal_size < temporal_overlap × 2인 경우 temporal_overlap 값을 조정한다.

또 temporal compression을 적용한 뒤에는 overlap이 temporal_size의 절반을 넘지 않도록 제한하는 처리도 들어간다.

따라서 temporal_overlap을 크게 입력했다고 해서 실제 내부 처리에서도 그 값이 그대로 적용된다고 생각하면 안 된다. ComfyUI가 현재 VAE 구조에 맞게 값을 보정할 수 있다.

이 때문에 세밀한 성능 비교를 할 때는 UI에 적힌 숫자만 보는 것이 아니라 현재 사용하는 영상 VAE의 temporal compression 구조도 함께 고려해야 한다.

VAEEncodeTiled에도 temporal 설정이 있다

영상 입력을 latent로 바꾸는 VAEEncodeTiled에도 temporal_size와 temporal_overlap이 존재한다.

현재 기본값 역시 temporal_size 64, temporal_overlap 8이다. Decode에서는 “한 번에 몇 프레임을 복원할 것인가”에 가깝다면 Encode에서는 “한 번에 몇 프레임을 latent로 변환할 것인가”에 해당한다.

실제로 적용할 때 체크할 점

따라서 영상 img2img나 video-to-video처럼 입력 영상도 VAE Encode를 거치는 워크플로우에서는 Decode 노드만 확인하면 부족할 수 있다.

입력 쪽에 VAEEncodeTiled가 있다면 Encode와 Decode 각각의 temporal 설정을 구분해서 확인해야 한다.

영상 VAE마다 tiled 처리 방식은 다를 수 있다

ComfyUI에는 여러 종류의 영상 VAE 구현이 들어가 있고 내부 tiled 처리 방식도 완전히 동일하지 않다.

일부 VAE는 자체적으로 temporal slicing이나 tiling 로직을 갖고 있으며, 특정 구현에서는 ComfyUI의 일반적인 tiled 인자를 그대로 사용하지 않고 자체 처리로 넘기기도 한다.

따라서 temporal_size를 줄였는데 예상한 만큼 메모리 사용량이나 속도가 변하지 않는다면 설정이 잘못됐다고 단정하기보다 현재 VAE가 tiled decode를 어떻게 구현하는지 확인할 필요가 있다.

특정 영상 모델에서 VAEDecodeTiled 자체의 오류가 보고되는 경우도 있으므로, 갑자기 동작하지 않는다면 값 조정보다 먼저 ComfyUI 업데이트와 해당 모델의 현재 호환 상태를 확인하는 편이 좋다.

Tiled VAE 영상 설정은 64·8에서 시작한다

영상 VAE에서 Tiled VAE를 설정한다면 우선 temporal_size 64, temporal_overlap 8이라는 현재 기본값에서 시작하면 된다. 문제가 없다면 굳이 값을 바꿀 이유는 없다.

시간축 Decode에서 부담이 생길 때 temporal_size를 낮춰 비교하고, temporal_overlap은 경계 구간을 겹치는 값이라는 점을 함께 보자. 이미지용 tile_size·overlap과 영상용 temporal_size·temporal_overlap을 서로 다른 축의 설정으로 구분하는 것이 가장 중요하다.