diff --git a/modules/config.py b/modules/config.py
index a4050220..95982ceb 100644
--- a/modules/config.py
+++ b/modules/config.py
@@ -379,7 +379,7 @@ default_prompt = get_config_item_or_set_default(
default_performance = get_config_item_or_set_default(
key='default_performance',
default_value=Performance.SPEED.value,
- validator=lambda x: x in Performance.list()
+ validator=lambda x: x in Performance.values()
)
default_advanced_checkbox = get_config_item_or_set_default(
key='default_advanced_checkbox',
diff --git a/modules/flags.py b/modules/flags.py
index 0ae44375..93b0e81f 100644
--- a/modules/flags.py
+++ b/modules/flags.py
@@ -142,6 +142,10 @@ class Performance(Enum):
@classmethod
def list(cls) -> list:
+ return list(map(lambda c: (c.name, c.value), cls))
+
+ @classmethod
+ def values(cls) -> list:
return list(map(lambda c: c.value, cls))
@classmethod
@@ -157,10 +161,10 @@ class Performance(Enum):
return StepsUOV[self.name].value if Steps[self.name] else None
-performance_selections = [
- (f'Quality \U00002223 {Steps.QUALITY.value} steps', Performance.QUALITY.value),
- (f'Speed \U00002223 {Steps.SPEED.value} steps', Performance.SPEED.value),
- (f'Extreme Speed (LCM) \U00002223 {Steps.EXTREME_SPEED.value} steps, intermediate results disabled', Performance.EXTREME_SPEED.value),
- (f'Lightning \U00002223 {Steps.LIGHTNING.value} steps, intermediate results disabled', Performance.LIGHTNING.value),
- (f'Hyper-SD \U00002223 {Steps.HYPER_SD.value} steps, intermediate results disabled', Performance.HYPER_SD.value)
-]
+performance_selections = []
+
+for name, value in Performance.list():
+ restricted_text = ''
+ if Performance.has_restricted_features(value):
+ restricted_text = '*'
+ performance_selections.append((f'{value} \U00002223 {Steps[name].value} steps {restricted_text}', Performance[name].value))
diff --git a/webui.py b/webui.py
index 3aced0a5..4bd81d4c 100644
--- a/webui.py
+++ b/webui.py
@@ -327,6 +327,7 @@ with shared.gradio_root:
interactive=True)
performance_selection = gr.Radio(label='Performance',
+ info='* = restricted feature set, intermediate results disabled',
choices=modules.flags.performance_selections,
value=modules.config.default_performance,
elem_classes='performance_selections')