Babylon.js icon indicating copy to clipboard operation
Babylon.js copied to clipboard

Profiler tab in NME

Open CedricGuillemet opened this issue 4 years ago • 2 comments

A VS and FS profiling tab where I can see the complexity of the generated shader. Basically, I want to know the estimated number of instructions, the number of texture sampling and the number of varying. This will help find performance bottle necks.

@PatrickRyanMS comment : I think this would be really useful even in the early design of a shader so we can make confident tradeoffs early rather than trying to optimize at the end which could invalidate a bunch of work that would not have been necessary had we known going in that the performance trade-offs were too high.

CedricGuillemet avatar Nov 09 '20 09:11 CedricGuillemet

@SahilTara - will the performance tab you are creating be able to address this?

RaananW avatar Aug 10 '21 11:08 RaananW

I think the tool that @SahilTara is building could be expanded to cover this need, but right now we don't capture this kind of data around a particular shader in the inspector so that data would not be available to the profiler tool. Even the custom flags that can be captured in the profiler would not cover us as they do not reach into the shaders.

We would probably need to add tooling to NME to provide this data which could then be tracked because adding data capture per shader in a scene could potentially be a nightmare for UX in the inspector. Allowing the user to enable flags in NME or even add profiling nodes into the graph could be an elegant way to handle capturing data for the profiler.

However, I love the idea of the profiler and NME working together rather than needing a separate solution for shader profiling.

PatrickRyanMS avatar Aug 10 '21 16:08 PatrickRyanMS

No traction. Feel free to re-open.

thomlucc avatar Mar 12 '24 18:03 thomlucc