preview fix cache

Signed-off-by: Vladimir Mandic <mandic00@live.com>
This commit is contained in:
Vladimir Mandic
2026-07-20 09:05:07 +02:00
parent 3a9ebc3494
commit 326fa643fc
5 changed files with 33 additions and 34 deletions
+5 -4
View File
@@ -1,6 +1,6 @@
# Change Log for SD.Next
## Update for 2026-07-19
## Update for 2026-07-30
- **Compute**
- torch: update to `2.13.0` for CUDA, ROCm, IPEX
@@ -15,9 +15,10 @@
- process: read video properties metadata
- logs: propagate server tracebacks to client
- **Fixes**
- upscaler auto-refresh to catch chainner upscalers that are not loaded on first attempt
- lora support diffusers trainer
- flux1 load t5
- upscaler: auto-refresh to catch chainner upscalers that are not loaded on first attempt
- lora: support diffusers trainer
- load: flux1 t5
- preview: cache image for reuse
## Update for 2026-07-14
+4 -4
View File
@@ -38,7 +38,7 @@ class State:
current_sigma = None
current_sigma_next = None
current_image = None
current_image_sampling_step = 0
current_image_sampling_step = -1
id_live_preview = 0
textinfo = None
prediction_type = "epsilon"
@@ -92,7 +92,7 @@ class State:
self.do_set_current_image()
self.job_no += 1
# self.sampling_step = 0
self.current_image_sampling_step = 0
self.current_image_sampling_step = -1
if debug_output:
log.trace(f'State next: {self}')
modules.devices.torch_gc()
@@ -202,7 +202,7 @@ class State:
self.job_history += 1
self.total_jobs += 1
self.current_image = None
self.current_image_sampling_step = 0
self.current_image_sampling_step = -1
self.current_latent = None
self.current_noise_pred = None
self.current_sigma = None
@@ -271,7 +271,7 @@ class State:
def do_set_current_image(self):
from modules import shared, images, sd_samplers_common
if self.disable_preview or (self.preview_job == self.job_no):
if self.disable_preview or (self.preview_job == self.job_no) or (self.current_image_sampling_step == self.sampling_step):
return False
if (shared.opts.show_progress_type == "None") and (shared.history.last_image is not None):
+11 -12
View File
@@ -11015,17 +11015,16 @@ function setProgress(res) {
document.title = `SD.Next ${perc}`;
for (const elId of elements) {
const el2 = document.getElementById(elId);
if (el2) {
const jobLabel = (res ? `${job} ${perc}${eta}` : "Generate").trim();
el2.innerText = jobLabel;
if (!window.waitForUiReady) {
const gradient = perc !== "" ? perc : "100%";
if (jobLabel === "Generate") el2.style.background = "var(--primary-500)";
else if (jobLabel.endsWith("Decode")) continue;
else if (jobLabel.endsWith("Start") || jobLabel.endsWith("Finishing")) el2.style.background = "var(--primary-800)";
else if (res && progress > 0 && progress < 1) el2.style.background = `linear-gradient(to right, var(--primary-500) 0%, var(--primary-800) ${gradient}, var(--neutral-700) ${gradient})`;
else el2.style.background = "var(--primary-500)";
}
if (!el2) continue;
const jobLabel = (res ? `${job} ${perc}${eta}` : "Generate").trim();
el2.innerText = jobLabel;
if (!window.waitForUiReady) {
const gradient = perc !== "" ? perc : "100%";
if (jobLabel === "Generate") el2.style.background = "var(--primary-500)";
else if (jobLabel.endsWith("Decode")) continue;
else if (jobLabel.endsWith("Start") || jobLabel.endsWith("Finishing")) el2.style.background = "var(--primary-800)";
else if (res && progress > 0 && progress < 1) el2.style.background = `linear-gradient(to right, var(--primary-500) 0%, var(--primary-800) ${gradient}, var(--neutral-700) ${gradient})`;
else el2.style.background = "var(--primary-500)";
}
}
}
@@ -11118,7 +11117,7 @@ function requestProgress(id_task = "undefined", progressEl = null, galleryEl = n
return;
}
if (elapsedFromStart > progressTimeout && !res.queued && res.progress === prevProgress) {
debug("progress", { end: res, reason: "progressSimeout" });
debug("progress", { end: res, reason: "progressTimeout" });
if (!res.paused) removeLivePreview(false);
return;
}
+2 -2
View File
File diff suppressed because one or more lines are too long
+11 -12
View File
@@ -61,17 +61,16 @@ export function setProgress(res?: any) {
document.title = `SD.Next ${perc}`;
for (const elId of elements) {
const el = document.getElementById(elId);
if (el) {
const jobLabel = (res ? `${job} ${perc}${eta}` : 'Generate').trim();
el.innerText = jobLabel;
if (!window.waitForUiReady) {
const gradient = perc !== '' ? perc : '100%';
if (jobLabel === 'Generate') el.style.background = 'var(--primary-500)';
else if (jobLabel.endsWith('Decode')) continue;
else if (jobLabel.endsWith('Start') || jobLabel.endsWith('Finishing')) el.style.background = 'var(--primary-800)';
else if (res && progress > 0 && progress < 1) el.style.background = `linear-gradient(to right, var(--primary-500) 0%, var(--primary-800) ${gradient}, var(--neutral-700) ${gradient})`;
else el.style.background = 'var(--primary-500)';
}
if (!el) continue;
const jobLabel = (res ? `${job} ${perc}${eta}` : 'Generate').trim();
el.innerText = jobLabel;
if (!window.waitForUiReady) {
const gradient = perc !== '' ? perc : '100%';
if (jobLabel === 'Generate') el.style.background = 'var(--primary-500)';
else if (jobLabel.endsWith('Decode')) continue;
else if (jobLabel.endsWith('Start') || jobLabel.endsWith('Finishing')) el.style.background = 'var(--primary-800)';
else if (res && progress > 0 && progress < 1) el.style.background = `linear-gradient(to right, var(--primary-500) 0%, var(--primary-800) ${gradient}, var(--neutral-700) ${gradient})`;
else el.style.background = 'var(--primary-500)';
}
}
}
@@ -175,7 +174,7 @@ export function requestProgress(id_task = 'undefined', progressEl = null, galler
return;
}
if (elapsedFromStart > progressTimeout && !res.queued && res.progress === prevProgress) {
debug('progress', { end: res, reason: 'progressSimeout' });
debug('progress', { end: res, reason: 'progressTimeout' });
if (!res.paused) removeLivePreview(false); // only abort if not paused
return;
}