一台 2018 年的 RTX 2080 Ti,11 GB 显存,到 2026 年还能不能跑最新一代的开源图像模型?

答案是:能,而且不只是“能启动”。

我最近在一台老机器上把 Qwen-Image-2.1 跑通了。1024 × 1024、20 步,从提交任务到图片写入硬盘,大约 5 分 21 秒。如果带一张参考图做编辑,同样是 20 步,一次大概 10 到 10 分半

当然,前提不是把官方 BF16 权重一股脑塞进去。

真正让 RTX 2080 Ti 继续干活的关键,是把主模型、文本编码器和 VAE 分开处理:Q4 GGUF 主干放显卡,W4A8 文本编码器放系统内存,VAE 用 BF16,但采用分块解码。

这篇把我这台机器的实际配置、模型选择、ComfyUI 安装、显存分配、速度测试,以及不同显存档位可以照抄的方案完整记录下来。

先说机器:这是一台真正的“老电脑”

硬件 配置
CPU Intel Core i9-9900K
内存 32 GB
GPU NVIDIA RTX 2080 Ti
显存 11264 MiB
Compute Capability 7.5
GPU 架构 Turing
系统盘 512 GB SSD
模型盘 内置 2 TB 机械硬盘

这套机器本身没有什么特别“AI 友好”的地方。系统盘空间不够,所以模型权重干脆放在了内置 2 TB 机械盘里。机械盘确实会拖慢第一次加载模型的速度,但当模型真正进入内存、采样开始以后,主要瓶颈还是显卡性能和显存。

所以模型放机械盘并不会把每一步采样都拖慢。外接 USB 硬盘就不太建议了,第一次读取大权重时会明显更慢。

2080 Ti 最大的问题其实不是算力完全不够,而是它属于 Turing 架构,没有后来显卡上那么好用的 FP8 和 BF16 Tensor 加速。因此官方示例里那种 BF16 全量方案,在这张卡上没有太大现实意义:显存装不下,性能也不划算。

老卡真正适合走的是量化路线。

Qwen-Image-2.1 写着 7B,为什么 11 GB 显存还是不够?

这里很容易产生一个误解。

Qwen-Image-2.1 资料里的 7B,主要指的是图像生成主干,也就是 32 层 Single-Stream DiT。

但一套真正完整的出图管线还需要:

  • Qwen3-VL-8B 文本编码器
  • Qwen-Image-2.1 VAE
  • 扩散主模型本身

也就是说,看到“7B”并不能简单理解成“显存放得下 7B 就能跑”。

官方 BF16 全套大约需要 33 GB。就算把主干和编码器都换成 INT8,INT8 主干大约 7.3 GB,INT8 编码器大约 9.4 GB,两份一起放显卡,依然远超 11 GB。

所谓“7B 模型,老显卡也能跑”,真正成立的前提是:主干量化,同时把文本编码器卸载到系统内存。

另外需要注意许可证。Qwen-Image-2.1 使用的是 Qwen Research License。研究和评测可以下载使用,但如果要用于商业用途,需要另外确认授权。这一点和上一代采用 Apache 2.0 的 Qwen-Image 不一样。

最后我为什么选了这三份模型

Q4 GGUF 扩散主模型 → GPU
W4A8 文本编码器 → CPU / 系统内存
BF16 VAE → 分块解码

扩散主模型

Qwen-Image-2.1-Q4.gguf

文件大小:

5,959,127,264 bytes
约 5.55 GiB

放在:

ComfyUI\models\diffusion_models\

这是社区按照 ComfyUI 张量布局转换的 Q4 GGUF。

文本编码器

qwen3vl_8b_w4a8.safetensors

文件大小:

6,312,105,364 bytes
约 6.31 GB

放在:

ComfyUI\models\text_encoders\

这份编码器最关键的一点是:

Device: CPU

也就是说,把这 6 GB 多的编码器留在系统内存里,不去和扩散主干抢 11 GB 显存。

VAE

qwen_image_2.1_vae_bf16.safetensors

文件大小:

675,509,688 bytes
约 676 MB

放在:

ComfyUI\models\vae\

VAE 本身不算大,可以继续保留 BF16。但最终解码时,我使用 VAE Decode Tiled,避免最后一步突然把显存顶爆。

我实际跑出来的速度

统一测试条件:

Sampler: Euler
Scheduler: Simple
CFG: 1
Steps: 20

官方模板一般从 25 步开始,模型卡里也有 40 步的示例。我这里统一用 20 步,主要是为了方便横向对比。

另外,下面所有测试都控制在大约 100 万像素。2080 Ti 11 GB 直接上原生 2048,激活值基本扛不住。

1024 × 1024 文生图

20 Steps
约 6.6 秒 / Step

显存峰值:

9546 MiB
约 9.3 GiB

从任务提交到图片写入 ComfyUI/output

321 秒
约 5 分 21 秒

这个时间包含 CPU 文本编码、扩散采样、VAE 分块解码和图片写盘,并不是单纯的 KSampler 时间。

768 × 1024 文生图

同样 20 步:

约 4.9 秒 / Step
采样约 1 分 38 秒
完整任务 268 秒
约 4 分 28 秒

768 × 1024 总像素比 1024 方图少,所以整体会快一截。

参考图编辑

编辑任务明显更慢。我使用:

resolution = 1024

这里的 1024 并不是强制输出 1024 × 1024,而是把总面积控制在大约 1024²,同时保持参考图原来的长宽比。

20 步参考图编辑实测:

约 15 秒 / Step
采样约 5 分钟
完整执行 10 分 29 秒
多次任务墙钟时间约 601~631 秒
显存峰值 10225 MiB
约 10.0 GiB

这已经基本贴着 2080 Ti 的显存上限了。

为什么参考图编辑会慢这么多

主要有两个原因。

第一,文本编码器被我放在 CPU 上。纯文生图的时候,它只需要处理文本。到了参考图编辑,整张图片也需要进入 Qwen3-VL 编码器,因此 CPU 端的负担明显增加。

第二,参考图编辑本身需要更多条件信息,latent 和中间激活也更接近 11 GB 显存上限。所以文生图时可能还是五六秒一步,到了编辑任务,就会涨到大约 15 秒一步。

显存峰值达到 10 GiB 以后,系统剩余空间已经非常有限。跑图时最好把会占 GPU 的浏览器标签页、本地运行的其他大模型、其他 CUDA 程序和其他图像生成任务先关掉。

这台机器上,Windows 桌面加 Chrome 本身就可能吃掉接近 1 GB 显存。如果再同时跑一个 14B 本地语言模型,就很容易直接爆。

Windows 下完整安装方法

我使用的是:

ComfyUI 0.37 Windows Portable

针对 RTX 20 系,直接使用官方 NVIDIA 便携包。10 系显卡则建议使用对应的 cu126 版本。Qwen-Image-2.1 相关节点从 0.37 开始才比较完整,太老的 ComfyUI 不建议继续折腾。

我这里的安装目录是:

D:\ComfyUI_windows_portable

安装 ComfyUI-GGUF

进入:

ComfyUI\custom_nodes\

执行:

git clone --depth 1 https://github.com/leejet/ComfyUI-GGUF

再使用便携版自带的 Python 安装依赖:

D:\ComfyUI_windows_portablepython_embededpython.exe -m pip install -r D:\ComfyUI_windows_portableComfyUI\custom_nodes\ComfyUI-GGUFrequirements.txt

Qwen-Image-2.1 刚发布时,很多较旧版本的 GGUF 节点还不认识它的架构名,会直接报 Unknown Model。所以这里最好使用已经明确支持 Qwen-Image-2.1 的新版 leejet/ComfyUI-GGUF

模型目录

ComfyUI\models\diffusion_models\Qwen-Image-2.1-Q4.gguf
ComfyUI\models\text_encoders\qwen3vl_8b_w4a8.safetensors
ComfyUI\models\vae\qwen_image_2.1_vae_bf16.safetensors

模型来源主要是:

Comfy-Org/Qwen-Image-2.1
realrebelai/Qwen-Image-2.1_GGUFs

国内网络环境下,也可以走 ModelScope 对应镜像。我这里实际下载的时候,Hugging Face 的分块下载中途失败过,最后 ModelScope 把三个文件完整下了下来。

下载之后建议一定核对文件大小:

Qwen-Image-2.1-Q4.gguf
5959127264 bytes

qwen3vl_8b_w4a8.safetensors
6312105364 bytes

qwen_image_2.1_vae_bf16.safetensors
675509688 bytes

如果对不上,先不要跑。大模型文件下载中途失败后,经常会留下一个“文件名看起来完全正常”的残缺文件。

给 11 GB 显卡准备一个专用启动脚本

在 ComfyUI 便携版根目录新建:

run_qwen_11gb.bat

内容:

@echo off
cd /d %~dp0
.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --lowvram --reserve-vram 1 --listen 127.0.0.1 --port 8288
pause

--lowvram 用于在显存不足时进行模型拆分和卸载,--reserve-vram 1 则给桌面和其他程序留大约 1 GB 显存。

启动后浏览器打开:

http://127.0.0.1:8288

如果遇到 WinError 10013

我这台机器默认的 8188 端口刚好落在 Windows 的保留范围:

8138–8237

所以最后换成了 8288。

如果你也遇到 WinError 10013,先运行:

netsh interface ipv4 show excludedportrange protocol=tcp

看看当前 Windows 保留了哪些 TCP 端口,再挑一个范围之外的端口即可。

ComfyUI 文生图工作流怎么搭

UNet Loader(GGUF)

Qwen-Image-2.1-Q4.gguf

CLIP Loader

qwen3vl_8b_w4a8.safetensors
Type: qwen_image
Device: cpu

Device: CPU 是 11 GB 显卡能跑起来的关键之一。

VAE Loader

qwen_image_2.1_vae_bf16.safetensors

Text Encode Qwen Image 2.1

正向提示词正常写,负向可以先留空。因为 CFG = 1 时,负向提示词基本不起作用。

resolution = 1024

KSampler

Steps: 20
CFG: 1
Sampler: Euler
Scheduler: Simple
Denoise: 1

VAE Decode Tiled

Tile: 512
Overlap: 64

最后接 Save Image

怎么生成 3:4,而不是只能出方图

Qwen-Image-2.1 在没有参考图时,编码节点自己生成的 latent 默认是方形。所以 resolution = 1024 对应的就是 1024 × 1024。

如果想出 768 × 1024,需要自己提供一张 64 通道空 latent。空间尺寸按“像素尺寸 ÷ 16”计算,所以:

768 ÷ 16 = 48
1024 ÷ 16 = 64

也就是 48 × 64 latent。

新建:

ComfyUI\custom_nodes\empty_qwen_image21_latent.py

内容:

import torch
import comfy.model_management

class EmptyQwenImage21Latent:
    @classmethod
    def INPUT_TYPES(cls):
        return {
            "required": {
                "width": ("INT", {"default": 768, "min": 64, "max": 4096, "step": 32}),
                "height": ("INT", {"default": 1024, "min": 64, "max": 4096, "step": 32}),
                "batch_size": ("INT", {"default": 1, "min": 1, "max": 4}),
            }
        }

    RETURN_TYPES = ("LATENT",)
    FUNCTION = "make"
    CATEGORY = "model/latent"

    def make(self, width, height, batch_size):
        latent = torch.zeros(
            [batch_size, 64, height // 16, width // 16],
            device=comfy.model_management.intermediate_device(),
        )
        return ({"samples": latent},)

NODE_CLASS_MAPPINGS = {
    "EmptyQwenImage21Latent": EmptyQwenImage21Latent
}

保存之后重启 ComfyUI,把这个 latent 直接接给 KSampler,Text Encode Qwen Image 2.1 就只负责提供条件。这样 3:4、4:3、横图、竖图都可以自己控制。

垫图编辑怎么搭

编辑还是用同一套:

Q4 GGUF 主模型
W4A8 编码器
BF16 VAE

区别主要在 Text Encode Qwen Image 2.1。增加 Load Image,然后把图片连接到 image_1,同时把 VAE 也接到这个编码节点。

这样参考图既会进入 Qwen3-VL 编码器,也会生成对应的 latent 条件。

resolution = 1024

此时输出会保持原图宽高比,同时把总面积控制在大约一百万像素。对 11 GB 显卡来说,这个尺度基本就是安全区。

KSampler 继续:

Steps: 20
CFG: 1
Euler
Simple
Denoise: 1

编辑提示词不要只写“改什么”

图像编辑里,一个非常明显的区别是:只告诉模型“改什么”,很容易把整个画面都一起重画。

更稳的写法应该是:

改什么 + 什么必须保留。

例如:

Edit the reference photo.
Change the background to a rainy night street.
Keep the same person, face, pose, framing, and lighting on the subject.

而不是只有:

Change the background to a rainy night street.

如果只写“换背景”“换衣服”“删掉某个东西”,模型很可能顺便把人物身份、姿势、构图和镜头也一起重做。

不同显存的老卡,可以怎么抄

8 GB

Q3 或更低 GGUF
文本编码器放 CPU
VAE 分块解码

分辨率先从 768 边长开始,不要一上来冲 1024。

11~12 GB

Q4 GGUF → GPU
W4A8 Encoder → CPU
BF16 VAE → Tiled Decode

推荐约 100 万像素、20 Steps。速度可以先按 1024 方图约 5~6 分钟、参考图编辑约 10 分钟来预期。

16 GB

可以开始尝试 INT8 主干 + W4A8 文本编码器,看看编码器是否有机会一起留在 GPU。减少 CPU 和 GPU 之间的搬运,特别是垫图编辑,会舒服很多。

24 GB 及以上

更适合考虑 INT8 主干 + INT8 编码器。这时候才真正有余量碰 2048 这一级别的输出。

GTX 10 系

使用对应的 cu126 ComfyUI 便携包。

RTX 30 系及更新显卡

可以继续用新版 NVIDIA Portable。显存够的话,把编码器从 CPU 改回 GPU / 默认设备即可。

所以,2080 Ti 到 2026 年还能不能打?

如果拿它跟今天的新显卡比速度,当然没什么好比的。

1024 方图一次五分多钟,垫图编辑一次十分钟,新卡用户看了大概会觉得很慢。

但换个角度:RTX 2080 Ti 是 2018 年的卡。八年以后,它依然能够在本地完成 Qwen-Image-2.1 文生图、非方形输出、参考图编辑、约 100 万像素级生成和完整 ComfyUI 工作流。

而且不是“勉强加载成功”,是真的可以正常使用。

如果你只是自己研究、偶尔出图,或者把这台旧电脑独立当成一台 AI 图像生成节点,它其实仍然有价值。

老机伏枥,尚能 fun。

你的老电脑也想试试?把下面这段直接交给 Agent

如果你现在使用的是 Codex、OpenClaw、Hermes,或者其他能够真正操作本地电脑的 Agent,可以直接把下面这整段交给它。

我的建议是:不要让 Agent 上来就装。先检查机器,再给方案,你确认以后它才能动手。

你是这台电脑上的操作者,负责为这台真实机器部署 Qwen-Image-2.1,并在部署完成后继续替我出图。

不要只给步骤让我自己点。

第一阶段:检查。

先读取这台电脑的真实配置,再给方案。我确认方案之后,你才能开始安装。

请通过系统命令实际检查以下信息,不要猜:

1. GPU 型号
2. 显存容量
3. GPU Compute Capability / 架构
4. NVIDIA 驱动版本
5. 系统内存
6. 所有磁盘的类型、容量和剩余空间
7. 是否已经安装 ComfyUI
8. 8188 或其他候选端口是否被 Windows 保留
9. 当前网络访问 Hugging Face 和 ModelScope 是否稳定

第二阶段:给部署方案。

根据真实显存和 GPU 架构,给我一套具体方案。

必须明确写出:

- 扩散模型文件名
- 扩散模型量化方式
- 文本编码器文件名
- 文本编码器量化方式
- VAE 文件名
- 哪些模型放 GPU
- 哪些模型放 CPU / 系统内存
- 建议的安全输出分辨率上限
- 20 Steps 的预计耗时

耗时必须注明是估算。

你可以参考一台已经实测过的 RTX 2080 Ti 11 GB:

1024 × 1024 文生图:
- 20 Steps
- 约 6.6 秒 / Step
- 完整执行约 5 分 21 秒
- 显存峰值约 9.3 GiB

约 100 万像素的竖图参考图编辑:
- 20 Steps
- 约 15 秒 / Step
- 完整执行约 10~10.5 分钟
- 显存峰值约 10.0 GiB

但不要机械照抄这个速度。

如果我的 GPU 更快、更慢,或者显存和架构不同,要根据真实硬件调整方案。

参考策略:

RTX 20 系或 Compute Capability 7.5:
- 使用支持 20 系的 ComfyUI NVIDIA Portable
- ComfyUI 0.37 或更新
- Q4 GGUF 扩散主模型
- W4A8 文本编码器放 CPU
- VAE 使用 Tiled Decode
- 分辨率控制在约 100 万像素

GTX 10 系:
- 使用对应 cu126 Portable

16 GB 显存:
- 可以评估 INT8 主干
- 根据实际显存决定编码器是否放 GPU

24 GB 及以上:
- 可以评估官方 INT8 组合
- 显存足够时再评估 BF16 和 2048

GGUF 节点优先使用已经明确支持 Qwen-Image-2.1 架构的版本,例如:

leejet/ComfyUI-GGUF

第三阶段:得到我的确认后再安装。

不要在我确认之前修改配置。

安装目标磁盘必须有足够空间容纳:

- ComfyUI
- 自定义节点
- 大约 13 GB 模型权重
- 输出图片
- 必要缓存

下载安装完成后,核对模型文件大小,避免下载损坏。

如果启动 ComfyUI 时出现:

WinError 10013

先检查:

netsh interface ipv4 show excludedportrange protocol=tcp

然后换用 Windows 保留端口范围之外的端口。

第四阶段:验证。

部署完成后:

1. 启动 ComfyUI 服务
2. 使用一句中性的测试提示词
3. 先生成一张较小尺寸图片
4. 确认文本编码正常
5. 确认采样正常开始
6. 确认 VAE 可以完成解码
7. 确认图片成功写入 output

然后告诉我:

- 输出图片尺寸
- Steps
- 实际耗时
- 峰值显存
- 图片完整文件路径

如果失败:

优先降低分辨率、调整卸载策略或者修改显存配置。

不要为了让它跑起来,擅自换成更大的模型权重硬塞。

第五阶段:留下来继续当这台机器的出图操作者。

以后:

我只发文字:
执行文生图。

我发图片 + 文字:
执行参考图编辑。

编辑提示词按照:

“要改什么 + 必须保留什么”

这种结构整理。

例如:

Edit the reference photo.
Change the background to a rainy night street.
Keep the same person, face, pose, framing, and lighting on the subject.

resolution 必须按照这台电脑的显存控制在安全面积内。

denoise 使用 Qwen-Image-2.1 编辑工作流对应的默认值。

每次出图之后告诉我:

- 输出尺寸
- Steps
- 实际耗时
- 文件路径

如果显存不够:

优先降低分辨率,并告诉我为什么。

不要同时让另一个大型语言模型或大型图像模型占满 GPU。

平时只需要逐步告诉我三个真正明显影响出图时间的因素:

1. 分辨率
2. Steps
3. 是否有参考图

不要一次给我灌输一整套 ComfyUI 教程。

Qwen-Image-2.1 按 Qwen Research License 使用。

研究和评测可以使用。

如果我要用于商业用途,先提醒我确认并取得对应商业授权。

拒绝任何涉及未成年人的性内容。

这也是我现在越来越喜欢的一种本地 AI 使用方式:不是先看网上别人说“你的显卡能不能跑”,而是把真实机器交给 Agent,让它自己读取显卡、显存、内存、磁盘、端口和网络环境,再根据实际条件决定该装什么。

硬件老一点没关系。

只要配置方案对,很多机器其实远没有到退休的时候。


了解 ~/jintaoblog/朝夕见闻志⚡️ 的更多信息

订阅后即可通过电子邮件收到最新文章。