The Roblox MicroProfiler, or profiler for short, is Roblox's built-in analysis tool that provides real-time, extremely accurate timings regarding your game's performance on the device used. Using the profiler, you can read detailed information about each frame, allowing you to view what exactly is going wrong or right. This makes for a powerful tool to micro-optimize lower-end hardware.
Closing and opening the profiler is possible in 3 different ways, this makes it easy to adapt to any workflow you may already have.
Micro Profiler
setting to "On" or "Off".MicroProfiler
tab and select Client
to enable the profiler, or Off
to turn it off. This also allows you to record server-side profile dumps, which is explained further below.With the profiler open, you'll see an orange bar across the top of your screen, and a small header with tabs for more settings which should look like this:
Don't worry! Those orange bars are individual frames, each recorded with timing data for that frame length. Hovering over them provides more information, but they're currently moving way too fast right now to read them. In this case, the keybind ctrl + P
on Windows or cmd + P
on macOS will pause the frames, or you can select the Pause
tab.
The detailed mode is the mode we want to view. Viewing only the time length of the frame can only go so far! With the profiler paused, we can now open the Detailed
mode which can be found under the Mode
tab or it enables if you use the keybinds ctrl + F6 on Windows or ctrl + option + F6 on macOS to pause the profiler. Zoom in and out to view labels more in-depth and hold left click while dragging your mouse to move around the profiler.
Viewing the profiler in the detailed mode in Roblox can be difficult, and lacks features. You may also want to just save a capture of a profile and inspect it later or send it to someone more qualified to analyze the profile. To capture a profile, we'll want to pause the profiler first, so that we can get a clear and accurate profile. Next, "Dump" a profile by selecting the tab Dump
and select however many frames you want to capture (the normal profile dump size is 64 frames
).
After collecting the profile dump, you're gonna want to be able to send it or view it in your browser to get more in-depth and utilize the tooling provided in the browser. To do this, you need to navigate to your computer's local user on Windows or macOS.
Steps for Windows:
%userprofile%
command and run itSteps for macOS:
Go
in the menu barHome
That was for a client dump, which can be performed in any game, by any player, at any time. This is important since you may want to teach your QA testers how to save and send profile dumps to you to figure out why they're lagging.
For help on mobile devices, check out this Roblox article.
Server-side recordings are generated much differently since this is called the ServerProfiler, which is still the same profile viewer but provides up to 4 seconds @ 60fps worth of frames to analyze, which might miss the lag spikes that occur in your server.
To view these recordings, you'll have to navigate to the path provided by Roblox in the console when the recording has stopped. This location is different from the one provided by the client which is on the user.
Steps for Windows:
%localappdata%\Roblox\logs
command and run itSteps for macOS:
Go
Go To Folder...
~/Library/Logs/Roblox
and run itWhen you open a profile dump in your browser, you can easily read and analyze your games performance with the built in tooling provided. Tooling in your browser contains:
When analyzing, you'll probably want documentation. You can find the best documentation in my article "Roblox: MicroProfiler Documentation" which you can read here.
Thanks for reading, follow me on Twitter @Mullets_Gavin.