ComfyUI 官方及社区优化指南中,针对 UNet 显存优化的标准参数是`--fp16-unet`,常与`--bf16-vae`组合使用,而非单独使用`--bf16-unet`。
先说结论:公开资料中主要验证的是`--fp16-unet`配合`--bf16-vae`方案,适用于 6-8GB 显存环境,可减少约 50% 显存占用。
- 适合:显存 6-8GB 的 Nvidia 显卡环境,需平衡生成质量与资源占用。
- 先做:在启动命令中添加
`--fp16-unet` `--bf16-vae`参数组合。 - 再验证:观察控制台显存报告及生成速度变化,确认无精度报错。
命令速用版
根据现有优化指南,推荐的启动命令组合如下,适用于大多数中端显卡场景:
python main.py `--lowvram` `--reserve-vram` 1 `--fp16-unet` `--bf16-vae`
若显存大于 8GB,可移除`--lowvram`参数,保留精度设置以提升速度:
python main.py `--fp16-unet` `--bf16-vae` `--xformers`
为什么会这样
精度参数通过降低模型计算位数来减少显存占用,但不同组件支持的精度类型不同。
UNet 模型使用`--fp16-unet`参数可让 UNet 使用半精度计算,公开资料指出可减少显存占用约 50%。
VAE 组件使用`--bf16-vae`参数可在平衡性能与质量的同时进一步降低显存使用。
目前文档中未明确验证`--bf16-unet`参数的独立效果,建议优先使用经过验证的`--fp16-unet`方案。
分步处理
第一步:定位启动文件
找到 ComfyUI 的启动脚本,Windows 系统通常为run_nvidia.bat,Linux/Mac 系统为start.sh或类似 shell 脚本。
第二步:编辑参数
在python main.py命令后方添加参数。例如:
原命令:python main.py
修改后:python main.py `--fp16-unet` `--bf16-vae` `--xformers`
第三步:保存并重启
保存文件后重新启动 ComfyUI,确保控制台无参数错误提示。
怎么验证是否生效
检查控制台日志
启动时观察控制台输出,确认没有未知参数报错。部分版本会显示当前 VRAM 状态(如 NORMAL_VRAM/LOW_VRAM)。
监控显存使用
生成图像时使用nvidia-smi命令或任务管理器监控显存。优化后显存占用应明显低于默认模式,公开数据对比显示优化后可从 8GB 降至 5.2GB 左右。
观察生成质量
对比优化前后的生成图像,确认无明显画质损失。若出现黑图或噪点异常,可能为精度兼容性问题,需移除`--bf16-vae`测试。
常见坑
硬件兼容性风险
BF16 精度需要较新的显卡架构支持。若启动后报错或生成异常,请尝试仅保留`--fp16-unet`。
不要盲目使用 lowvram
在高端显卡(如 16GB 以上显存)上强制使用`--lowvram`会导致性能下降,建议根据实际显存大小选择模式。
参数冲突
避免同时启用冲突的注意力机制优化,如同时指定`--xformers`和`--use-flash-attention`,选择一个即可。
常见问题
为什么文档里多是`--fp16-unet` 而不是`--bf16-unet`?
公开资料中主要验证的是`--fp16-unet`方案,其对显存占用的减少效果有明确数据支持,而`--bf16-unet`在现有指南中较少提及。
显存 4GB 能用这个参数吗?
4GB 显存建议结合`--lowvram` `--reserve-vram` 1使用,仅靠精度优化可能不足以支撑复杂工作流。
开启后生成速度变慢了怎么办?
精度优化主要目标是降低显存占用,可能会带来轻微计算开销。若速度敏感且显存充足,可尝试移除精度参数仅保留`--xformers`。
参考来源
- ComfyUI 性能调优提速指南:突破硬件瓶颈的全场景优化方案
- ComfyUI 性能优化实战指南:从问题诊断到效率倍增
- ComfyUI 优化技巧:提升生成速度与降低显存占用的实用方法
- ComfyUI 终极性能优化指南:从入门到精通的速度提升技巧
- ComfyUI 性能终极优化:3 倍提速的完整实战指南