Mullet Mafia Tech

Mullet Mafia tech blog centered around Roblox development.


Product Design Spec
MicroProfiler Docs
MicroProfiler Usage


View the Project on GitHub Mullet-Mafia/TechBlog

Using the MicroProfiler

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.

[ToC]

Getting Started

Closing and opening the profiler is possible in 3 different ways, this makes it easy to adapt to any workflow you may already have.

  1. Open and close the profiler with a keybind press, ctrl + F6 on Windows or ctrl + option + F6 on macOS in-game or in-studio Play Solo mode.
  2. Open your escape menu and navigate to the Settings tab to enable or disable the profiler by switching the Micro Profiler setting to “On” or “Off”.
  3. Launch the profiler via the console on the keybind F9, or if you’re the developer of the game you can open your escape menu and navigate to the Settings tab, and select “Open Console” at the bottom. Navigate to the 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.

How it Works

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:

Profiler header

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.

Using the profiler

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 detailed mode

Collecting Profiles

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).

Collecting profile dumps

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:

Steps for macOS:

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 Profiler

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.

Server profile recordings

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:

Steps for macOS:

Analyzing Profiles

When 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.