lag r
This commit is contained in:
parent
d875df8600
commit
2741b93dea
31 changed files with 751 additions and 546 deletions
19
js/main.js
19
js/main.js
|
|
@ -3,9 +3,6 @@ let last = nowSec();
|
|||
let statsTimer = 0;
|
||||
let fpsTimer = 0;
|
||||
let fpsFrames = 0;
|
||||
let perfResizeTimer = 0;
|
||||
let lastPerfLevel = 0;
|
||||
let lastPerfMaxDpr = 0;
|
||||
window.__tarinaiFps = 0;
|
||||
|
||||
const LOADING_SPRITES = [
|
||||
|
|
@ -85,26 +82,14 @@ function loop() {
|
|||
fpsFrames += 1;
|
||||
if (fpsTimer >= 0.5) {
|
||||
window.__tarinaiFps = Math.round(fpsFrames / Math.max(fpsTimer, 0.001));
|
||||
window.TarinaiPerformance?.updateFps?.(window.__tarinaiFps, world);
|
||||
window.TarinaiPerformance?.updateFps?.(window.__tarinaiFps);
|
||||
fpsTimer = 0;
|
||||
fpsFrames = 0;
|
||||
}
|
||||
world.update(dt);
|
||||
render();
|
||||
statsTimer += dt;
|
||||
const quality = world.performanceQuality?.() || {};
|
||||
const perf = Number(quality.level ?? (world.performanceLevel ? world.performanceLevel() : 0)) || 0;
|
||||
perfResizeTimer += rawDt;
|
||||
if (perfResizeTimer > 1.5) {
|
||||
const maxDpr = Number(quality.maxDpr || 0) || 0;
|
||||
if (perf !== lastPerfLevel || Math.abs(maxDpr - lastPerfMaxDpr) > 0.08) {
|
||||
lastPerfLevel = perf;
|
||||
lastPerfMaxDpr = maxDpr;
|
||||
resizeCanvas();
|
||||
}
|
||||
perfResizeTimer = 0;
|
||||
}
|
||||
const statsInterval = world.performanceQuality?.().statsInterval ?? (perf >= 3 ? 1.20 : perf === 2 ? 0.92 : perf === 1 ? 0.68 : 0.48);
|
||||
const statsInterval = 2.5;
|
||||
if (statsTimer > statsInterval) {
|
||||
renderStats();
|
||||
statsTimer = 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue