diff --git a/src/GraphicsSystem/Viewer.ts b/src/GraphicsSystem/Viewer.ts index 4a3af255e..0d6a2442d 100644 --- a/src/GraphicsSystem/Viewer.ts +++ b/src/GraphicsSystem/Viewer.ts @@ -591,6 +591,7 @@ export class Viewer let i = 0; down.progress = 0.1; let brs: Board[] = []; + let pre = Date.now(); for (let index = 0; index < db.ModelSpace.Entitys.length; index++) { let en = db.ModelSpace.Entitys[index]; @@ -598,12 +599,14 @@ export class Viewer brs.push(en); this._Scene.add(en.DrawObject); i++; - if (i === 50) + let now = Date.now(); + if (i === 50 || now - pre > 100) { down.progress = 0.1 + index / db.ModelSpace.Entitys.length; await Sleep(1); i = 0; } + pre = now; } down.progress = 1; @@ -623,11 +626,13 @@ export class Viewer { if (!br.IsErase && br.Visible) br.GetDrawObjectFromRenderType(RenderType.Physical); - if (i === 30) + let now = Date.now(); + if (now - pre > 100 || i === 30) { await Sleep(1); i = 0; } + pre = now; } down.progressName = "";