ComfyUI 分块采样器插件 - 超详细保姆级教程
1. 插件简介
插件地址: https://github.com/BlenderNeko/ComfyUI_TiledKSampler
这个插件就像是一个"图片拼图高手"!你知道拼图游戏吧?把一张大图片切成很多小块,然后一块一块地拼起来。这个插件做的事情正好相反 - 它把你想要生成的大图片切成很多小块,然后一块一块地画出来,最后再无缝拼接成一张完整的大图。
能给我们带来什么效果?
- 🎨 生成超大尺寸图片:比如 2048x2048、4096x4096 甚至更大的图片,而不会爆显存
- 🔧 避免拼接痕迹:就像拼图一样,如果拼得不好会有明显的接缝,这个插件用了很聪明的方法让接缝看不出来
- ⚡ 节省显存:把大图切成小块处理,就像把一个大包裹分成几个小包裹一样,每次只需要处理一小块
- 🎯 支持各种控制:支持 ControlNet、遮罩、区域控制等高级功能
2. 如何安装
方法一:手动下载安装
- 打开你的 ComfyUI 文件夹
- 找到
custom_nodes文件夹(就像是插件的家) - 在
custom_nodes里新建一个文件夹,名字叫ComfyUI_TiledKSampler - 把下载的插件文件都放进这个文件夹
- 重启 ComfyUI
方法二:Git 命令安装(推荐)
cd ComfyUI/custom_nodes
git clone https://github.com/BlenderNeko/ComfyUI_TiledKSampler.git
3. 节点详细解析
3.1 Tiled KSampler 节点 - 基础版分块采样器
这个节点就像是一个"智能画师",它会把你要画的大画布切成很多小块,然后一块一块地仔细画,最后拼成一幅完整的画。这是基础版本,操作简单,适合新手使用。
3.2 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | MODEL类型 | 你加载的模型 | 就像选择画笔的类型,不同的画笔画出来的风格不一样 | 指定用于生成图像的扩散模型 | 连接你的 Checkpoint Loader 输出 |
| seed | seed | 0-18446744073709551615 | 随机数或固定数 | 就像是画画的"灵感种子",同样的种子会画出同样的画 | 控制随机数生成的种子值,确保结果可重现 | 想要固定结果就用固定数字,想要随机就用-1 |
| tile_width | tile_width | 256-8192,步长64 | 512 | 每个小画布的宽度,就像把大画布横向切成多少像素一块 | 定义每个瓦片的宽度(像素) | 显存小用512,显存大可以用1024 |
| tile_height | tile_height | 256-8192,步长64 | 512 | 每个小画布的高度,就像把大画布纵向切成多少像素一块 | 定义每个瓦片的高度(像素) | 显存小用512,显存大可以用1024 |
| tiling_strategy | tiling_strategy | random/random strict/padded/simple | random | 选择怎么切画布和拼接的方法,就像选择拼图的策略 | 瓦片化策略,影响如何分割和处理图像 | random最好但慢,simple最快但可能有接缝 |
| steps | steps | 1-10000 | 20 | 画画的步数,就像素描要画多少笔才完成 | 扩散过程的总步数 | 一般20-50步,步数越多质量越好但越慢 |
| cfg | cfg | 0.0-100.0 | 8.0 | 听话程度,数字越大越严格按照你的描述画 | CFG引导强度,控制生成内容与提示词的匹配度 | 7-12比较好,太高会过度饱和 |
| sampler_name | sampler_name | 采样器列表 | euler_a | 选择画画的方法,就像选择用油画还是水彩的技法 | 指定使用的采样算法 | euler_a适合大部分情况,dpm++_2m质量更好 |
| scheduler | scheduler | 调度器列表 | normal | 控制画画过程中每一步的力度变化 | 噪声调度策略 | normal就够用,karras可能效果更好 |
| positive | positive | CONDITIONING | 正面提示词 | 告诉画师你想要画什么,就像给画师的需求单 | 正向条件提示,指导生成期望的内容 | 连接 CLIP Text Encode (Prompt) 的正面描述 |
| negative | negative | CONDITIONING | 负面提示词 | 告诉画师你不想要什么,就像告诉画师别画什么 | 负向条件提示,避免生成不需要的内容 | 连接 CLIP Text Encode (Prompt) 的负面描述 |
| latent_image | latent_image | LATENT | 潜在图像 | 画布的基础,就像是画画前准备的空白画布 | 输入的潜在空间图像数据 | 连接 Empty Latent Image 或其他潜在图像 |
| denoise | denoise | 0.0-1.0,步长0.01 | 1.0 | 重画的程度,1.0是完全重画,0.5是改一半 | 去噪强度,控制对输入图像的修改程度 | 1.0用于从头生成,0.7用于图像修改 |
3.3 TiledK Sampler (Advanced) 节点 - 高级版分块采样器
这个节点就像是"专业画师工作室",比基础版有更多的精细控制选项。如果你是高手,想要更精确地控制每个细节,就用这个节点。它能让你控制从哪一步开始画,画到哪一步结束,还能选择是否显示画画过程。
3.4 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | MODEL类型 | 你加载的模型 | 就像选择画笔的类型,不同的画笔画出来的风格不一样 | 指定用于生成图像的扩散模型 | 连接你的 Checkpoint Loader 输出 |
| add_noise | add_noise | enable/disable | enable | 是否添加随机噪点作为起点,就像是否从一张有斑点的纸开始画 | 控制是否在采样开始时添加噪声 | enable从头生成,disable用于图像修改 |
| noise_seed | noise_seed | 0-18446744073709551615 | 随机数或固定数 | 噪点的"种子",决定起始的随机斑点长什么样 | 噪声生成的随机种子 | 固定数字得到相同结果,-1随机生成 |
| tile_width | tile_width | 256-8192,步长64 | 512 | 每个小画布的宽度,就像把大画布横向切成多少像素一块 | 定义每个瓦片的宽度(像素) | 显存小用512,显存大可以用1024 |
| tile_height | tile_height | 256-8192,步长64 | 512 | 每个小画布的高度,就像把大画布纵向切成多少像素一块 | 定义每个瓦片的高度(像素) | 显存小用512,显存大可以用1024 |
| tiling_strategy | tiling_strategy | random/random strict/padded/simple | random | 选择怎么切画布和拼接的方法,就像选择拼图的策略 | 瓦片化策略,影响如何分割和处理图像 | random最好但慢,simple最快但可能有接缝 |
| steps | steps | 1-10000 | 20 | 画画的总步数,就像素描要画多少笔才完成 | 扩散过程的总步数 | 一般20-50步,步数越多质量越好但越慢 |
| cfg | cfg | 0.0-100.0 | 8.0 | 听话程度,数字越大越严格按照你的描述画 | CFG引导强度,控制生成内容与提示词的匹配度 | 7-12比较好,太高会过度饱和 |
| sampler_name | sampler_name | 采样器列表 | euler_a | 选择画画的方法,就像选择用油画还是水彩的技法 | 指定使用的采样算法 | euler_a适合大部分情况,dpm++_2m质量更好 |
| scheduler | scheduler | 调度器列表 | normal | 控制画画过程中每一步的力度变化 | 噪声调度策略 | normal就够用,karras可能效果更好 |
| positive | positive | CONDITIONING | 正面提示词 | 告诉画师你想要画什么,就像给画师的需求单 | 正向条件提示,指导生成期望的内容 | 连接 CLIP Text Encode (Prompt) 的正面描述 |
| negative | negative | CONDITIONING | 负面提示词 | 告诉画师你不想要什么,就像告诉画师别画什么 | 负向条件提示,避免生成不需要的内容 | 连接 CLIP Text Encode (Prompt) 的负面描述 |
| latent_image | latent_image | LATENT | 潜在图像 | 画布的基础,就像是画画前准备的空白画布 | 输入的潜在空间图像数据 | 连接 Empty Latent Image 或其他潜在图像 |
| start_at_step | start_at_step | 0-10000 | 0 | 从第几步开始画,就像告诉画师从素描的第几笔开始 | 指定采样开始的步数 | 0从头开始,10表示跳过前10步 |
| end_at_step | end_at_step | 0-10000 | 10000 | 画到第几步停止,就像告诉画师画到第几笔就停手 | 指定采样结束的步数 | 通常设为总步数,提前结束可用于多阶段生成 |
| return_with_leftover_noise | return_with_leftover_noise | disable/enable | disable | 是否保留一些"未完成感",就像素描保留一些铅笔痕迹 | 是否在输出中保留剩余噪声 | disable得到完成品,enable用于多阶段处理 |
| preview | preview | disable/enable | enable | 是否显示画画过程,就像是否让你看到画师作画的过程 | 是否在采样过程中显示预览图像 | enable可以看进度,disable节省计算资源 |
4. 分块策略详解
4.1 Random(随机策略)- 推荐
就像一个很聪明的拼图高手,每次都换个角度来拼,这样拼出来的图片几乎看不出接缝。
- 优点:接缝最少,效果最好
- 缺点:速度稍慢,不支持某些特殊采样器
- 适用场景:追求最佳质量的大图生成
4.2 Random Strict(严格随机策略)
比普通随机更严格,确保边缘的小块不会被裁剪变形。
- 优点:边缘处理更好
- 缺点:不支持 SDE 采样器
- 适用场景:需要完美边缘的图片
4.3 Padded(填充策略)
就像给每个拼图块都加了个边框,让它们更好地融合在一起。
- 优点:支持所有采样器,步骤间无额外开销
- 缺点:需要处理更多小块,可能有轻微接缝
- 适用场景:需要使用特殊采样器时
4.4 Simple(简单策略)
最直接的方法,就像用刀把图片切成方块,然后一块一块处理。
- 优点:速度最快,逻辑简单
- 缺点:可能有明显接缝
- 适用场景:快速测试或对质量要求不高时
5. 使用技巧和建议
5.1 显存优化建议
- 4GB 显存:tile_width=512, tile_height=512
- 8GB 显存:tile_width=768, tile_height=768
- 12GB+ 显存:tile_width=1024, tile_height=1024
5.2 质量优化建议
- 优先使用
random策略,效果最好 - CFG 值建议 7-12,太高会过度饱和
- 步数建议 20-50,根据质量需求调整
- 使用
euler_a或dpm++_2m采样器
5.3 速度优化建议
- 需要快速预览时使用
simple策略 - 关闭 preview 可以节省一些计算资源
- 适当减少步数进行快速测试
5.4 特殊用途建议
- 超大图生成:使用 random 策略 + 较小的 tile 尺寸
- 图像修改:设置 denoise < 1.0,使用 disable add_noise
- 多阶段生成:使用高级版本的 start_at_step 和 end_at_step
6. 常见问题解答
Q1:为什么生成的图片有明显的拼接线?
A1:
- 检查是否使用了
simple策略,建议改为random - tile 尺寸可能太小,尝试增大到 512 或以上
- 某些采样器可能不兼容,尝试换成
euler_a
Q2:显存不够用怎么办?
A2:
- 减小 tile_width 和 tile_height 的值
- 使用较少的步数进行测试
- 关闭不必要的 preview 功能
Q3:生成速度太慢怎么办?
A3:
- 使用
simple或padded策略 - 减少生成步数
- 增大 tile 尺寸(在显存允许的情况下)
Q4:什么时候用基础版,什么时候用高级版?
A4:
- 基础版:日常使用,操作简单,参数少
- 高级版:需要精细控制,多阶段生成,或需要预览功能时
Q5:支持 ControlNet 吗?
A5:
是的!这个插件完美支持 ControlNet、T2I Adapter、区域控制、遮罩等高级功能。
7. 实际应用示例
示例1:生成 2048x2048 的风景画
推荐设置:
- tile_width: 512
- tile_height: 512
- tiling_strategy: random
- steps: 30
- cfg: 8.0
- sampler_name: euler_a
示例2:快速预览大图效果
快速设置:
- tile_width: 512
- tile_height: 512
- tiling_strategy: simple
- steps: 15
- preview: enable
示例3:修改现有图片
修改设置:
- add_noise: disable
- denoise: 0.7
- tiling_strategy: random
- 其他参数正常设置
8. 总结
这个分块采样器插件就像是给 ComfyUI 装了一个"超级画师助手",让你能够:
- 突破显存限制:生成超大尺寸图片
- 保证图片质量:智能拼接,几乎无接缝
- 灵活控制:多种策略适应不同需求
- 完美兼容:支持各种高级功能
无论你是新手还是高手,这个插件都能帮你轻松生成高质量的大尺寸图片。记住:random 策略质量最好,simple 策略速度最快,根据你的需求选择合适的策略就行了!
现在就去试试吧,用它来创造属于你的超大画作!🎨✨