How to get mesh / material involved in Spector JS frame

Until now I have been manually looking at the frames to know which meshes / materials are being painted in a frame. However in certain frames it is not easy to know what got painted as they look the same as the previous frames. How can I get a list of the meshes and materials that are painted in a frame?

cc @sebavan but I don’t believe that is possible as Spector just registers the WebGL calls, not Babylon ones

1 Like

Thanks for the reply @carolhmj . I am kind of stuck as to how folks go about optimizing their scene. I’m a n00b to game engines in general so pardon my ignorance here. It seems I’m missing something fundamental here.

Here is a description of what I wish existed so I can optimize the scene: a graph of draw calls on y axis and mesh names on X axis. This will quickly help me figure out Babylon meshes who by itself or by virtue of its children resulted in excessive draw calls. Another graph with material names on X axis will be useful to figure out the top culprit materials.

IIUC this does not exist. Meaning the only way to understand mesh and material level contribution to draw calls is by manually inspecting the frames generated by specter. You can see how this can get hairy as it involves a bunch of tedious visual manual inspection (which is error prone as what changed is not obvious between adjacent frames). This needs to be done every time the scene is updated. On top of that it is time consuming as we will be roughly looking at 100 or so drawcalls every time.

I hope I got this wrong and there is a different and better workflow to pinpoint the problem materials and meshes instead of looking at such graphs. I’m all ears for it :slight_smile: