That makes sense! I was starting to realize that it might only apply for captures and not the regular view.
That said, I’d love to see X-Ray view for the regular, moving view of the MicroProfiler. This will make it easier for younger/less experienced developers, as recording captures can be quite a skill curve.
Including argument data is memory-intensive. This means we’d be able to display far fewer frames. However, your suggestion has got me thinking - maybe we can add detailed info only to those scopes that take an unusually long time. It’s worth researching.
Adding onto this; I saw no documentation on certain scopes, even after extensive searches on different engines. It’s not immediately obvious what a scope does sometimes, and I need to know when to blame you, not myself
For example, WaitForLock - who knows what it does other than the most highly esteemed engineers; but it chews up 30ms intermittently and that translates to stutters and I don’t like it and I’d love for it to be documented so I can plan ahead for a countermeasure.
Would be super appreciated! Since we’re spitballing ideas: it would be super awesome if the client could attach some small basic data, to describe what the user was doing at the time. Our game for instance has a lot of different gamemodes and worlds, and so being able to prepend this information into the microprofiler dumps we receive from users would be amazing!
This is my current foremost issue with the microprofiler - scopes are not really documented anywhere. You may get lucky if it has a useful name, but otherwise it’s difficult to pin down. Hope comprehensive documentation can get released at some point.
I like this idea. Since we don’t include screenshots in the dumps (yet), having a text description should help to provide context. However, each game has its own specific context. I think we could add something like debug._some_new_function_to_add_meta_info_into_dump_(_custom_string_up_to_XX_characters_) so developers can call it when the game mode changes and see it later in the dumps.
I think that it really needs to get expanded, it’s still missing some tags that would be useful to add. One of them are CoreScripts like CameraModule, ExperienceChatMain, TopBar, SchedulerHostConfig.default, PlayerListManager, etc. I know that not much developers can do to optimize the performance of these scripts, but it would still be good for developers to know what these scripts are for and what they do to avoid confusion. Perhaps it would also make developers aware of the performance issues of them so they can report them to Roblox to get them fixed. Also documentation for Occlusion Culling tags should be added when the feature releases. Other than that, I could only think of tags that don’t appear as much or subcategory tags like FastCluster* :updateGeometry or FastCluster* :updateEntity that could have more information added to them.