Cambia tema

Ottimizzare ComfyUI con poca VRAM: SDXL, FLUX e video su GPU da 6–8 GB

Easton editorial illustration: one compact charcoal graphics card with an orange 8GB VRAM gauge, one small ComfyUI-style node chain passing through the GPU memory window

"La documentazione ufficiale Startup Flags di ComfyUI elenca lowvram, novram, reserve-vram, async offload, cache e opzioni attention. Verifica il comportamento nella documentazione corrente e in main.py --help."

Il terminale mostra torch.cuda.OutOfMemoryError: CUDA out of memory. Nella console di ComfyUI compare regular VAE encoding, retrying with tiled VAE encoding, ma l’immagine da 1024×1024 non viene comunque completata. Una RTX 3060 da 8 GB riesce a generare un’immagine SDXL singola, ma attivando insieme Hires Fix, FaceDetailer e ControlNet l’uso supera subito 12 GB. A 768×768 e senza ControlNet il workflow parte, ma il risultato non ha la qualità desiderata.

Con 6–8 GB di VRAM, una normale GPU consumer oppure un ambiente Apple Silicon o AMD, l’obiettivo è eseguire nel modo più stabile possibile SDXL, FLUX e workflow video leggeri in ComfyUI, sapendo quali interventi sacrificano velocità, qualità o compatibilità.


Prima individua la fascia di VRAM della GPU

Il budget di VRAM non si decide a intuito. La fascia della GPU determina i workflow realistici e la prima strategia da provare.

Fascia VRAM, workflow possibili e punto di partenza

VRAMWorkflow possibiliLimiti e rischiPunto di partenza consigliato
6 GBSDXL a bassa risoluzione (512–768)
FLUX fortemente quantizzato (Q2_K/Q3_K_S + GGUF + —lowvram/—novram)
Video: 8 frame 480p come caso limite
Risoluzione limitata
I nodi aggiuntivi causano facilmente OOM
Offload su RAM lento
Quantizzazione spinta come Q3_K_S
Risoluzione 512–768
ControlNet e rami di post-elaborazione disattivati
Non più di 8 frame video
8 GBUn’immagine SDXL 1024×1024
FLUX fp8/GGUF Q4_K_S senza stabilità garantita
8 frame 480p agevoli, 24 frame 720p al limite
ControlNet e Hires Fix insieme possono causare OOM
T5 deve essere fp8/GGUF
Non oltre 1024×1024
FLUX.1 GGUF Q5_K_S al limite
Prima FLUX.2 Klein 4B GGUF
T5 fp8/GGUF
Tiled VAE
batch size=1
12 GBSDXL + ControlNet + upscale semplice
FLUX Q5_K_S/Q6_K agevole
24 frame 720p agevoli, 60 frame 1080p al limite
Più ControlNet richiedono attenzione
Va calcolato frame×risoluzione
Picco di post-elaborazione ancora limitato
FLUX Q5_K_S/Q6_K
T5 fp8 facoltativo
Tiled VAE facoltativo
Provare batch size 2–3
16 GB+FLUX full fp16 o Q8_0 quasi lossless
Più spazio per ControlNet/LoRA
60 frame 1080p
File FLUX full di circa 23 GB
Frame×risoluzione resta importante
Esiste ancora il picco di post-elaborazione
FLUX Q8_0 o fp16
T5 fp16
Tiled VAE facoltativo
Provare batch size 4–8

Principali cause dei picchi, dalla più pesante

  1. Pesi del modello: checkpoint SDXL circa 6,5 GB, FLUX fp16 circa 23 GB
  2. Encoder T5: fp16 circa 9 GB, oltre una GPU da 8 GB; fp8 circa 4–5 GB; GGUF Q3/Q4/Q5
  3. Risoluzione latent: un latent 2048×2048 può avvicinarsi a 8 GB
  4. VAE encode/decode: casi con picchi di circa 8 GB a 2048×2048
  5. Batch size: l’inferenza simultanea crea il picco maggiore
  6. ControlNet/Detailer: casi di circa 2–3 GB ciascuno
  7. Frame video: frame×risoluzione×VideoVAE
  8. Cache/anteprima: circa 0,5–1 GB

Il consumo reale dipende da risoluzione, precisione, versione del modello, batch, nodi di post-elaborazione, frame, PyTorch/driver e implementazione dei custom node. Può variare di 1–2 GB. Usa la tabella come budget iniziale, poi misura il workflow effettivo.


Flag di avvio di ComfyUI per poca VRAM

ComfyUI offre diversi flag per controllare VRAM e memoria di sistema. Cambiano tra le versioni: le indicazioni seguenti si riferiscono circa a ComfyUI v0.18.0+ di marzo 2026. Dai sempre priorità a python main.py --help e alla documentazione ufficiale corrente.

Flag, funzione, GPU e impatto sulla velocità

FlagFunzioneGPUImpatto sulla velocitàQuando usarlo
--lowvramDivide il modello e trasferisce i segmenti dalla RAM4–8 GB20–40% più lentoNessun effetto con Dynamic VRAM attivo
Prova manuale dopo —normalvram
--novramMantiene i pesi in CPU/RAM e sposta sulla GPU solo il calcolo attivoMeno di 4 GB50–70% più lentoUltima risorsa
Molto lento, ma può partire
--normalvramForza la modalità standard e disattiva Dynamic VRAM12 GB+Nessun impatto previstoPer provare manualmente —lowvram
OOM da frammentazione
--reserve-vram NRiserva N GB di VRAM al sistema operativoTutte le fasceNessun impatto previstoEvita instabilità del sistema
Di solito 2–4 GB
--async-offloadEsegue l’offload dei pesi in modo asincronoTutte le fasceEsempio: 5–10% più veloceRiduce l’attesa CPU–GPU con RAM sufficiente, in genere 32 GB+
--fp8_e4m3fn-unetForza UNet in fp88–12 GBIn genere neutroFLUX può ignorarlo
Controlla il compute dtype
--fp8_e4m3fn-text-encUsa fp8 per il text encoder8 GBIn genere neutroPorta T5 da circa 9 GB a 4–5 GB
FLUX con poca VRAM
--fp8_e5m2fn-text-encUsa un altro formato fp8 per il text encoder8 GBIn genere neutroAlternativa a fp8_e4m3fn
--preview-method noneDisattiva la generazione dell’anteprimaTutte le fasceLeggermente più veloceRisparmia circa 0,5–1 GB
Prima prova per un OOM
--cache-noneDisattiva la cacheRAM limitataPiù lentoRisparmia RAM ma aumenta i ricalcoli
--cache-lru 10Conserva 10 risultati in una cache LRURAM sufficientePiù veloceCompromesso per la cache
Provare 10–20
--cache-classicUsa la vecchia cache aggressivaRAM sufficientePiù velocePuò occupare più RAM
--force-fp16Forza fp16 globalmenteTutte le fasceIn genere neutroPuò risparmiare 2–3 GB
--use-pytorch-cross-attentionForza SDP attention di PyTorchTutte le fasceEsempio: 5–20% più veloceComfyUI sceglie spesso xformers/SDP automaticamente
Forzare solo in test specifici
--use-flash-attentionForza Flash AttentionTutte le fasceEsempio: 5–20% più veloceRichiede flash-attention
Incompatibile con alcune versioni CUDA
--fastModalità veloce sperimentaleTutte le fasceIncertoEsperimento avanzato
Può alterare qualità o stabilità
Non è un’impostazione base per 8 GB

Esempi di comando

# Configurazione di base per 8 GB di VRAM
python main.py --lowvram --force-fp16 --fp8_e4m3fn-text-enc --preview-method none

# Configurazione limite per 6 GB di VRAM
python main.py --novram --force-fp16 --fp8_e4m3fn-text-enc --preview-method none --reserve-vram 2

# Configurazione più veloce con RAM sufficiente
python main.py --async-offload --cache-lru 10 --use-pytorch-cross-attention

Informazioni soggette a cambiamento: i flag possono cambiare. Verifica python main.py --help e la documentazione corrente. FLUX può ignorare --fp8_e4m3fn-unet per il proprio compute dtype interno; quando serve, imposta weight_dtype nel nodo.


Perché —lowvram non evita sempre l’OOM

Intorno a ComfyUI v0.18.0+ di marzo 2026, Dynamic VRAM è attivo per impostazione predefinita. Gestisce già l’offload in modo adattivo, quindi con Dynamic VRAM attivo --lowvram viene ignorato.

Quando provare manualmente --lowvram

  • Dopo aver disattivato Dynamic VRAM con --normalvram
  • Se un workflow presenta OOM da frammentazione, provando --disable-dynamic-vram

Alternative

  • Usa il comportamento predefinito di Dynamic VRAM
  • Tieni --novram come ultima risorsa, accettando una perdita di velocità del 50–70%
  • Riserva margine al sistema con --reserve-vram 2-4

Vantaggio di Dynamic VRAM: valuta la memoria necessaria e scarica automaticamente in RAM quando la VRAM non basta.

Rischio di Dynamic VRAM: in alcuni workflow può restare un OOM da frammentazione; in quel caso prova --disable-dynamic-vram.


Tre percorsi per FLUX su 8 GB: fp8, GGUF e Klein 4B

FLUX è un modello da 12 miliardi di parametri e il file originale pesa circa 23 GB. Su 8 GB esistono tre percorsi con costi diversi.

Confronto dei percorsi di quantizzazione FLUX

PercorsoDimensione fileVRAMQualità rispetto a fp16GPUVelocitàCompatibilitàUso
FLUX full (fp16)~23 GB~20 GB+100%24 GB+Più veloceUfficialeUso professionale
VRAM sufficiente
FLUX fp8 checkpoint~12 GB~11 GB~95–98%12 GB agevoli/16 GB+Abbastanza veloceQuantizzazione ufficiale12 GB+
Un solo file
FLUX GGUF Q8_0~12,7 GB~11 GB~99%12 GB+/16 GB+Lento con offloadNodo city96, WIP12 GB+
Quasi lossless
FLUX GGUF Q5_K_S~8,5 GB~7,5 GB~94–96%8 GB al limite/12 GB agevoliLentoNodo city96, WIP8 GB
Equilibrio qualità
FLUX GGUF Q4_K_S~6,8 GB~6,5 GB~88–90%8 GB/6 GB al limitePiù lentoNodo city96, WIP6–8 GB
Priorità all’esecuzione
FLUX.2 Klein 4B GGUF Q4_K_M~2,6 GB~2,6 GBQualità propria del modello 4B8 GB agevoli4 steps, veloceApache 2.0, nodo city96Per 8 GB
Inferenza in 4 steps
Veloce

Encoder T5

Versione T5Dimensione fileVRAMGPU
T5 fp16~9 GB~9 GB24 GB+, oltre 8 GB
T5 fp8_e4m3fn~4–5 GB~4–5 GBPossibile su 8 GB
T5 GGUF Q3/Q4/Q5~2–4 GB~2–4 GBConfigurazione limite per 6–8 GB

Installazione

Per fp8, scarica il file safetensors, caricalo con Load Diffusion Model e imposta weight_dtype su fp8_e4m3fn nel nodo.

Per GGUF, installa il custom node ComfyUI-GGUF di city96, carica il modello con Unet Loader (GGUF) e metti il file in models/unet/.

Rischio dei nodi esterni: il nodo GGUF è indicato come WIP e il supporto LoRA è experimental. Cambia spesso e non è un percorso ufficiale integrato.

Osservazione qualitativa di Apatero: Q5_K_S resta vicino a fp16; le differenze emergono soprattutto nel testo renderizzato e nei pattern fini. Q4_K_S perde più dettaglio.

Osservazioni di velocità di Local AI Master

  • FLUX.1-dev Q4_K_S + —lowvram, 1024×1024, 20 steps, RTX 3060 Ti 8 GB: circa 90–150 secondi
  • FLUX.2 Klein 4B Q4_K_M, 1024×1024, 4 steps, 8 GB: circa 15–30 secondi

Benchmark soggetti a cambiamento: hardware, versioni e workflow modificano molto i risultati. Considerali soltanto intervalli di riferimento.


Ridurre gli OOM di VAE Encode e Decode con Tiled VAE

A 2048×2048 o nei video, VAE Encode/Decode può esaurire la VRAM. Tiled VAE divide l’immagine in aree più piccole e riduce il picco.

Nodi

VAEDecodeTiled decodifica il latent in tile. VAEEncodeTiled codifica l’immagine in latent nello stesso modo.

Parametri

ParametroFunzioneValore inizialeUso
tile_sizeDimensione di un tile512 con poca VRAM
1024 con margine
Più piccolo consuma meno VRAM ma rallenta
512 consigliato per 8 GB
overlapSovrapposizione tra tile64Evita le giunzioni
Regolabile tra 32 e 128
fast modeModalità velocetrueConsigliata
temporal_sizeBlocco temporale, solo VideoVAE8 con poca VRAM
16 con margine
Elabora i frame in gruppi
Serve soltanto per VideoVAE
temporal_overlapSovrapposizione temporale, solo VideoVAE2–4Overlap tra gruppi di frame

Confronto dei picchi, dati SynpixCloud

RisoluzionePicco VAE standardPicco Tiled 512Picco Tiled 1024
1024×1024~2 GB~0,5 GB~1 GB
2048×2048~8 GB~1 GB~2,5 GB

Quando usare Tiled VAE

  • Risoluzione oltre 1024×1024
  • GPU da 8–12 GB
  • Workflow video con VideoVAE
  • OOM nei nodi di post-elaborazione come Hires Fix, Upscale o FaceDetailer

Nota sulla documentazione del nodo: la pagina è indicata come generata dall’AI; fai riferimento all’interfaccia della versione ComfyUI installata.


Checklist OOM ordinata per causa del picco

Quando compare CUDA out of memory, controlla le cause dal picco maggiore al minore, applicando un’azione concreta per ogni voce.

Causa, riduzione e priorità

Causa del piccoEsempio di VRAMAzione di riduzionePriorità
Pesi del modelloSDXL ~6,5 GB
FLUX fp16 ~23 GB
Passa a fp8/GGUF
Usa —lowvram/—novram
P0
Encoder T5fp16 ~9 GBPassa a T5 fp8/GGUF, compreso city96 T5 GGUFP0 per FLUX
Risoluzione latent2048×2048 ~8 GBRiduci a 1024×1024 o 512×512P1
VAE encode/decodePicco ~8 GB a 2048×2048Tiled VAE, tile_size=512, overlap=64P1
batch sizebatch size=4 a 1024×1024, picco ~8–12 GBRiduci batch size a 1
Usa una coda con batch count
P2
ControlNet/Detailer~2–3 GB ciascunoDisattiva il ramo ControlNet
Oppure usa una configurazione ControlNet a poca VRAM
P2
Frame videoframe×risoluzione×VideoVAETemporal chunking
Meno frame
Tiled VAE temporale
P2 per video
Cache/anteprima~0,5–1 GB—preview-method none
—cache-none
P3

Azioni in ordine di priorità

  1. Riduci la risoluzione: da 2048 a 1024, poi a 512
  2. Disattiva l’anteprima: --preview-method none
  3. Passa a un modello fp8/GGUF: FLUX Q4_K_S, Q5_K_S o Klein 4B
  4. Passa a T5 fp8/GGUF: necessario per FLUX con poca VRAM
  5. Usa Tiled VAE: tile_size=512, overlap=64
  6. Riduci batch size: batch size=1 e coda con batch count
  7. Disattiva ControlNet e post-elaborazione: FaceDetailer, Hires Fix, Upscale
  8. Per i video: meno frame e temporal chunking

Checklist per la lentezza: distinguere due casi

Se la generazione è lenta, separa «lento ma funzionante», costo inevitabile dell’offload con poca VRAM, da «più lento del dovuto», dove puoi intervenire.

Tipo di collo di bottiglia, diagnosi e intervento

Collo di bottigliaSegnaleDiagnosiIntervento
Lento ma funzionante, costo dell’offload
—lowvram/—novram20–70% più lentoControlla i flag di avvioAccetta la lentezza
Oppure usa più VRAM
Offload GGUF in RAMUtilizzo GPU bassoPercentuale GPU nel task managerLa banda della RAM limita la velocità
Passa a fp8/fp16 se la VRAM basta
Workflow video con molti frameVAE Decode lentoCalcola frame×risoluzioneRiduci i frame
Usa Temporal Tiling
Modalità CPU con —cpuEstremamente lentoControlla i flag di avvioSolo come ultima risorsa
Usa o aggiorna la GPU
Più lento del dovuto, regolabile
Troppi sampler stepsFLUX dev oltre 20 stepsControlla il nodo KSamplerPer FLUX dev bastano 20 steps
schnell/Klein 4B ne richiedono 4
Attention non regolataUso VRAM altoControlla i flag di avvioAbilita xformers
Oppure SDP attention
VAE Decode lentotile_size di Tiled VAE troppo piccoloControlla VAEDecodeTiledDa 512 a 1024
Circa 1 GB in più, 10–30% più veloce
Offload CPU non regolatoAttese CPU–GPUControlla i flag di avvioAbilita —async-offload
Assicurati di avere almeno 32 GB di RAM
Cache su disco/RAM inadeguataIl modello viene ricaricatoControlla i flag di avvio—cache-lru 10
Memorizza 10 risultati
Altri processi usano la GPUUtilizzo GPU disponibile bassoPercentuale GPU nel task managerChiudi browser, giochi o editor video

Interventi in ordine di priorità

  1. Abilita xformers o SDP attention: pip install xformers, rilevato automaticamente da ComfyUI, oppure --use-pytorch-cross-attention; può risparmiare 20–30% di VRAM e accelerare del 5–20%
  2. Usa un modello FLUX da 4 steps: schnell o Klein 4B invece di dev a 20 steps
  3. Regola tile_size di Tiled VAE: da 512 a 1024, con circa 1 GB di picco in più ma 10–30% di velocità in più
  4. Abilita async offload: --async-offload quando la RAM è sufficiente
  5. Chiudi gli altri processi GPU: browser, giochi ed editor video

Dati SynpixCloud: xformers/SDP attention risparmia il 20–30% di VRAM e accelera del 5–20%.

Dati Local AI Master: FLUX.2 Klein 4B Q4_K_M, 4 steps, 1024×1024, 8 GB di VRAM, 15–30 secondi.

Dati soggetti a cambiamento: hardware, versioni e workflow modificano i risultati. Considerali soltanto intervalli di riferimento.


Perché un file GGUF più piccolo può essere più lento

Dopo la quantizzazione GGUF il file è più piccolo, circa 6,8 GB per Q4_K_S contro 23 GB per FLUX fp16, ma la generazione può rallentare:

  • GGUF scarica i pesi del modello nella RAM di sistema invece di mantenerli in VRAM, riducendo l’utilizzo della GPU
  • Durante l’inferenza i pesi devono passare dalla RAM alla VRAM, quindi ogni esecuzione comporta trasferimenti RAM→VRAM
  • La banda della RAM è molto inferiore a quella della VRAM: circa 25–50 GB/s per DDR4/DDR5 contro 500–1000 GB/s per GDDR6X

Quando usare GGUF

  • La VRAM non basta, per esempio per FLUX su 6–8 GB, e anche fp8 supera il limite
  • Accetti una velocità inferiore pur di rendere eseguibile il workflow

Quando non usare GGUF

  • Con almeno 12 GB di VRAM, fp8 o fp16 è più veloce
  • Se la priorità è la velocità e non semplicemente riuscire a eseguire il modello

Osservazione di Apatero: Q8_0 con offload sulla CPU può richiedere 5–10 minuti per una generazione.


Budget VRAM per i video: frame×risoluzione×VideoVAE

Nei workflow video, frame×risoluzione×VideoVAE fa salire rapidamente il consumo. Qui consideriamo solo budget e riduzione dei picchi, senza entrare nei workflow Wan o AnimateDiff completi.

Principio di budget

Il picco dipende da frame×risoluzione×VideoVAE, perché ogni frame richiede VAE Encode/Decode.

Formula approssimativa: VRAM ≈ pesi del modello + T5 + frame×latent per frame + picco VideoVAE.

Esempi, da ComfyUI-Wan2.2-workflow e Local AI Master

Parametri videoBudget VRAMGPUNota
8 frame 480p, 640×360~6–8 GBPossibile con 6 GBTest RTX 3050 6 GB: un secondo di video in meno di 5 minuti
24 frame 720p, 1280×720~12–16 GB8 GB al limite/12 GB agevoliRichiede Temporal Tiling
60 frame 1080p, 1920×1080~20–24 GB+16 GB+Per GPU con molta VRAM

Strategie per ridurre il picco

Temporal Tiling divide i frame in piccoli gruppi, per esempio 8 per volta, elaborandone uno solo alla volta. I parametri sono temporal_size, numero di frame per gruppo, e temporal_overlap, sovrapposizione tra gruppi.

Tiled VAE per i frame video applica la decodifica a tile a ogni frame e riduce il picco della singola immagine.

Riduci prima i frame da 60 a 24, poi a 8, per verificare se il workflow è eseguibile.

Riduci la risoluzione da 1080p a 720p, poi a 480p.

Come modello, prova Wan 2.2 5B, adatto a 8 GB, oppure Wan 2.2 14B GGUF, eseguibile da 6 GB.

Dati soggetti a cambiamento: hardware, versioni e workflow modificano i risultati. Considerali soltanto intervalli di riferimento.


Generare più immagini senza OOM: batch size e batch count

batch size e batch count hanno effetti molto diversi sulla VRAM. Aumentare alla cieca batch size porta facilmente a un OOM.

Differenza tra batch size e batch count

batch size esegue più inferenze insieme e produce il picco maggiore, moltiplicando latent, VAE e modello. batch count crea invece una coda sequenziale: genera N gruppi, ciascuno con il proprio batch size, e limita il picco alle immagini elaborate in quel momento.

Esempio di differenza nella VRAM

ConfigurazioneRisoluzionePicco VRAMRischio OOM
batch size=41024×1024~8–12 GBAlto, per il picco simultaneo
batch count=4, batch size=11024×1024~2–3 GBBasso, picco controllato

Indicazioni

  • Con 6–8 GB: batch size=1 e batch count=N in coda sequenziale
  • Per batch via API: usa una strategia di coda ed evita richieste concorrenti che occupino insieme la VRAM

OOM improvvisi dopo un aggiornamento: controlla le versioni

Se un workflow che funzionava va improvvisamente in OOM o rallenta dopo un aggiornamento di PyTorch, driver o ComfyUI, il comportamento può essere cambiato con la versione.

Come le versioni influenzano la VRAM

Il comportamento CUDA di PyTorch cambia tra le versioni, per esempio per impostazioni predefinite TF32/FP16 o strategia dell’allocator CUDA. TF32 e FP16 non sono sempre automaticamente migliori: in alcuni casi cambiano precisione o consumo. Anche versioni di driver, ROCm e CUDA modificano le prestazioni GPU, come nel confronto tra AMD ROCm 7.2 e versioni precedenti.

Indicazioni

  1. Salva l’ambiente prima dell’aggiornamento con conda o pip freeze
  2. Prova l’aggiornamento in un ambiente di test prima di sostituire quello stabile
  3. Registra le versioni stabili di PyTorch, CUDA e driver
  4. Se compare un problema, torna a una versione specifica con pip install

Accelerazioni sperimentali e opzioni stabili

Prima di provare tecniche di accelerazione avanzate, separa gli esperimenti dalle opzioni stabili.

Esperimenti avanzati, non obbligatori per una GPU da 8 GB

OpzioneStatoRischioNota
--fastSperimentalePuò alterare qualità o stabilitàSegnalato experimental da ComfyUI
FlashAttentionRichiede il pacchetto flash-attentionIncompatibile con alcune versioni CUDAInstallazione complessa
Sage AttentionModifica di terze partiSperimentale, può influire sulla precisioneInstallazione complessa, legata a CUDA/PyTorch
TensorRTRichiede TensorRT SDKConversione dei modelli complessaNon adatto a chi inizia

Nota: sono esperimenti avanzati, non requisiti per una normale GPU da 8 GB.

Opzioni stabili

OpzioneStatoEffettoNota
xformersStabileRisparmia 20–30% di VRAM, accelera del 5–20%pip install xformers
Rilevamento automatico di ComfyUI
SDP attention, —use-pytorch-cross-attentionStabileRisparmia 20–30% di VRAM, accelera del 5–20%La scelta migliore è spesso automatica

Conclusione

Fascia hardware: individua prima se la GPU ha 6, 8, 12 o almeno 16 GB. Ogni fascia permette workflow e strategie diversi.

Flag principali: Dynamic VRAM è attivo per impostazione predefinita da ComfyUI v0.18.0+ e --lowvram può non avere effetto. I flag cambiano: controlla sempre python main.py --help.

Percorsi di quantizzazione: su 8 GB, FLUX.2 Klein 4B GGUF offre inferenza in 4 steps intorno a 15–30 secondi, mentre FLUX.1 GGUF Q4_K_S può partire ma è lento. L’offload GGUF usa la RAM e dipende dalla sua banda.

Ordine di diagnosi: per gli OOM controlla pesi del modello, T5, risoluzione latent, VAE, batch, ControlNet, frame e cache. Per la lentezza separa il costo inevitabile dell’offload dalle impostazioni realmente regolabili.

Passi successivi

  1. Individua la fascia della GPU: 6, 8, 12 o almeno 16 GB
  2. Scegli la quantizzazione: su 8 GB, FLUX.2 Klein 4B o FLUX.1 GGUF Q4_K_S
  3. Per un OOM segui la checklist nell’ordine indicato
  4. Per la lentezza applica la checklist specifica
  5. Nei workflow video usa Temporal Tiling

Se l’ambiente di base non funziona ancora, parti dalla guida introduttiva a ComfyUI. Se un workflow importato mostra nodi rossi, modelli mancanti o risultati non riproducibili, consulta la checklist per riutilizzare e diagnosticare i workflow ComfyUI. Se non hai ancora scelto tra SDXL, SD 3.5 e FLUX, leggi prima la guida alla scelta dei modelli Stable Diffusion.

Diagnosticare in ordine gli OOM di ComfyUI con poca VRAM

Parti dalle modifiche meno costose a risoluzione e batch, poi controlla precisione del modello, T5, VAE, nodi aggiuntivi e versioni dell'ambiente senza cambiare più variabili insieme.

  1. 1

    Step 1: Registra la fase dell'OOM

    Stabilisci se l'errore avviene durante caricamento del modello, sampling, VAE Encode/Decode, elaborazione video o dopo un aggiornamento; salva errore della console e versioni correnti.
  2. 2

    Step 2: Riduci risoluzione e batch

    Imposta batch size a 1 e riduci gradualmente la risoluzione. Metti i lavori in una coda sequenziale, senza eseguire contemporaneamente più workflow pesanti.
  3. 3

    Step 3: Disattiva anteprima e rami aggiuntivi

    Usa --preview-method none e disabilita temporaneamente ControlNet, FaceDetailer, Hires Fix, Upscale e altri rami di secondo sampling.
  4. 4

    Step 4: Cambia precisione del modello e di T5

    Con FLUX prova prima il percorso fp8 ufficiale o un GGUF supportato, sostituendo T5 fp16 con fp8 o con un T5 GGUF compatibile.
  5. 5

    Step 5: Riduci il picco della VAE

    Se l'OOM arriva dopo il sampling, usa VAEEncodeTiled o VAEDecodeTiled e parti da tile più piccoli e meno frame video.
  6. 6

    Step 6: Verifica i flag per la VRAM

    Confronta --lowvram, --novram, --reserve-vram, async offload e cache con l'output corrente di python main.py --help, senza copiare combinazioni obsolete.
  7. 7

    Step 7: Ripristina una variabile alla volta

    Con seed e workflow invariati ripristina uno alla volta risoluzione, nodi, steps o backend attention, registrando VRAM, velocità e differenze nell'output.
  8. 8

    Step 8: Controlla le regressioni di versione

    Se il problema è iniziato dopo un update, confronta versioni di ComfyUI, custom node, PyTorch, CUDA/ROCm e driver; se necessario torna a un ambiente noto e stabile.

FAQ

Si può eseguire ComfyUI SDXL con 6 GB di VRAM?
Puoi provare un'immagine SDXL leggera o una risoluzione più bassa con batch size 1. Evita di attivare subito insieme Hires Fix, ControlNet, FaceDetailer e post-elaborazione di immagini grandi.
Si può eseguire FLUX con 8 GB di VRAM?
Puoi partire da FLUX schnell, un checkpoint fp8 o GGUF, con risoluzione bassa, batch size 1 e T5 fp8/GGUF. La stabilità dipende comunque da modello, nodi e comportamento dell'offload.
Perché --lowvram non ha effetto in ComfyUI?
Quando Dynamic VRAM è attivo, --lowvram può essere ignorato. Controlla l'help della versione in uso, precisione del modello, T5, risoluzione, batch, VAE e nodi di post-elaborazione invece di aggiungere ancora lo stesso flag.
Per poca VRAM è meglio FLUX fp8 o GGUF?
fp8 resta più vicino al workflow ufficiale ed è più semplice da distribuire. GGUF riduce ulteriormente la memoria di FLUX o T5, ma dipende da custom node: velocità, supporto LoRA e compatibilità vanno provati per ogni workflow.
Come si risolve un OOM nell'ultimo passaggio di VAE Decode?
Passa a VAEDecodeTiled o VAEEncodeTiled, poi riduci risoluzione, tile size, numero di frame o temporal size. Tile più piccoli consumano in genere meno VRAM, ma sono più lenti.
Cosa conviene cambiare per primo se ComfyUI è troppo lento?
Verifica prima se si tratta del normale costo dell'offload con poca VRAM. Poi disattiva l'anteprima, riduci steps e ricalcoli inutili, mantieni batch size 1 e infine prova attention, cache e async offload.

16 min di lettura · Pubblicato il: 21 lug 2026 · Aggiornato il: 21 lug 2026

Commenti

Accedi con GitHub per lasciare un commento

Easton BlogEaston Blog