Revert "Fix skipped realtime analyzer frames"
This reverts commit afcceec986.
This commit is contained in:
+3
-15
@@ -2634,7 +2634,6 @@ let prevSaverActive = false;
|
|||||||
let audioRecoverInFlight = false;
|
let audioRecoverInFlight = false;
|
||||||
let lastAudioRecoverAt = 0;
|
let lastAudioRecoverAt = 0;
|
||||||
let renderDirty = true;
|
let renderDirty = true;
|
||||||
let renderRequestGeneration = 0;
|
|
||||||
let lastRenderedAudioSeq = 0;
|
let lastRenderedAudioSeq = 0;
|
||||||
let processingProfileDirty = true;
|
let processingProfileDirty = true;
|
||||||
let appliedProcessingProfileView = '';
|
let appliedProcessingProfileView = '';
|
||||||
@@ -2643,7 +2642,6 @@ const DATA_ONLY_RENDER_REASONS = new Set(['audio', 'spectro', 'visuals']);
|
|||||||
|
|
||||||
function requestRender(reason = 'ui') {
|
function requestRender(reason = 'ui') {
|
||||||
renderDirty = true;
|
renderDirty = true;
|
||||||
renderRequestGeneration += 1;
|
|
||||||
if (!DATA_ONLY_RENDER_REASONS.has(reason)) processingProfileDirty = true;
|
if (!DATA_ONLY_RENDER_REASONS.has(reason)) processingProfileDirty = true;
|
||||||
env.__lastRenderReason = reason;
|
env.__lastRenderReason = reason;
|
||||||
}
|
}
|
||||||
@@ -2688,14 +2686,7 @@ async function loop(now){
|
|||||||
}
|
}
|
||||||
const targetMs = audioOk ? (1000 / desiredFpsForStyle(renderStyle)) : (1000 / 20);
|
const targetMs = audioOk ? (1000 / desiredFpsForStyle(renderStyle)) : (1000 / 20);
|
||||||
const target = targetMs;
|
const target = targetMs;
|
||||||
const currentMetricsSeq = Number.isFinite(env.audio?.phoenixMetricsSeq)
|
const currentAudioSeq = Number.isFinite(env.audio?.xySeq) ? env.audio.xySeq : 0;
|
||||||
? 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 audioDirty = currentAudioSeq > lastRenderedAudioSeq;
|
const audioDirty = currentAudioSeq > lastRenderedAudioSeq;
|
||||||
const shouldRenderFrame =
|
const shouldRenderFrame =
|
||||||
renderDirty ||
|
renderDirty ||
|
||||||
@@ -2723,17 +2714,14 @@ async function loop(now){
|
|||||||
}
|
}
|
||||||
prevSaverActive = saverActive;
|
prevSaverActive = saverActive;
|
||||||
if (!saverActive && shouldRenderFrame) {
|
if (!saverActive && shouldRenderFrame) {
|
||||||
const renderGeneration = renderRequestGeneration;
|
|
||||||
meterFacade.setFrameStamp?.(++frameCounter);
|
meterFacade.setFrameStamp?.(++frameCounter);
|
||||||
drawBG();
|
drawBG();
|
||||||
if (!currentView || currentViewId !== renderStyle) setView(renderStyle);
|
if (!currentView || currentViewId !== renderStyle) setView(renderStyle);
|
||||||
if (currentView.render) await currentView.render(env, viewState);
|
if (currentView.render) await currentView.render(env, viewState);
|
||||||
drawOptionsPanelBackdrop();
|
drawOptionsPanelBackdrop();
|
||||||
drawAudioLostOverlay();
|
drawAudioLostOverlay();
|
||||||
// A packet or UI event can request another frame while the async view
|
renderDirty = false;
|
||||||
// render is in progress. Do not erase that newer request here.
|
lastRenderedAudioSeq = currentAudioSeq;
|
||||||
if (renderRequestGeneration === renderGeneration) renderDirty = false;
|
|
||||||
lastRenderedAudioSeq = Math.max(lastRenderedAudioSeq, currentAudioSeq);
|
|
||||||
}
|
}
|
||||||
} catch(e){
|
} catch(e){
|
||||||
showErr('Render error: ' + (e?.message || String(e)));
|
showErr('Render error: ' + (e?.message || String(e)));
|
||||||
|
|||||||
Reference in New Issue
Block a user