Update FPS

This commit is contained in:
Bill 2021-06-15 13:41:22 -04:00
parent 2b1e75b06f
commit 7c1e81f1d1

View File

@ -354,10 +354,15 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
const frame = Math.round(this._totalTimeRunning / (60 / this._animationFPS)); const frame = Math.round(this._totalTimeRunning / (60 / this._animationFPS));
let updateVisuals = false;
if(frame !== this._lastFrame) if(frame !== this._lastFrame)
{ {
this._lastFrame = frame; this._lastFrame = frame;
updateVisuals = true;
}
let spriteCount = 0; let spriteCount = 0;
const objects = this._container.objects; const objects = this._container.objects;
@ -368,7 +373,7 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
{ {
if(!object) continue; if(!object) continue;
spriteCount = (spriteCount + this.renderObject(object, object.instanceId.toString(), time, update, spriteCount)); spriteCount = (spriteCount + this.renderObject(object, object.instanceId.toString(), time, update, updateVisuals, spriteCount));
} }
} }
@ -394,9 +399,8 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
} }
this.cleanSprites(spriteCount); this.cleanSprites(spriteCount);
}
if(update) this._canvasUpdated = true; if(update || updateVisuals) this._canvasUpdated = true;
this._renderTimestamp = this._totalTimeRunning; this._renderTimestamp = this._totalTimeRunning;
this._renderedWidth = this._width; this._renderedWidth = this._width;
@ -430,7 +434,7 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
this._objectCache.removeObjectCache(identifier); this._objectCache.removeObjectCache(identifier);
} }
private renderObject(object: IRoomObject, identifier: string, time: number, update: boolean, count: number): number private renderObject(object: IRoomObject, identifier: string, time: number, update: boolean, updateVisuals: boolean, count: number): number
{ {
if(!object) return 0; if(!object) return 0;
@ -458,7 +462,7 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
return 0; return 0;
} }
visualization.update(this._geometry, time, (!sortableCache.isEmpty || update), (this._skipObjectUpdate && this._runningSlow)); if(updateVisuals) visualization.update(this._geometry, time, (!sortableCache.isEmpty || update), (this._skipObjectUpdate && this._runningSlow));
if(locationCache.locationChanged) update = true; if(locationCache.locationChanged) update = true;