Lack of information on the MicroProfiler

https://developer.roblox.com/articles/MicroProfiler

The MicroProfiler is a very powerful tool for developers to debug and assess performance issues in their game. That being said, it’s unfortunate that such a tool lacks technical information (or anything at all).

A recent thread regarding profiles (specially a server profile capture) led me to go on a search for information on the MicroProfiler, something which I have done before but put off due to not being able to find much on it, nor did I use it as often. Now that I actually do use this tool and there are others looking to use it, the lack of information is a little hard hitting.

I’ve spent a while reading the single article on the MicroProfiler, as well as watching the three videos on it. They introduce the MicroProfiler but there isn’t any actual information to go off of aside from “if a bar is too big, you have performance issues!”. The DevForum wasn’t of much help either, since searching “MicroProfiler” just has tons of threads asking what labels mean or how to use it in the first place.

The only use I really have found for the MicroProfiler where I actually know how to use it is the debug library where you can open up your own sections within the MicroProfiler to analyse the performance for a chunk of code that you specify. Everything else, presumably, is internal and unknown to me.

It would be very helpful if some more information was added regarding the MicroProfiler. One major piece of knowledge that’d be great to possess is what some of (or all of) the bars not developer-created via the debug library mean or how they impact performance in a game. It’d also be helpful to know what is important to target in a codebase to reduce the performance hits those sections have (i.e. Physics).

That being said, I don’t know what any of the options in the tool strip bar do either, so I click things and hope that I’m not doing anything wrong. This goes for both the in-game MicroProfiler and a server profile capture (though the server capture is a little easier to understand based on inferences and assumptions, while I’m not sure what the many options for the in-game profiler are at all).

47 Likes

yes hi
sorry for bump
i too think MicroProfiler is big useful


What does runJob mean?
What does ClearUnusedLuaRefsJob mean?

the world may never know

EDIT: the second one might be self explanatory but I’d still appreciate some documentation

1 Like

There’s been some movement going on with a proper MicroProfiler article - it’s Coming Soon :tm:

I’ll update this thread when it’s up on the developer hub. It may or may not include a description of all the labels (still some internal discussion on that).

10 Likes

Greetings from the future! The MicroProfiler page has been updated, and the update is now visible.

We’re looking to follow up with information on the labels in the timeline view, but this is for a separate article. General game optimization is a topic that is beyond the scope of this one tool, so we want to make sure we do it right.

3 Likes

Sorry for the bump, but wondering if there is any update on timeline labels? It’s a super cool tool, but not very useful without any documentation on how to use it. I’ve been getting this “Scene” / “Opque_ID” label a lot, but there’s never been any clarification on what it means: Random lag as of a week ago or so with 'Scene' 'Id_Opque' - #6 by Happywalker

1 Like

EDIT: New documentation is more wide sweeping that I thought.

Housekeeping: the Using (the) MicroProfiler on the Docs Site is significantly more detailed and we now have an article on process tags which lists all the labels you can find in a detailed view of the profiler. The tag table page includes definitions for labels like gameStepped but it is not exhaustive as some labels like runJob are missing.

The new documentation contains a sample project to follow along with and demonstrate the MicroProfiler’s capabilities with and has better information on how to read the profiler. The new content actually lets you know what you’re doing when you’re using the profiler so it’s not entirely a battle of bouncing knowledge off each other when we ourselves had little. For most developers, the most common components you’ll ever need to use on the profiler are now documented.

I think it’s safe to consider this documentation request resolved and will mark it resolved, opening the door for any last minute additions or a concern that would make me unmark the thread.

2 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.