refactor: do dirty checks later
This commit is contained in:
parent
6b2f392794
commit
2dca6509fb
|
@ -24,7 +24,6 @@ appNode.addEventListener('touchmove', (event) => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
});
|
});
|
||||||
// Graphics stage.
|
// Graphics stage.
|
||||||
let dirty = false;
|
|
||||||
const visibleSize = [320, 180];
|
const visibleSize = [320, 180];
|
||||||
const halfVisibleSize = Vector.scale(visibleSize, 0.5);
|
const halfVisibleSize = Vector.scale(visibleSize, 0.5);
|
||||||
const visibleScale = [2, 2];
|
const visibleScale = [2, 2];
|
||||||
|
@ -93,7 +92,6 @@ room.on('entityAdded', (entity) => {
|
||||||
camera.on('realPositionChanged', () => {
|
camera.on('realPositionChanged', () => {
|
||||||
const offset = Vector.sub(halfVisibleSize, camera.realPosition);
|
const offset = Vector.sub(halfVisibleSize, camera.realPosition);
|
||||||
roomView.position = offset;
|
roomView.position = offset;
|
||||||
dirty = true;
|
|
||||||
});
|
});
|
||||||
// Avoid the initial 'lerp.
|
// Avoid the initial 'lerp.
|
||||||
camera.realPosition = camera.position;
|
camera.realPosition = camera.position;
|
||||||
|
@ -207,7 +205,6 @@ const predictionHandle = setInterval(() => {
|
||||||
}
|
}
|
||||||
// Tick synchronized.
|
// Tick synchronized.
|
||||||
synchronizer.tick(elapsed);
|
synchronizer.tick(elapsed);
|
||||||
dirty = dirty || synchronizer.state !== state;
|
|
||||||
state = synchronizer.state;
|
state = synchronizer.state;
|
||||||
// Render timing.
|
// Render timing.
|
||||||
renderTicker.tick(elapsed);
|
renderTicker.tick(elapsed);
|
||||||
|
@ -254,22 +251,17 @@ function onPacket(packet) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
synchronizer.patchState(patch);
|
synchronizer.patchState(patch);
|
||||||
dirty = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
socket.on('packet', onPacket);
|
socket.on('packet', onPacket);
|
||||||
// Render.
|
// Render.
|
||||||
function render() {
|
function render() {
|
||||||
stage.tick();
|
stage.tick();
|
||||||
if (!dirty) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!mayRender) {
|
if (!mayRender) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
mayRender = false;
|
mayRender = false;
|
||||||
stage.render();
|
stage.render();
|
||||||
dirty = false;
|
|
||||||
}
|
}
|
||||||
const renderHandle = setAnimation(render);
|
const renderHandle = setAnimation(render);
|
||||||
// UI.
|
// UI.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user