Nodes/ComfyUI-ppm/DynSamplerSelect
ComfyUI Node

DynSamplerSelect

The SMEA/Dyn samplers, ported to ComfyUI

By pamparamm·Created 2 years ago·Updated 17 days ago· 267
DynSamplerSelect
    • SAMPLER
    sampler_name
    eta1.00
    s_dy_pow2
    s_extra_stepsfalse

    DynSamplerSelect hands you a few "dynamic" samplers that aren't in stock ComfyUI: euler_ancestral_dy, dpmpp_2m_dy, and dpmpp_3m_dy. These are pamparamm's port of Koishi-Star's Euler-Smea-Dyn-Sampler, and the reason people hunt them down is artifact reduction - especially the smeared, blobby mess you can get at high resolution or odd aspect ratios.

    What the "dy" samplers are for

    Normal samplers denoise on a fixed grid. The Dyn (dynamic) variants do a bit of adaptive work during sampling to fight the specific ugliness that shows up when you push resolution past a model's comfort zone - the duplicated limbs, the blurry patches, the general "this looks like it was upscaled badly" texture. If you've ever generated at 1536-something on SDXL and gotten mush, this family is one of the answers. It's the same lineage as the NovelAI-era "SMEA" samplers people used for exactly that reason.

    It's a SAMPLER-producing node, meaning it doesn't sample anything itself - it outputs a sampler object you plug into SamplerCustom (or SamplerCustomAdvanced) in place of the usual KSamplerSelect. That's the whole "custom sampling" pattern in ComfyUI: build the sampler, hand it to the executor node.

    The inputs

    • sampler_name (dropdown) - pick euler_ancestral_dy, dpmpp_2m_dy, or dpmpp_3m_dy.
    • eta (default 1) - the ancestral noise amount, same idea as eta anywhere else. Leave at 1 unless you're specifically dialing ancestral behavior.
    • s_dy_pow (default 2) - the one worth knowing. This tunes the dynamic step behavior, and the README gives you the cheat sheet: use 2 for the euler_* sampler, -1 for the dpmpp_* samplers, and -1 disables the feature entirely. Getting this wrong is the difference between fewer blur artifacts and no benefit, so match it to the sampler you picked.
    • s_extra_steps (boolean, default false) - extra sub-steps for a bit more quality at the cost of speed.

    Output is a SAMPLER → into SamplerCustom.

    Install

    No models, no heavy deps:

    • ComfyUI Manager: search "ComfyUI-ppm", install, restart.
    • Manual: cd ComfyUI/custom_nodes && git clone https://github.com/pamparamm/ComfyUI-ppm, then restart.

    Honest take

    Samplers are the most fashion-driven corner of this whole hobby - a new "best sampler" trends every few months and most of them are a wash on a good checkpoint at a sane resolution. So set expectations: if you generate at native resolution and your images already look clean, these won't transform anything, and dpmpp_2m from the stock list is perfectly good. The Dyn samplers earn their keep in a narrower spot - high-res or unusual-ratio generations where the standard samplers start producing artifacts. That's the specific itch they scratch, and there they can genuinely help.

    The trap to avoid: forgetting the s_dy_pow rule. People wire this up, leave s_dy_pow at the default 2, switch to a dpmpp_* sampler, and wonder why it's not doing much - because 2 is the euler value and dpmpp wants -1. Set it per the README and actually compare against your usual sampler with a fixed seed before deciding it's better; the whole point of custom sampling is that it's easy to A/B.

    Pack rule: erroring after an update? Delete and re-add the node. And remember it needs SamplerCustom downstream - it won't plug into a plain KSampler.

    Categorysampling/custom_sampling/samplers

    Inputs (4)

    NameTypeDefaultDescription
    sampler_nameCOMBO6 options: euler_dy, euler_smea_dy, dpmpp_2m_dy, dpmpp_3m_dy, euler_ancestral_dy, Kohaku_LoNyu_Yog
    etaFLOAT1.000–100
    s_dy_powINT2-1–100
    s_extra_stepsBOOLEANfalse

    Outputs (1)

    NameTypeDescription
    SAMPLERSAMPLER