From 1569958a29ebdfe72615c806a78512f4233e6b3d Mon Sep 17 00:00:00 2001 From: Alexander Rose <alexander.rose@weirdbyte.de> Date: Sat, 9 May 2020 11:52:09 -0700 Subject: [PATCH] debug-mode url param, canvas3d console stats --- src/apps/viewer/index.html | 3 +++ src/mol-canvas3d/canvas3d.ts | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/apps/viewer/index.html b/src/apps/viewer/index.html index 7c28bd24a..b11ebd079 100644 --- a/src/apps/viewer/index.html +++ b/src/apps/viewer/index.html @@ -45,6 +45,9 @@ return decodeURIComponent(((window.location.search || '').match(r) || [])[1] || ''); } + var debugMode = getParam('debug-mode', '[^&]+').trim() === '1'; + if (debugMode) molstar.setDebugMode(debugMode); + var hideControls = getParam('hide-controls', '[^&]+').trim() === '1'; var pdbProvider = getParam('pdb-provider', '[^&]+').trim().toLowerCase(); var emdbProvider = getParam('emdb-provider', '[^&]+').trim().toLowerCase(); diff --git a/src/mol-canvas3d/canvas3d.ts b/src/mol-canvas3d/canvas3d.ts index f888da0b3..6bb14f0fc 100644 --- a/src/mol-canvas3d/canvas3d.ts +++ b/src/mol-canvas3d/canvas3d.ts @@ -362,10 +362,19 @@ namespace Canvas3D { camera.setState({ radiusMax: scene.boundingSphere.radius }, 0); reprCount.next(reprRenderObjects.size); + if (isDebugMode) consoleStats(); return true; } + function consoleStats() { + console.table(scene.renderables.map(r => ({ + drawCount: r.values.drawCount.ref.value, + instanceCount: r.values.instanceCount.ref.value, + materialId: r.materialId, + }))); + } + function add(repr: Representation.Any) { registerAutoUpdate(repr); @@ -384,6 +393,7 @@ namespace Canvas3D { reprRenderObjects.set(repr, newRO); scene.update(repr.renderObjects, false); + if (isDebugMode) consoleStats(); } function remove(repr: Representation.Any) { @@ -394,6 +404,7 @@ namespace Canvas3D { renderObjects.forEach(o => scene.remove(o)); reprRenderObjects.delete(repr); scene.update(repr.renderObjects, false, true); + if (isDebugMode) consoleStats(); } } -- GitLab