diff --git a/www/main.js b/www/main.js index 35fffa5..b373d27 100644 --- a/www/main.js +++ b/www/main.js @@ -2634,7 +2634,6 @@ let prevSaverActive = false; let audioRecoverInFlight = false; let lastAudioRecoverAt = 0; let renderDirty = true; -let renderRequestGeneration = 0; let lastRenderedAudioSeq = 0; let processingProfileDirty = true; let appliedProcessingProfileView = ''; @@ -2643,7 +2642,6 @@ const DATA_ONLY_RENDER_REASONS = new Set(['audio', 'spectro', 'visuals']); function requestRender(reason = 'ui') { renderDirty = true; - renderRequestGeneration += 1; if (!DATA_ONLY_RENDER_REASONS.has(reason)) processingProfileDirty = true; env.__lastRenderReason = reason; } @@ -2688,14 +2686,7 @@ async function loop(now){ } const targetMs = audioOk ? (1000 / desiredFpsForStyle(renderStyle)) : (1000 / 20); const target = targetMs; - const currentMetricsSeq = Number.isFinite(env.audio?.phoenixMetricsSeq) - ? env.audio.phoenixMetricsSeq - : 0; - const currentVisualsSeq = Number.isFinite(env.audio?.phoenixVisualsSeq) - ? env.audio.phoenixVisualsSeq - : 0; - const currentXySeq = Number.isFinite(env.audio?.xySeq) ? env.audio.xySeq : 0; - const currentAudioSeq = Math.max(currentMetricsSeq, currentVisualsSeq, currentXySeq); + const currentAudioSeq = Number.isFinite(env.audio?.xySeq) ? env.audio.xySeq : 0; const audioDirty = currentAudioSeq > lastRenderedAudioSeq; const shouldRenderFrame = renderDirty || @@ -2723,17 +2714,14 @@ async function loop(now){ } prevSaverActive = saverActive; if (!saverActive && shouldRenderFrame) { - const renderGeneration = renderRequestGeneration; meterFacade.setFrameStamp?.(++frameCounter); drawBG(); if (!currentView || currentViewId !== renderStyle) setView(renderStyle); if (currentView.render) await currentView.render(env, viewState); drawOptionsPanelBackdrop(); drawAudioLostOverlay(); - // A packet or UI event can request another frame while the async view - // render is in progress. Do not erase that newer request here. - if (renderRequestGeneration === renderGeneration) renderDirty = false; - lastRenderedAudioSeq = Math.max(lastRenderedAudioSeq, currentAudioSeq); + renderDirty = false; + lastRenderedAudioSeq = currentAudioSeq; } } catch(e){ showErr('Render error: ' + (e?.message || String(e)));