ComfyUI-TiledDiffusion 插件完全教程
1. 插件简介
插件地址: https://github.com/shiimizu/ComfyUI-TiledDiffusion
ComfyUI-TiledDiffusion 是一个超级实用的"显存节省神器"!它就像一个智能的"图片拼图师",可以把大图片切成小块来处理,让你用有限的显存生成超大尺寸的图片。想象一下,你的显卡本来只能生成1024x1024的图片,有了这个插件,你就能生成4K、8K甚至更大的图片!
主要功能:
- 大图生成与放大(用小显存生成大图片,就像用小锅做大餐)
- 智能分块处理(把大图切成小块,分别处理后无缝拼接)
- 多种拼接算法(提供不同的"拼图"方法,效果各有特色)
- VAE分块处理(连图片编码解码都能分块,彻底解决显存不够的问题)
能带来什么效果:
- 突破显存限制,生成超大尺寸图片
- 实现高质量图片放大,细节丰富
- 支持ControlNet等高级功能的大图处理
- 大幅降低对显卡配置的要求
2. 如何安装
直接下载安装
把插件下载到 ComfyUI 的自定义节点文件夹:
git clone https://github.com/shiimizu/ComfyUI-TiledDiffusion.git ComfyUI/custom_nodes/ComfyUI-TiledDiffusion
无需额外依赖
这个插件使用ComfyUI内置的功能,无需安装额外的依赖包。
安装完成后重启 ComfyUI 就可以使用了!
3. 节点详细解析
3.1 TiledDiffusion 节点 - 分块扩散处理器
这个节点是插件的"核心大脑",就像一个智能的"图片拼图师",负责把大图切成小块,分别处理后再拼接成完整的大图。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | MODEL类型 | 连接模型 | 要使用的图片生成"引擎" | Stable Diffusion模型 | 连接到你的主模型加载器 |
| method | method | 下拉选择 | Mixture of Diffusers | 选择"拼图"的方法,就像选择不同的拼图技巧 | 分块扩散算法类型 | Mixture效果最好,MultiDiffusion速度快,SpotDiffusion实验性 |
| tile_width | tile_width | 整数 16-8192 | 768 | 每个小块的宽度,就像拼图块的宽度 | 分块的像素宽度 | 768适合大多数情况,显存小可以用512 |
| tile_height | tile_height | 整数 16-8192 | 768 | 每个小块的高度,就像拼图块的高度 | 分块的像素高度 | 768适合大多数情况,显存小可以用512 |
| tile_overlap | tile_overlap | 整数 0-2048 | 64 | 小块之间的重叠部分,就像拼图块的咬合部分 | 分块间重叠的像素数 | 64能很好消除接缝,0会有明显分界线 |
| tile_batch_size | tile_batch_size | 整数 1-8192 | 4 | 一次处理几个小块,就像同时拼几块拼图 | 同时处理的分块数量 | 4是平衡值,显存大可以用8,小用2 |
三种拼图方法详解:
- Mixture of Diffusers:最推荐的方法,效果最好,就像专业拼图师的手法
- MultiDiffusion:速度较快,适合快速预览,就像快速拼图法
- SpotDiffusion:实验性功能,随机移动拼图位置,适合特殊需求
3.2 SpotDiffusionParams_TiledDiffusion 节点 - 随机拼图参数控制器
这个节点是SpotDiffusion方法的"参数调节器",就像给随机拼图师设定工作规则。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | MODEL类型 | 连接模型 | 要设置参数的图片生成"引擎" | 需要配置的模型 | 连接到TiledDiffusion处理过的模型 |
| shift_method | shift_method | random/sorted/fibonacci | random | 选择拼图块移动的"节奏",就像选择舞蹈节拍 | 分块位移的采样方法 | random最自然,sorted有规律,fibonacci数学美感 |
| seed | seed | 整数 | 0 | 随机种子,控制拼图移动的"随机性" | 随机数生成器种子 | 相同种子产生相同的移动模式 |
3.3 VAEEncodeTiled_TiledDiffusion 节点 - 分块图片编码器
这个节点就像一个"图片压缩分拣机",可以把大图片分块压缩成ComfyUI能处理的格式,不会因为图片太大而显存不够。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| pixels | pixels | IMAGE类型 | 连接图片 | 要压缩的原始图片 | 输入的图像数据 | 连接到图片加载器或其他图片输出 |
| vae | vae | VAE类型 | 连接VAE | 图片"压缩器",就像压缩软件 | VAE编码器模型 | 连接到VAE加载器 |
| tile_size | tile_size | 整数 256-4096 | 1536 | 压缩时每块的大小,就像设置压缩块大小 | VAE编码时的分块尺寸 | 1536适合12GB显存,8GB用1024 |
| fast | fast | 布尔值 | True | 是否使用"快速模式",就像选择快速压缩 | 启用快速编码模式 | True速度快但可能有细微差异,False更准确 |
| color_fix | color_fix | 布尔值 | True | 是否修复颜色,就像照片后期调色 | 启用颜色校正功能 | True能避免分块间颜色差异 |
3.4 VAEDecodeTiled_TiledDiffusion 节点 - 分块图片解码器
这个节点就像一个"图片解压拼装机",可以把ComfyUI处理好的压缩数据分块解压成最终的大图片。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| samples | samples | LATENT类型 | 连接潜在空间 | 要解压的压缩数据 | 潜在空间采样数据 | 连接到KSampler或其他潜在空间输出 |
| vae | vae | VAE类型 | 连接VAE | 图片"解压器",就像解压软件 | VAE解码器模型 | 连接到VAE加载器 |
| tile_size | tile_size | 整数 384-4096 | 768 | 解压时每块的大小,就像设置解压块大小 | VAE解码时的分块尺寸 | 768适合大多数显卡,显存小用512 |
| fast | fast | 布尔值 | True | 是否使用"快速模式",就像选择快速解压 | 启用快速解码模式 | True速度快,False质量稍好但慢 |
4. 使用技巧和建议
4.1 新手入门流程
-
基础大图生成:
- 使用TiledDiffusion节点包装你的模型
- 设置合适的tile_width和tile_height(建议768x768)
- tile_overlap设置为64,确保无缝拼接
-
VAE分块处理:
- 大图输入时使用VAEEncodeTiled编码
- 大图输出时使用VAEDecodeTiled解码
- 根据显存大小调整tile_size
4.2 参数调优技巧
-
显存优化:
- 8GB显存:tile_size设为512,tile_batch_size设为2
- 12GB显存:tile_size设为768,tile_batch_size设为4
- 16GB+显存:tile_size设为1024,tile_batch_size设为8
-
质量优化:
- tile_overlap至少设为32,推荐64
- 使用Mixture of Diffusers方法获得最佳效果
- VAE解码时关闭fast模式获得更好质量
4.3 不同场景应用
-
超大图生成:
- 设置目标尺寸(如4096x4096)
- 使用Empty Latent Image创建大尺寸潜在空间
- 配合TiledDiffusion进行生成
-
图片放大:
- 先用普通方法生成小图
- 使用图片放大节点放大到目标尺寸
- 用TiledDiffusion进行高质量重绘
-
ControlNet大图:
- ControlNet图片也需要对应大尺寸
- 插件会自动处理ControlNet的分块
- 确保ControlNet图片质量足够高
4.4 性能优化建议
-
内存管理:
- 及时清理不用的节点
- 避免同时处理多个大图
- 监控显存使用情况
-
速度优化:
- 预览时使用MultiDiffusion方法
- 最终输出时使用Mixture of Diffusers
- 合理设置tile_batch_size
5. 常见问题解答
Q1: 为什么生成的图片有明显的分块痕迹?
A: 可能的原因和解决方案:
- tile_overlap设置太小:增加到64或更高
- 使用了不合适的方法:改用Mixture of Diffusers
- tile_size设置不当:尝试调整为768或1024
- 检查是否正确连接了所有节点
Q2: 显存不够用怎么办?
A: 显存优化方案:
- 减小tile_size(从1024降到768或512)
- 降低tile_batch_size(从4降到2或1)
- 使用VAE分块节点处理大图
- 关闭其他占用显存的程序
Q3: 生成速度太慢怎么优化?
A: 速度优化方法:
- 增加tile_batch_size(在显存允许的情况下)
- 预览时使用MultiDiffusion方法
- 减少不必要的tile_overlap
- 使用fast模式的VAE节点
Q4: 颜色不一致或有色差怎么解决?
A: 颜色问题解决:
- VAE编码时启用color_fix选项
- 确保tile_overlap足够大
- 使用Mixture of Diffusers方法
- 检查VAE模型是否正常
Q5: 支持哪些模型和功能?
A: 兼容性说明:
- 支持SD1.x、SD2.x、SDXL、SD3、FLUX等主流模型
- 完全兼容ControlNet功能
- 支持各种采样器和调度器
- 兼容大部分ComfyUI插件
6. 进阶应用场景
6.1 超高分辨率艺术创作
使用分块技术创作8K以上的艺术作品:
- 设计详细的构图和布局
- 使用合适的提示词描述细节
- 分阶段生成和优化
- 后期精修和调色
6.2 商业级图片制作
适用于商业设计和印刷:
- 海报和广告设计
- 产品展示图制作
- 建筑效果图渲染
- 游戏场景概念图
6.3 学术研究应用
在研究和教学中的应用:
- 大尺寸数据可视化
- 科学插图制作
- 教学材料设计
- 论文配图生成
6.4 个人创作项目
个人爱好者的创作场景:
- 壁纸和背景图制作
- 社交媒体内容创作
- 个人艺术作品集
- 创意摄影后期
7. 技术原理简介(用大白话解释)
7.1 分块扩散原理
就像拼图一样,把大图切成小块:
- 切块:把大画布切成多个小块
- 处理:每个小块单独"画"
- 融合:用特殊方法把小块无缝拼接
- 优化:消除拼接痕迹
7.2 三种拼接算法对比
- MultiDiffusion:像普通拼图,直接拼接
- Mixture of Diffusers:像专业拼图,用渐变融合
- SpotDiffusion:像动态拼图,位置会变化
7.3 VAE分块处理
图片压缩和解压也能分块:
- 编码分块:把大图分块压缩
- 处理:在压缩空间处理
- 解码分块:把结果分块解压
- 拼接:组合成最终大图
总结: ComfyUI-TiledDiffusion 插件是显存有限用户的福音,让你能够突破硬件限制,生成超大尺寸的高质量图片。掌握这4个节点的使用方法,你就能轻松处理各种大图生成和放大任务!
记住:从小参数开始试验,逐步增加复杂度,找到适合你显卡的最佳设置。合理使用分块技术,小显卡也能做大事情!