From f9b5bbb114406c9d756eb2c477cdcf07090013f2 Mon Sep 17 00:00:00 2001 From: chenshenhai Date: Wed, 2 Jun 2021 19:01:57 +0800 Subject: [PATCH] fix: core render loop --- packages/core/src/index.ts | 3 +-- packages/core/src/lib/renderer.ts | 9 ++++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 55560a5..f0e405d 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -144,10 +144,9 @@ class Core { this[_selectedUUID] = uuid; } else { const [index] = this[_element].isPointInElement(point, this[_data]); - // console.log('index ===', index); this.selectElement(index); } - // console.log('this[_mode] =', this[_mode], point) + this.draw(); } private _handleMoveStart(point: TypePoint): void { diff --git a/packages/core/src/lib/renderer.ts b/packages/core/src/lib/renderer.ts index 51a8c18..f4817e4 100644 --- a/packages/core/src/lib/renderer.ts +++ b/packages/core/src/lib/renderer.ts @@ -52,8 +52,11 @@ export class Renderer { requestAnimationFrame(() => { // console.log('------ render frame ------', this._loader.isComplete()) let item: QueueItem | undefined = this._queue[0]; + let isLastFrame = false; if (this._queue.length > 1) { item = this._queue.shift(); + } else { + isLastFrame = true; } if (this._loader.isComplete() !== true) { this._drawFrame(); @@ -62,13 +65,13 @@ export class Renderer { drawContext(ctx, item.data, item.helper, this._loader); this._board.draw(); this._retainQueueOneItem(); - if (this._queue.length > 1) { + if (!isLastFrame) { this._drawFrame(); } else { - this._status = DrawStatus.FREE + this._status = DrawStatus.FREE; } } else { - this._status = DrawStatus.FREE + this._status = DrawStatus.FREE; } }) }