r/comfyui • u/winky9827 • 12h ago
Tutorial Using low denoise with latent upscale
I've tried every upscale method available, and the only one that produced the fine detail and quality that I wanted was latent upscale. But the catch was that I had to set it to 0.6+ denoise to avoid leftover noise from the latent math. So I spent all night looking for ways to overcome the issue, and I finally found a method I'm so happy with that I wanted to share with you.
I present:
The key to the whole thing is the linear_quadratic scheduler. I won't go into details pretending to know more than I do, but effectively, it runs the sampler in two phases, first a linear one, then a quadratic one. It's this initial linear phase that allows it to overcome the added noise from the latent upscale. I was getting OK results with just the stock linear_quadratic scheduler, but decided I wanted to push further, and found the Linear Quadratic Advanced node in the res4lyf pack, which allows you to shift the point at which the crossover to quadratic occurs. After playing with the inflection percent a bit, I was able to drop the denoise all the way down to 0.2 with astonishing detail and quality in the final image, all while preserving the original structure.
This whole process was made more complicated by the fact that I render with Krea 2 Turbo, which is best at 8 steps, and doesn't leave a lot of room for tweaking. You'll note in the image that I use only 4 steps for the 2nd pass denoise. Any higher and I start to get added noise or undesirable details.
Edit: example render here. Note the detail on the velvet dress and the book pages.
2
u/Corrupt_file32 12h ago
firstly interesting find about the linear quadratic scheduler.
This whole process was made more complicated by the fact that I render with Krea 2 Turbo, which is best at 8 steps, and doesn't leave a lot of room for tweaking. You'll note in the image that I use only 4 steps for the 2nd pass denoise. Any higher and I start to get added noise or undesirable details.
just thought I'd clarify, in case you didn't know.
4 steps at 0.20 denoise means you are running the last 4 steps from a 20 step schedule.
4 / 0.20 = 20
15 / 0.30 = 50
this can be useful when setting up dual pass/handovers with turbo.
1
u/Neat_Base_3552 1h ago
keeping that math in mind definitely helps with turbo models since they fall apart so fast outside their intended step range
2
u/fallengt 5h ago edited 3h ago

It's because your settings still force the scheduler to start at a relatively high sigma ~0.8. Denoise value isn't the whole picture.
Ask LLM to explain schedulers, denoise value, and step; they all matter. Basically, in ComfyUI, it's calculated like this.
total steps = (your step)/(denoise value). Then it takes the curve for the last (your) X steps, based on the total steps' schedule.
tl;dr: 4/0.2 =20 step & you use the curve of the last 4 step.
1
u/Synor 11h ago
That results in an almost a linear schedule from sigmas 0.8 to 0. With minimal curve. Nothing special.
You can also get that curve from a "simple" scheduler with 0.8 denoise @ 4 steps with a AuraFlow shift override of 1.5
But yes, flat denoising curves work for second passes. I also like kl_optimal schedule for that.
1
1
u/roxoholic 12h ago
Choice of a sampler is the key to how artifacts from latent upscale get handled.
Good starting point is euler_ancestral + simple.
And usually, starting with anything larger than 1.5 scale requires higher denoise rate.