diff --git a/src/mol-canvas3d/canvas3d.ts b/src/mol-canvas3d/canvas3d.ts index de4b02bca65778e72d75243a1a345abccdf38ae6..9e38b76135a47d847842c86f1e20a95b7f0856f2 100644 --- a/src/mol-canvas3d/canvas3d.ts +++ b/src/mol-canvas3d/canvas3d.ts @@ -615,22 +615,32 @@ namespace Canvas3D { } function consoleStats() { - console.table(scene.renderables.map(r => ({ + const items = scene.renderables.map(r => ({ drawCount: r.values.drawCount.ref.value, instanceCount: r.values.instanceCount.ref.value, materialId: r.materialId, renderItemId: r.id, - }))); - console.log(webgl.stats); + })); + + console.groupCollapsed(`${items.length} RenderItems`); + + if (items.length < 50) { + console.table(items); + } else { + console.log(items); + } + console.log(JSON.stringify(webgl.stats, undefined, 4)); const { texture, attribute, elements } = webgl.resources.getByteCounts(); - console.log({ + console.log(JSON.stringify({ texture: `${(texture / 1024 / 1024).toFixed(3)} MiB`, attribute: `${(attribute / 1024 / 1024).toFixed(3)} MiB`, elements: `${(elements / 1024 / 1024).toFixed(3)} MiB`, - }); + }, undefined, 4)); + + console.log(JSON.stringify(webgl.timer.formatedStats(), undefined, 4)); - console.log(webgl.timer.formatedStats()); + console.groupEnd(); } function add(repr: Representation.Any) {