diff --git a/ui/sd_internal/model_manager.py b/ui/sd_internal/model_manager.py index ea624322..0cc9414c 100644 --- a/ui/sd_internal/model_manager.py +++ b/ui/sd_internal/model_manager.py @@ -37,6 +37,9 @@ def load_default_models(context: Context): for model_type in KNOWN_MODEL_TYPES: context.model_paths[model_type] = resolve_model_to_use(model_type=model_type) + # disable TURBO initially (this should be read from the config eventually) + context.vram_optimizations -= {'TURBO'} + # load mandatory models model_loader.load_model(context, 'stable-diffusion') @@ -116,6 +119,12 @@ def resolve_model_paths(task_data: TaskData): if task_data.use_face_correction: task_data.use_face_correction = resolve_model_to_use(task_data.use_face_correction, 'gfpgan') if task_data.use_upscale: task_data.use_upscale = resolve_model_to_use(task_data.use_upscale, 'gfpgan') +def set_vram_optimizations(context: Context, task_data: TaskData): + if task_data.turbo: + context.vram_optimizations += {'TURBO'} + else: + context.vram_optimizations -= {'TURBO'} + def make_model_folders(): for model_type in KNOWN_MODEL_TYPES: model_dir_path = os.path.join(app.MODELS_DIR, model_type) diff --git a/ui/sd_internal/task_manager.py b/ui/sd_internal/task_manager.py index 4810584b..a6d4dadd 100644 --- a/ui/sd_internal/task_manager.py +++ b/ui/sd_internal/task_manager.py @@ -278,6 +278,7 @@ def thread_render(device): current_state = ServerStates.LoadingModel model_manager.resolve_model_paths(task.task_data) + model_manager.set_vram_optimizations(renderer.context, task.task_data) model_manager.reload_models_if_necessary(renderer.context, task.task_data) current_state = ServerStates.Rendering