怎样优化Stable Diffusion性能

AI技术
小华
2026-07-24

想要优化 Stable Diffusion 的性能,核心在于平衡显存(VRAM)、内存(RAM)和算力(Compute)。根据你的硬件配置不同,优化的侧重点也不同。

以下是分层次的优化方案,从软件设置硬件升级,再到进阶技巧

一、 基础软件设置(立竿见影)

无论你用 Automatic1111、ComfyUI 还是 SD.Next,这些设置是最基本的。

1. 启动参数优化 (Command Line Arguments)

这是最重要的优化手段。修改你的 webui-user.bat (Windows) 或启动脚本。
推荐组合(针对 4GB-8GB 显存):

--medvram --xformers --opt-sdp-attention

参数详解:

  • --xformers必选。NVIDIA 显卡的神器,能大幅降低显存占用并提升速度(10%-30%)。如果不兼容,尝试 --opt-sdp-attention
  • --medvram4GB-8GB 显存必选。将模型分块加载,牺牲一点速度换取显存空间。
  • --lowvram4GB 及以下显存必选。比 medvram 更激进,速度会慢很多,但能跑起来。
  • --no-half:如果你的显卡很老(如 GTX 10系列)或者出现黑图/NaN错误,加上这个(但会变慢、占显存)。
  • --opt-sub-quad-attention:另一种注意力算法,某些显卡(特别是AMD或非N卡)比 xformers 更好。
  • --upcast-sampling:修复部分采样器在高分辨率下报错的问题,略微增加显存占用。

2. 界面内设置 (Settings)

在 WebUI 的 Settings 标签页中调整:

  • Optimizations (优化):
  • Attention mechanism: 选择 xFormersSDP (no xFormers)
  • Stable Diffusion:
  • Clip skip: 保持 1 或 2(数值越高影响越小,但无关性能)。
  • Live Previews (实时预览):
  • Live previews display: 选择 NeverEvery 10 steps,避免边跑边画图浪费算力。
  • Checkpoint 管理:
  • 尽量使用 FP16Pruned (剪枝) 模型。Full 模型(2GB+)加载慢,FP16(1.5GB左右)速度更快且画质几乎无差。

二、 显存与算力优化技巧

1. 降低分辨率

  • 原理:显存占用与像素数成正比(二次方关系)。
  • 建议:SD 1.5 基础训练分辨率是 512x512,SDXL 是 1024x1024。
  • 做法:不要直接在 1920x1080 生成。建议先低分辨率生成(如 512x768),然后使用 Hires. Fix (高清修复)Ultimate SD Upscale 放大。

2. 批处理 (Batch Size)

  • 不要增加 Batch Size (批次数量),除非你显存极大(如 24GB+)。
  • 增加 Batch count (批次计数):这影响不大,因为是一张一张跑。

3. 启用 VAE 优化

  • Tiled VAE:如果你在解码图像(生成结束或预览时)爆显存,在设置中勾选 Move VAE to RAM 或安装 Tiled VAE 扩展。它会分块处理 VAE,极大降低显存压力。

4. 关闭不必要的扩展 (Extensions)

  • Automaic1111 的很多扩展(尤其是涉及 ControlNet、额外预览、复杂的 UI 插件)会拖慢速度。不用的插件请禁用或删除。

三、 模型层面的优化

1. 使用 SDXL Turbo / LCM / Turbo 模型

  • SDXL Turbo / SD Turbo: 只需 1-2 步采样就能出图,速度快到离谱。
  • LCM (Latent Consistency Models): 可以适配大多数 SD 1.5 和 SDXL 模型,只需 4-8 步即可生成高质量图片,速度是原来的 5-10 倍。
  • 方法:下载 LCM LoRA 或使用专门的 LCM 模型,并将采样步数 (Steps) 降至 4-8。

2. 模型量化 (Model Quantization)

  • GGUF 格式: 类似于 LLM 的量化。现在 SD 模型也有 GGUF 格式。可以将模型量化为 Q4, Q5 等。虽然画质有轻微损失,但显存占用极低,加载速度极快(特别适合 ComfyUI 或低显存用户)。
  • 使用 FP8: 如果你使用 SDXL 且显卡支持(30系/40系及以上),使用 FP8 精度的模型可以节省大量显存且速度更快。

四、 硬件与环境优化

1. 硬件升级

  • 显卡 (GPU): 核心。建议 NVIDIA 显卡,因为 CUDA 和 xFormers 对 SD 支持最好。
  • 入门: RTX 3060 12GB (显存大,性价比神卡)。
  • 进阶: RTX 4070 Ti / 4080 / 4090。
  • 内存 (RAM): 建议 16GB 起步,32GB 最佳。如果内存不足,系统会频繁读写硬盘(虚拟内存),导致卡顿。
  • 硬盘 (SSD): 模型文件很大(几个GB一个),放在 NVMe SSD 里加载速度比机械硬盘快得多。

2. 软件环境

  • 显卡驱动: 更新到最新的 NVIDIA Game Ready 或 Studio 驱动。
  • PyTorch: 确保你使用的是支持 CUDA 的 PyTorch 版本。Automatic1111 通常会自动处理,但如果你手动配置环境,务必检查。

五、 不同显存配置的建议方案

显存大小推荐设置建议分辨率备注
4GB 以下--lowvram --xformers512x512 (SD1.5)只能跑 SD1.5,跑 SDXL 极其困难。
4GB - 6GB--medvram --xformers512x768 (SD1.5)勉强跑 SDXL,需配合 Tiled VAE。
8GB--medvram --xformers768x1024 (SD1.5) / 1024x1024 (SDXL)甜点区,大部分操作都能做。
12GB--xformers1024x1024+可以跑大部分 SDXL 和训练 LoRA。
16GB+(默认即可)任意可以开启 Batch Size > 1,进行大模型训练。

六、 进阶:ComfyUI vs Automatic1111

如果你追求极致的性能:

  • ComfyUI: 比 Automatic1111 快 10%-25%,显存占用更低。因为它是节点式工作流,没有 WebUI 那么多的后台开销,且支持异步加载。
  • 建议: 如果你已经熟悉 SD,强烈建议尝试 ComfyUI,配合 fp8_e4m3fn 精度的模型,体验极佳。

总结:快速检查清单

  1. 启动参数加了 --xformers--medvram 了吗?
  2. 用的是 FP16 模型还是 Full 模型?
  3. 生成时分辨率是不是太高了?开了 Hires. Fix 吗?
  4. 显卡驱动更新了吗?
  5. 如果是 N 卡,PyTorch 版本对吗?

按照以上步骤调整,通常能解决 90% 的性能卡顿和爆显存问题。

亿速云提供售前/售后服务

售前业务咨询

售后技术保障

400-100-2938

7*24小时售后电话

官方微信小程序