v.1.9.37b #11
Closed
naxci1
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
1-Click SeedVR2.5 GUI — Changelog v1.8b → v1.9.37b
v1.9.37b
frame count difference between source and upscaled videos and applies an
automatic offset. Source video frame N is displayed alongside upscaled video
frame N+offset, ensuring temporal alignment in the comparison view.
v1.9.36b
_process_frames_corewas passingprepend_frames=0topostprocess_all_batches, causing 4 extra frames inthe output. Now passes
args.prepend_framesto correctly remove prependedframes, ensuring output frame count matches input.
Export System Overhaul
v1.9.35b
issues. Prepend frames are kept in the output for debugging.
Comprehensive Codec Support
h264_nvenc/hevc_nvencwith automatic NVENC detection. Profiles: Baseline,Main, High (H264); Main, Main10, Main12 (H265). Quality levels: Low / Mid / High
mapped to CQ values.
4444 XQ. MOV container.
rgba64lepixel format formaximum fidelity (MKV/AVI). Uses
-coder 1 -context 1 -g 1.av1_nvenc).v1.9.34b
mismatch between input and output videos.
Image Sequence Export
v1.9.33b
pipeline (
_pipeline_process) with async frame prefetch. This was slowerthan the original 4-phase serial approach and was fully reverted. The
original serial pipeline is retained.
chunk_args.batch_sizeoverridethat was forcing single-batch processing per chunk, causing OOM with large
frame counts.
_pipeline_process,lightweight_cleanup,pipeline_mode, async prefetchthread, and related code.
Export Dialog Features
availability and selects GPU encoding when present.
appropriate CQ/QP values.
-spatial_aq 1enabled for NVENC encoders for better quality.-pix_fmt p010lefor H265,yuv422p10lefor ProRes, etc.).(e.g., ProRes → MOV only).
build_ffmpeg_command()constructs optimalffmpeg arguments based on selected codec, profile, quality, and container.
v1.9.32b
--force-channels-lastequivalent)— The DiT model is now converted to
torch.channels_lastmemory layoutafter materialization. On Blackwell (RTX 50xx) this enables the faster NHWC
tensor core path for conv and linear ops. Backend-specific: only applied on
NVIDIA CUDA and AMD ROCm RDNA3+ via
supports_channels_last().--dont-upcast-attentionequivalent) — Rotary position embeddings were upcasting q/k to float32 on
every attention layer, then casting back. Now RoPE runs in native bf16
throughout (via
supports_low_precision_rope()), eliminating the expensivefp32 round-trip on every forward pass in both 3B and 7B models.
upcast_softmax=Trueand
force_upcast=True, forcing softmax to float32. Both disabled to keepthe entire VAE pipeline in bf16. Applied at runtime in
model_loader.pybased on backend detection.
into 2 tiles, doubling the decode work. Now both
vae_encode_tiledandvae_decode_tileddefault toFalse(matching ComfyUI node defaults). RTX5070 Ti 16GB VRAM handles full-resolution VAE without tiling.
PYTORCH_ALLOC_CONF) — Previous attempts withexpandable_segments:True(unsupported on Windows, PyTorch #123548 conflict)and
backend:cudaMallocAsync(reserved VRAM never reclaimed) both causedfragmentation. The default PyTorch caching allocator works best on Windows.
_parse_offload_deviceno longer forces CPU — Whenoffload_device="none",the CLI previously auto-promoted to
"cpu"if caching was enabled, silentlyre-introducing model ping-pong. Now
"none"always means GPU resident.defaults were
vae_offload_device=cpuandtensor_offload_device=cpu,forcing every model and all latent tensors to ping-pong GPU↔CPU between
phases. Defaults changed to GPU (none), matching ComfyUI's
--gpu-only.to friendly "GPU"/"CPU" labels with bidirectional mapping.
v1.9.31b
directly from the original file via cv2 (preserving full bit depth) instead
of the 8-bit display pixmap. 16-bit sources keep their full 16-bit precision
in the comparison.
preview_source.tiff,preview_fallback.tiff,preview_result.tiff) are deleted before each newpreview run and when a file is removed from the project list.
SplitViewWidgetrewritten withdual-video synchronized playback via dual
cv2.VideoCapture+QTimer.Supports play/pause, seek slider, keyboard controls (Space/Left/Right/
Home/End), and click-to-toggle playback.
Settings Panel Enhancements
v1.9.30b
environment variables ComfyUI uses (
TORCH_CUDNN_BENCHMARK,TORCH_CUDNN_SDP_ENABLED,TRITON_INTERPRET=0,CUDA_CACHE_PATH,CUDA_MODULE_LOADING=LAZY), pluscudnn.benchmark=Trueand TF32 matmul(
set_float32_matmul_precision("high")). Compile-free speedup.torch.interpolate(Lanczos + antialias) instead of CPU
cv2with uint8 quantization.(
ffv1 -pix_fmt rgba64le -coder 1 -context 1 -g 1, MKV/AVI).(variant="danger") that clears all files and emits
file_removedper file.failure = descending two-tone (622→415 Hz). All via
winsound.Beep.Resolution
Presets (720p, 1080p, 1440p, 4K).
EWA-Lanczos GPU interpolation.
v1.9.21b–v1.9.29b
reduces tile size (1024→512→256), increases BlockSwap (0→16→24→32→36),
reduces batch size, or enables pre-downscale — then retries without manual
intervention.
Conv3d 3x memory bug and applies direct
torch.cudnn_convolutionbypass.Backendenum (CUDA/ROCM/XPU/MPS/CPU) with
supports_channels_last()andsupports_low_precision_rope()for backend-specific optimizations.
empty_cache()between decode batches toprevent reserved-but-unallocated VRAM accumulation.
retry_on_oomsleep removal — Removed hardcoded 0.5s sleep in OOM retrypath for faster recovery.
release_model_memoryVRAM flush — Addedempty_cache()after modelparameter release to immediately return freed VRAM to the allocator.
Batch Processing
coherence but more VRAM.
batch_sizefor consistentprocessing.
(default: 4).
artifacts (default: 4).
VAE Tiling
encode and decode.
Color Correction
HSV, AdaIN, or None.
Noise
Advanced
batch size on OOM errors without manual intervention.
Friendly dropdown labels ("GPU"/"CPU") with automatic CLI token mapping.
chunk_duration_minutesfor streaming large videos intime-bounded chunks with temporal overlap blending.
load_cap,skip_first_frames,only_framesforprocessing specific portions of a video.
cache_dit/cache_vaekeeps models in RAM between runs,eliminating SSD re-reads for batch processing.
Project Panel
from the queue. Emits
file_removedsignal per file for proper cleanup.Split View Widget
cv2.VideoCapturehandles andplays source + upscaled videos in sync via
QTimer.and upscaled videos, applies temporal offset for correct alignment.
QSliderfor frame-accurate scrubbing.(jump to start/end).
set_images()for single-frame previewcomparison.
Preview System
original file via cv2 at native bit depth (16-bit TIFF preserved) instead of
the 8-bit display pixmap.
preview run and on file removal, preventing stale split-view images.
Performance Optimizations
Environment & Allocator
TORCH_CUDNN_BENCHMARK=1,TORCH_CUDNN_SDP_ENABLED=1,TRITON_INTERPRET=0,CUDA_MODULE_LOADING=LAZY,CUDA_CACHE_MAXSIZE=4GB, persistentCUDA_CACHE_PATH.torch.backends.cudnn.benchmark = Trueandset_float32_matmul_precision("high")for compile-free speedup.PYTORCH_CUDA_ALLOC_CONFoverride.expandable_segmentsis unsupported on Windows;cudaMallocAsynccauses VRAMfragmentation;
max_split_size_mbconflicts with expandable_segments (#123548).The default allocator is the most stable on Windows.
Model Memory
torch.channels_lastafter materialization, enabling NHWC tensor core path on Blackwell/RDNA3+.
Backend-gated via
supports_channels_last().on CUDA/ROCm/XPU, eliminating the per-attention-layer fp32 round-trip in both
3B and 7B models. Backend-gated via
supports_low_precision_rope().upcast_softmax=Falseandforce_upcast=Falseto keep entire VAE in bf16. Applied at runtime based onbackend detection.
offload_device=none+ caching, modelsstay resident on GPU (no CPU round-trip). When
offload_device=cpu+ caching,models are kept in RAM (no SSD re-read).
_parse_offload_devicefix —"none"always returnsNone(GPU resident),no longer auto-promoted to
"cpu"when caching is enabled.VAE Decode
empty_cache()between decode batches — Prevents reserved-but-unallocatedVRAM accumulation that triggers OOM on later batches.
release_model_memoryVRAM flush —empty_cache()after parameter releaseto immediately return freed VRAM to the allocator.
retry_on_oomsleep removal — Removed hardcoded 0.5s sleep for faster OOMrecovery.
benchmark=Truein the Conv3d memory bug workaroundfor optimal kernel selection.
Backend Detection
Backendenum — CUDA (NVIDIA), ROCM (AMD), XPU (Intel), MPS (Apple),CPU. Automatic detection via
torch.version.hip,torch.xpu, etc.supports_channels_last()— Returns True for NVIDIA CUDA and AMD RDNA3+/MI300.supports_low_precision_rope()— Returns True for CUDA, ROCM, XPU, CPU.Returns False for MPS (numerical stability).
Auto-Tune OOM System
0→16→24→32→36, batch size reduction, pre-downscale activation.
Audio & UX
ComfyUI Optimizations Applied
All CLI optimizations were also applied to the ComfyUI custom node at
C:\ComfyUI\ComfyUI\custom_nodes\seedvr2_videoupscaler\:upcast_softmax=False,force_upcast=Falsedevice_manager.pybackend detectionsleep(0.5)removal inretry_on_oombenchmark=TrueVersion History Summary
This discussion was created from the release v.1.9.37b.
All reactions