Cómo optimizar ComfyUI en una RTX 3090 para evitar descargas de modelos

Estás usando una tarjeta gráfica robusta como una RTX 3090, pero ComfyUI sigue tardando demasiado en generar imágenes. En tu caso, el proceso completo tarda unos 50 segundos: 25 solo para la difusión y otros 25 extra para cargar y descargar los modelos entre ejecuciones.

Pantalla del ordenador con la interfaz de ComfyUI y los registros de consola visibles.
Captura de pantalla mostrando los logs de inicio que revelan el modo de offloading asíncrono activado en una RTX 3090.

Para empezar, revisemos qué estás usando actualmente. Tienes configurado un entorno Conda específico (`ComfyUI-0.9.1`) y cargas modelos especializados como `QwenImageTEModel` junto con el Lora `Lightning 4 steps`. Tu primera duda lógica fue si cambiar a variantes cuantizadas más ligeras, como `fp8`, `bf8` o modelos escalados, podría resolver este problema de tiempo.

¿El modelo es el culpable?

La respuesta corta y honesta es que no. Cambiar la variante del modelo no ataca el problema raíz. El hecho de que ComfyUI esté entrando y saliendo del modo `low-VRAM` o haciendo un `offload` masivo indica que el gestor de memoria está actuando como si tuvieras menos recursos de los que realmente tienes.

Aquí es donde encontramos la clave en los registros de inicio. A pesar de ver `Set vram state to: NORMAL_VRAM`, hay una línea crítica activada por defecto en ComfyUI 0.9.x:

Using async weight offloading with 2 streams

Esa es la causa principal del comportamiento extraño. El sistema está decidiendo ser «educado» y desvestirse entre cada ejecución, liberando pesos y volviendo a cargarlos después de cada imagen.

El segundo culpable: comfy_kitchen eager

Otro detalle en los logs que agrava la situación es el backend seleccionado para `comfy_kitchen`. Estás usando el backend `eager`, que tiende a liberar pesos con más frecuencia. Si bien no es dramático por sí solo, suma presión a la VRAM.

La solución definitiva

Para dejar de cargar y descargar cada vez, debes aplicar ajustes directos en tu configuración:

  1. Desactivar el offloading asíncrono: Ve a la sección Settings → Execution dentro de ComfyUI. Busca la opción «Async weight offloading» y desactívala. Si prefieres hacerlo desde la línea de comandos, añade un parámetro para deshabilitar el offload al lanzar la aplicación.
  2. Cambiar a un backend más eficiente: En lugar de usar `eager`, configura comfy_kitchen para utilizar el backend `triton` o `cuda`. Esto reducirá significativamente la presión sobre la memoria y evitará los ciclos de descarga innecesarios.
  3. Asegurar PyTorch adecuado: Los logs muestran un warning: «You need pytorch with cu130 or higher». Actualizar a una versión de PyTorch con soporte CUDA 130 o superior proporcionará kernels optimizados que evitan que el gestor de memoria piense que «falta VRAM».

Una vez implementes estos cambios, notarás que la línea del offloading desaparece de los logs. El resultado es una carga grande una sola vez al inicio, y las imágenes subsiguientes se generan casi inmediatamente sin esos tiempos extra de striptease innecesario entre prompts.