[bug]: Why Denoising Strength in UI when doing txt2img?
Is there an existing issue for this problem?
- [X] I have searched the existing issues
Operating system
Windows
GPU vendor
Nvidia (CUDA)
GPU model
RTX 3060
GPU VRAM
12GB
Version number
5.0.0
Browser
Edge 128.0.2739.79 (Official build) (64-bit)
Python dependencies
No response
What happened
When doing regular txt2img generation (not img2img from a pre-existing image), why does the denoising strength slider show and is active in the UI? It doesn't seem to do anything in that mode (changing it has no effect), so why does it show or be active?
What you expected to happen
When doing txt2img, it seems the denoising strength slider should not show in the UI (or perhaps be deactivated or grayed out like when seed is on random), as it doesn't have any functionality in that mode, especially when sending directly to the gallery. Only when doing img2img functions on the canvas (when the bounding box overlaps a pre-existing image) does it seem like denoising strength should show up in the UI. Of course, you'd need to detect when the bounding box overlaps a pre-existing image on the canvas in order to enable this in the UI, but it seems like it would be more intuitive to only show or activate the denoising strength when it will actually affect the refining or editing of a pre-existing image. When generating from scratch (sending direct to gallery or on a blank part of the canvas), it seems that slider should not appear or be active in the UI.
How to reproduce the problem
No response
Additional context
No response
Discord username
No response
Maybe this is more of an enhancement than a bug? (Although the slider is really functionless when doing txt2img, so kind of a bug?)
We don't know if the canvas is going to do txt2img, img2img, inpaint or outpaint until the user clicks the Invoke button, so we need to show all controls, even if some might be ignored.
As you intuited, calculating the generation mode requires we check the contents of the bbox. This causes a brief UI lag/stutter. Doing this while drawing - even if debounced - introduces unacceptable stutters because the operation blocks the main thread. We might be able to improve this, but it's not a high priority item for us right now.
FWIW, this is unchanged from earlier releases.
We could consider other ways to handle it, but think it might involve moving the position/tying it to layers, which might confuse folks.