Complete Sampler Guide | Differences Between Euler, DPM++, and LCM

Complete Sampler Guide | Differences Between Euler, DPM++, and LCM

When adjusting parameters in AI image generation, you’ll encounter a setting called “sampler.” With many options like Euler, DPM++, and LCM, it can be hard to know which to choose.

This article organizes the mechanisms and characteristics of the major samplers and explains how to choose based on your use case.

What Is a Sampler?

Stable Diffusion generates the final image by gradually removing noise from a random noise image. The algorithm that governs this repeated denoising process is the sampler.

Different samplers use different methods for removing noise and progressing through calculations. As a result, even with the same prompt and seed, different samplers produce images with different texture, detail, and convergence speed.

Classification and Characteristics of Major Samplers

Euler Family (Euler / Euler a)

The most fundamental samplers. Based on the first-order Euler method — computationally simple with fast per-step processing.

  • Euler: Deterministic. Returns the same result for the same parameters
  • Euler a (Euler Ancestral): Re-injects noise at each step, so changing step count significantly changes the image. High diversity, but somewhat lower reproducibility

DPM++ Family (DPM++ 2M / DPM++ 2M Karras / DPM++ SDE Karras)

A group of samplers based on DPM-Solver++, widely used in the SD1.5 to SDXL era. Known for producing high-quality results even with fewer steps.

  • DPM++ 2M: Second-order multi-step method. Good balance of stability and quality
  • DPM++ 2M Karras: A classic combination with the Karras scheduler. Finer denoising in the later steps tends to alter texture
  • DPM++ SDE Karras: Uses stochastic differential equations (SDE). Noise re-injection creates higher diversity and more varied outputs, but generation speed is somewhat slower

LCM (Latent Consistency Model)

Strictly not a sampler but a distillation-based inference method — included here because it’s selected as a sampler in UI tools.

Uses distillation technology to generate images in just 4–8 steps. A massive reduction from the 20–30 steps typical samplers require.

  • Extremely fast generation
  • Ideal for real-time preview and prompt iteration
  • May require compatible LoRA or models

DDIM (Denoising Diffusion Implicit Models)

A deterministic sampler that has been around since early days. Produces the same result with the same settings every time — useful when reproducibility is a priority.

  • Changing step count doesn’t drastically break image composition
  • Tends to converge more slowly at the same step count compared to DPM++

UniPC (Unified Predictor-Corrector)

A sampler integrating predictor-corrector methods, achieving high-quality output even at low step counts (10–15).

  • High stability at low step counts

Sampler Comparison Table

SamplerSpeedQualityRecommended StepsReproducibilityNotes
EulerFastStandard15–20HighSimple and easy to use
Euler aFastStandard15–25LowProduces varied results
DPM++ 2M KarrasModerateHigh20–30HighCurrent standard
DPM++ SDE KarrasSlightly slowHigh25–40LowRich texture
LCMVery fastStandard4–8HighSpecialized for ultra-low steps
DDIMModerateStandard20–50Very highDeterministic and stable
UniPCFastHigh10–15HighHigh quality at low steps

※ Quality depends heavily on model and prompt — treat as reference values

Scheduler Differences

The scheduler is configured alongside the sampler. The scheduler controls how much noise is removed at each step.

In A1111/Forge, the scheduler is embedded in the sampler name (e.g., DPM++ 2M Karras), while in ComfyUI, the sampler and scheduler are configured separately.

SchedulerCharacteristics
NormalRemoves noise uniformly. Standard behavior
KarrasRemoves noise aggressively at the start, more finely at the end. Affects fine detail in later stages
ExponentialChanges noise level exponentially. Features smooth convergence
SGM UniformEqually-spaced schedule. May have better compatibility with distilled models

For non-distilled SD1.5 and SDXL models, the Karras scheduler tends to be preferred. However, the optimal scheduler varies by model. Combination with DPM++ samplers is widely used.

Relationship to Step Count

Step count is the parameter that determines “how many times to repeat denoising.”

  • Fewer steps: Faster generation, but details may be rough
  • More steps: More detail, but improvement plateaus beyond a certain point. Processing time also increases proportionally

The “minimum steps needed to reach adequate quality” differs by sampler. While LCM is sufficient at 4 steps, DPM++ SDE Karras recommends 25+ steps. Increasing steps beyond what’s needed provides almost no quality improvement, so choosing an appropriate step count for your sampler is important.

General Purpose (When in Doubt)

DPM++ 2M Karras / 20–30 steps

Good balance of quality, speed, and stability — produces consistent results with most models. A reliable go-to setting for beginners and advanced users alike.

Fast Generation

Euler / 15–20 steps or LCM / 4–8 steps

Useful when adjusting prompts or generating large volumes. LCM requires compatible models or LoRA but provides overwhelming speed.

High Quality Priority

DPM++ SDE Karras / 25–40 steps

Suited for when you want to emphasize texture and fine detail. Generation time is longer, but this setting tends to produce more varied texture expression.

z-image-turbo, the model used on this blog, is a distilled model and behaves differently from standard SD models.

ParameterValue
Samplereuler
Schedulerddim_uniform
Steps8
CFG1.0

For distilled models, guidance is embedded within the model itself, so CFG is fixed at 1.0. The model is also optimized for low step counts — increasing steps does not improve quality. When using a distilled model, the best approach is simply to follow the model’s recommended settings.

Summary

Sampler selection directly impacts image generation quality and speed, but there’s no single “correct answer.” Since compatibility with your model also matters, start with DPM++ 2M Karras (20–30 steps) as a baseline and try other samplers as needed.

When using distilled models, just use the model’s recommended settings as-is. Changing the sampler or step count rarely improves results, so it’s more effective to spend your time refining prompts.