Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add second quicksettings area #10648

Closed

Conversation

catboxanon
Copy link
Collaborator

@catboxanon catboxanon commented May 23, 2023

Description

Due to discussion in #10634, it seems desirable to want a form of quicksettings that does not clutter up the UI as much. This PR proposes in addition to the global quicksettings (which remains unchanged and still available), a quicksettings accordion in both the txt2img and img2img tabs. The settings will seamlessly sync between tabs and be maintained on page reloads when modified. All previous quicksettings functionality should be unaffected.

This is a bit of a hacky implementation, so feedback on how to improve it would be appreciated. I haven't focused on how to possibly improve the layout yet either (everything will take up the full width of the accordion currently). Settings are now displayed in rows of 3 (will automatically expand if less than 3).

Screenshots/videos:

image

Checklist:

@catboxanon catboxanon requested a review from AUTOMATIC1111 as a code owner May 23, 2023 01:51
@catboxanon catboxanon changed the title Add quicksettings accordion Add second quicksettings area May 23, 2023
@neavo
Copy link

neavo commented May 23, 2023

The TRUE QuickSetting 🤣

@Sakura-Luna
Copy link
Collaborator

Consider a different name, such as a sampler parameter.

However, I doubt the frequency of use of these parameters. If they are not changed frequently, there is no need to put them here.

@w-e-w
Copy link
Collaborator

w-e-w commented May 23, 2023

I also consider something of the sort more and more customizable quick settings

@KohakuBlueleaf
Copy link
Collaborator

KohakuBlueleaf commented May 23, 2023

Consider a different name, such as a sampler parameter.

However, I doubt the frequency of use of these parameters. If they are not changed frequently, there is no need to put them here.

For sigma schedule, in img2img actually you may change it very frequently...
Because you can use denoise=1.0 with different sigma_max to get more better schedule (for img2img)

I think the problem is, CFG is crucial thing for sampling, sampler is, sample step is, noise schedule is.

Why the settings of noise schedule have no right to stay on main interface.
If you want to say "because they are not changed frequently", I can say for myself even cfg is not changed frequently.
How you determine "changed frequently" if there are tons of different people with different habits.

And, even the "with/without karras scheduler" can has a standalone sampler. (Even they are just same thing, just with different noise scheduler). Why the settings of noise scheduler cannot has standalong section in main interface.

Or there is a better way, remove all the "xxx karras" sampler, and add a "Enable Bulit-in Karras Scehduler" option (or something like that).

@Sakura-Luna
Copy link
Collaborator

For sigma schedule, in img2img actually you may change it very frequently...
Because you can use denoise=1.0 with different sigma_max to get more better schedule (for img2img)

Then it should be in xyz plot.

I think the problem is, CFG is crucial thing for sampling, sampler is, sample step is, noise schedule is.

Why the settings of noise schedule have no right to stay on main interface.
If you want to say "because they are not changed frequently", I can say for myself even cfg is not changed frequently.
How you determine "changed frequently" if there are tons of different people with different habits.

You are right that this is a problem. The criteria I give is to consider its complexity and impact. Since many users depend on the extension, adding a lot of options would crowd the space. The cfg does rarely change, but it has a big impact on content, and some extensions depend on it. In contrast, the parameters of k_diffusion are large in number and have no obvious tendency. When adjusting, comparisons are often required. This can be the category of xyz plot.

I think you can pick one or two relatively frequent settings to put here, and then other options depend on the setting or xyz plot.

@KohakuBlueleaf
Copy link
Collaborator

For sigma schedule, in img2img actually you may change it very frequently...
Because you can use denoise=1.0 with different sigma_max to get more better schedule (for img2img)

Then it should be in xyz plot.

I think the problem is, CFG is crucial thing for sampling, sampler is, sample step is, noise schedule is.
Why the settings of noise schedule have no right to stay on main interface.
If you want to say "because they are not changed frequently", I can say for myself even cfg is not changed frequently.
How you determine "changed frequently" if there are tons of different people with different habits.

You are right that this is a problem. The criteria I give is to consider its complexity and impact. Since many users depend on the extension, adding a lot of options would crowd the space. The cfg does rarely change, but it has a big impact on content, and some extensions depend on it. In contrast, the parameters of k_diffusion are large in number and have no obvious tendency. When adjusting, comparisons are often required. This can be the category of xyz plot.

I think you can pick one or two relatively frequent settings to put here, and then other options depend on the setting or xyz plot.

I think the problem here is, different user has different habit. So add more "quick settings area" will always been a good idea.
I even want to make some extension like "quick settings everywhere"

@KohakuBlueleaf
Copy link
Collaborator

For user friendly, let this kind of complex thing (k_diffusion scheduler) in settings is making sense.
But let user has ability to decide "where should I put it" is also a good point in my opinion.

@Sakura-Luna
Copy link
Collaborator

Makes sense as an extension, and integrating #10531 isn't bad either.

@catboxanon
Copy link
Collaborator Author

catboxanon commented May 23, 2023

The issue I forsee with an extension is the settings will not be removed from the settings tab and remain unsynced. This PR's impl is fine since it uses the same logic as normal quicksettings do where it will be removed from the settings tab and relegated to it's quicksettings area.

@AUTOMATIC1111
Copy link
Owner

This is definitely something I want in as a non-extension but the code is non-trivial so I may take some time to merge it in and also I hate accordion so I'll make an option to just put this stuff in without accordion.

@catboxanon
Copy link
Collaborator Author

Closing in favor of df02498

@catboxanon catboxanon closed this Jun 1, 2023
@catboxanon catboxanon deleted the feat/multiple-quicksettings branch March 4, 2024 23:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants