性能优化 #

性能优化概述 #

为什么需要优化? #

优化可以提升生成速度、降低资源占用、支持更高分辨率,改善整体使用体验。

text
┌─────────────────────────────────────────────────────────────┐
│                    优化目标                                  │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  速度优化:                                                  │
│  ├── 减少生成时间                                           │
│  ├── 提高吞吐量                                             │
│  └── 加快响应速度                                           │
│                                                             │
│  资源优化:                                                  │
│  ├── 降低显存占用                                           │
│  ├── 减少内存使用                                           │
│  └── 优化磁盘 I/O                                           │
│                                                             │
│  质量优化:                                                  │
│  ├── 支持更高分辨率                                         │
│  ├── 提升生成质量                                           │
│  └── 减少错误和崩溃                                         │
│                                                             │
└─────────────────────────────────────────────────────────────┘

启动参数优化 #

显存管理参数 #

text
显存管理参数:

--lowvram
├── 低显存模式
├── 适用于 4-8GB 显存
├── 模型分块加载
└── 速度较慢但稳定

--novram
├── 极低显存模式
├── 适用于 <4GB 显存
├── 更激进的内存管理
└── 速度最慢

--highvram
├── 高显存模式(默认)
├── 适用于 12GB+ 显存
├── 模型常驻显存
└── 速度最快

--cpu
├── CPU 模式
├── 无需 GPU
├── 速度极慢
└── 仅用于测试

使用示例:
python main.py --lowvram --xformers

性能相关参数 #

text
性能参数:

--xformers
├── 启用 xformers 优化
├── 减少显存占用
├── 提高生成速度
└── 推荐启用

--pytorch-cross-attention
├── 使用 PyTorch 注意力
├── 替代 xformers
├── 某些情况更稳定
└── 速度略慢

--force-fp16
├── 强制 FP16 精度
├── 减少显存占用
├── 可能影响质量
└── 速度更快

--force-fp32
├── 强制 FP32 精度
├── 更高精度
├── 显存占用更高
└── 质量更好

--cuda-device N
├── 指定 GPU 设备
├── 多 GPU 环境
└── 选择特定显卡

推荐配置:
# 8GB 显存
python main.py --lowvram --xformers

# 12GB 显存
python main.py --xformers

# 24GB 显存
python main.py --highvram --xformers

工作流优化 #

分辨率优化 #

text
分辨率策略:

1. 合理选择基础分辨率
   ├── SD 1.5: 512-768
   ├── SDXL: 1024
   └── 避免过高分辨率

2. 使用放大技术
   ├── 先生成低分辨率
   ├── 后期放大处理
   └── 质量更好,速度更快

3. 分阶段处理
   ├── 阶段 1: 低分辨率生成
   ├── 阶段 2: 放大
   └── 阶段 3: 细节增强

分辨率对比:
┌─────────────────────────────────────────────────────────────┐
│  分辨率      显存占用    生成时间    推荐用途              │
│  ─────────────────────────────────────────────────────────  │
│  512x512    低         快          预览测试              │
│  768x768    中         中          通用生成              │
│  1024x1024  高         慢          高质量输出            │
│  1536x1536  很高       很慢        需要放大处理          │
└─────────────────────────────────────────────────────────────┘

采样参数优化 #

text
采样器选择:

快速预览:
├── sampler: euler_a
├── steps: 15-20
├── scheduler: normal
└── 速度最快

平衡模式:
├── sampler: dpmpp_2m
├── steps: 20-25
├── scheduler: karras
└── 推荐

高质量:
├── sampler: dpmpp_2m_sde
├── steps: 30-40
├── scheduler: karras
└── 最高质量

步数影响:
├── 步数越多,质量越好(边际递减)
├── 推荐范围:20-35
├── 过多步数浪费时间
└── 根据采样器调整

工作流简化 #

text
工作流简化技巧:

1. 移除不必要节点
   ├── 删除冗余处理
   ├── 合并相似操作
   └── 简化数据流

2. 优化节点顺序
   ├── 减少中间结果
   ├── 避免重复计算
   └── 合理缓存

3. 批量处理优化
   ├── 使用 batch_size
   ├── 减少模型加载次数
   └── 避免频繁切换模型

示例:
# 优化前
Load Model 1 → Process → Load Model 2 → Process

# 优化后
Load Model 1 → Process all → Load Model 2 → Process all

模型优化 #

模型选择 #

text
模型选择策略:

1. 根据硬件选择
   ├── 低显存:使用 SD 1.5
   ├── 中显存:SD 1.5 或 SDXL
   └── 高显存:任意模型

2. 模型格式
   ├── safetensors:安全、快速
   └── 避免使用不安全的 ckpt

3. 模型大小
   ├── pruned 模型更小
   ├── emaonly 更快
   └── 根据需求选择

模型对比:
┌─────────────────────────────────────────────────────────────┐
│  模型类型    文件大小    显存需求    生成速度              │
│  ─────────────────────────────────────────────────────────  │
│  SD 1.5     ~2GB       低         快                     │
│  SDXL       ~6.5GB     高         慢                     │
│  Flux       ~12-23GB   很高       很慢                   │
└─────────────────────────────────────────────────────────────┘

LoRA 优化 #

text
LoRA 使用优化:

1. 权重控制
   ├── 避免过高权重
   ├── 推荐范围:0.5-1.0
   └── 减少组合数量

2. 加载策略
   ├── 预加载常用 LoRA
   ├── 避免频繁切换
   └── 使用缓存

3. 选择性使用
   ├── 只在需要时加载
   ├── 及时卸载不用的
   └── 优化内存使用

系统优化 #

Python 环境 #

text
Python 环境优化:

1. 使用虚拟环境
   python -m venv venv
   source venv/bin/activate

2. 更新依赖
   pip install --upgrade pip
   pip install --upgrade torch torchvision

3. 使用优化版本
   pip install xformers
   pip install triton  # Linux

4. 清理缓存
   pip cache purge
   python -c "import torch; torch.cuda.empty_cache()"

系统设置 #

text
系统级优化:

1. GPU 驱动
   ├── 更新到最新版本
   ├── 确保 CUDA 版本匹配
   └── 检查驱动设置

2. 内存管理
   ├── 关闭不必要的程序
   ├── 增加虚拟内存
   └── 优化系统缓存

3. 磁盘优化
   ├── 使用 SSD
   ├── 定期清理临时文件
   └── 确保足够空间

4. 电源管理
   ├── 高性能模式
   ├── 禁用节能功能
   └── 确保稳定供电

监控和调试 #

性能监控 #

text
监控工具:

1. 显存监控
   nvidia-smi -l 1  # 每秒刷新

2. Python 监控
   import torch
   print(torch.cuda.memory_allocated())
   print(torch.cuda.memory_reserved())

3. 系统监控
   ├── htop (Linux)
   ├── Task Manager (Windows)
   └── Activity Monitor (macOS)

4. ComfyUI 日志
   ├── 查看控制台输出
   ├── 检查错误信息
   └── 分析性能瓶颈

常见瓶颈 #

text
性能瓶颈分析:

1. 显存瓶颈
   ├── 症状:CUDA out of memory
   ├── 原因:显存不足
   └── 解决:降低分辨率、使用 lowvram

2. 计算瓶颈
   ├── 症状:生成速度慢
   ├── 原因:GPU 性能不足
   └── 解决:优化参数、升级硬件

3. I/O 瓶颈
   ├── 症状:加载慢
   ├── 原因:磁盘速度慢
   └── 解决:使用 SSD、优化文件

4. 内存瓶颈
   ├── 症状:系统卡顿
   ├── 原因:内存不足
   └── 解决:增加内存、关闭程序

最佳实践 #

优化流程 #

text
推荐优化流程:

1. 评估现状
   ├── 测试当前性能
   ├── 识别瓶颈
   └── 确定优化目标

2. 基础优化
   ├── 更新驱动和依赖
   ├── 配置启动参数
   └── 简化工作流

3. 参数调优
   ├── 测试不同参数
   ├── 找到最佳配置
   └── 记录有效设置

4. 持续监控
   ├── 定期检查性能
   ├── 及时发现问题
   └── 持续改进

配置模板 #

text
不同硬件配置建议:

4GB 显存:
python main.py --lowvram --xformers
├── 分辨率:512x512
├── batch_size:1
└── 模型:SD 1.5

8GB 显存:
python main.py --lowvram --xformers
├── 分辨率:512-768
├── batch_size:1-2
└── 模型:SD 1.5

12GB 显存:
python main.py --xformers
├── 分辨率:512-1024
├── batch_size:2-4
└── 模型:SD 1.5 / SDXL

24GB 显存:
python main.py --highvram --xformers
├── 分辨率:任意
├── batch_size:4-8
└── 模型:任意

下一步 #

现在你已经掌握了性能优化,接下来学习 问题排查,了解如何解决常见问题。

最后更新:2026-04-05