[Performance Regression] GGUF models run noticeably slower with only ~50% VRAM usage after removing WAN Block Swap node (compared to previous manual offloading behavior at 80-90% VRAM)
- Dominant language
- Python
- Stars
- 133k
- Forks
- 15.7k
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 158
Description
### Custom Node Testing
- [x] I have tried disabling custom nodes and the issue persists (see [how to disable custom nodes](https://docs.comfy.org/troubleshooting/custom-node-issues#step-1%3A-test-with-all-custom-nodes-disabled) if you need help)
### Expected Behavior
Expected Behavior
In NORMAL_VRAM mode on a 16GB RTX 4080, GGUF models should fully utilize available VRAM (typically 13–15 GB, or 80–95%) just like the old manual block-offloading or the previous WAN Block Swap implementation did. This higher VRAM occupancy historically resulted in significantly faster generation speeds (higher it/s).
After the removal of WAN Block Swap, I expected the new async weight offloading system to maintain similar performance and VRAM utilization, not drop to only ~50% VRAM usage with a noticeable slowdown.
### Actual Behavior
Environment
GPU: NVIDIA GeForce RTX 4080 16GB
Total VRAM: 16376 MB
Driver: 576.88
PyTorch: 2.8.0+cu129
xFormers: 0.0.33+5d4b92a.d20251203
ComfyUI version: v0.3.76-14-g519c9411 (2025-12-03)
VRAM state: NORMAL_VRAM (no --lowvram / --medvram flags)
Relevant extensions: ComfyUI-Easy-Use v1.3.4, ComfyUI-Impact-Pack V8.28, ComfyUI-Impact-Subpack V1.3.5, Crystools 1.27.4
Using async weight offloading with 2 streams + pinned memory
Problem Description
After the WAN Block Swap node was removed/deprecated, GGUF models now only use ~45-55% of VRAM (~7-9 GB on a 16GB 4080) even in NORMAL_VRAM mode.
Subjectively, generation speed feels significantly slower than before, when I manually offloaded parts of the model to system RAM and VRAM usage routinely reached 80-90% (13-14 GB). Back then iteration times were faster despite the higher VRAM usage.
Question
Is this massive drop in VRAM utilization (and the accompanying slowdown) intended behavior or a regression/bug in the new async weight offloading implementation?
Will the WAN Block Swap node (or an equivalent manual block-level offloading control) ever come back? Many users with 16GB cards preferred the old behavior because it gave higher throughput.
Reproduction
Load any Q4/Q5 GGUF model wan 2.2 model
Run a simple i2v workflow in NORMAL_VRAM
Observe VRAM usage stays below ~9 GB and it/s is obviously lower than previous versions where VRAM usage was allowed to go much higher via manual offloading.
Thanks for any clarification!
### Steps to Reproduce
run any workflow
### Debug Logs
```powershell
got prompt
loaded partially; 2654.55 MB usable, 0.00 MB loaded, 8475.47 MB offloaded, 2700.53 MB buffer reserved, lowvram patches: 0
100%|██████████████████████████████████████████████████████████████████████████████████| 10/10 [05:39<00:00, 33.90s/it]
Requested to load WAN21
```
### Other
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.