Skip to content
Snippets Groups Projects
Commit 1569958a authored by Alexander Rose's avatar Alexander Rose
Browse files

debug-mode url param, canvas3d console stats

parent 3543faa0
No related branches found
No related tags found
No related merge requests found
...@@ -45,6 +45,9 @@ ...@@ -45,6 +45,9 @@
return decodeURIComponent(((window.location.search || '').match(r) || [])[1] || ''); 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 hideControls = getParam('hide-controls', '[^&]+').trim() === '1';
var pdbProvider = getParam('pdb-provider', '[^&]+').trim().toLowerCase(); var pdbProvider = getParam('pdb-provider', '[^&]+').trim().toLowerCase();
var emdbProvider = getParam('emdb-provider', '[^&]+').trim().toLowerCase(); var emdbProvider = getParam('emdb-provider', '[^&]+').trim().toLowerCase();
......
...@@ -362,10 +362,19 @@ namespace Canvas3D { ...@@ -362,10 +362,19 @@ namespace Canvas3D {
camera.setState({ radiusMax: scene.boundingSphere.radius }, 0); camera.setState({ radiusMax: scene.boundingSphere.radius }, 0);
reprCount.next(reprRenderObjects.size); reprCount.next(reprRenderObjects.size);
if (isDebugMode) consoleStats();
return true; 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) { function add(repr: Representation.Any) {
registerAutoUpdate(repr); registerAutoUpdate(repr);
...@@ -384,6 +393,7 @@ namespace Canvas3D { ...@@ -384,6 +393,7 @@ namespace Canvas3D {
reprRenderObjects.set(repr, newRO); reprRenderObjects.set(repr, newRO);
scene.update(repr.renderObjects, false); scene.update(repr.renderObjects, false);
if (isDebugMode) consoleStats();
} }
function remove(repr: Representation.Any) { function remove(repr: Representation.Any) {
...@@ -394,6 +404,7 @@ namespace Canvas3D { ...@@ -394,6 +404,7 @@ namespace Canvas3D {
renderObjects.forEach(o => scene.remove(o)); renderObjects.forEach(o => scene.remove(o));
reprRenderObjects.delete(repr); reprRenderObjects.delete(repr);
scene.update(repr.renderObjects, false, true); scene.update(repr.renderObjects, false, true);
if (isDebugMode) consoleStats();
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment