Identifying Performance Issues | Documentation - Roblox Creator Hub (2024)

Identifying performance issues generally means drilling down on one of three categories: frame rate (compute), memory, or load time.

Roblox has a number of tools for identifying performance issues, some of which are available in the Roblox client (and therefore Studio) and some of which are only available in Studio. Whereas you can observe client behavior directly, you must use tools to diagnose server issues.

ToolDescriptionLocationKeyboard shortcutEnvironment
Developer ConsoleA console with real-time log messages, errors, and detailed information on memory, networking, and script performance. It's useful for viewing memory consumption, key server health stats, script performance stats, and to launch the client or server MicroProfiler.StudioF9Live sessions, Studio testing
MicroProfilerA debugging tool that breaks down how much computational time is spent on tasks each frame. It can generate dumps for analysis showing a precise breakdown of individual frames, making it helpful for identifying the specific task causing performance issues. You can run the profiler on either the client or the server, depending on which side has an issue.In-experienceCtrlAltF6 (F6)Live sessions, Studio testing
Performance Stats BarA toolbar with basic performance statistics, including memory consumption, CPU, GPU, network data sent and received, and ping time.In-experienceCtrlAltF7 (F7)Live sessions, Studio testing
Debug StatsOverlays with detailed information around graphics, physics, network traffic, and FPS.In-experienceShiftF1, ShiftF2, ShiftF3, ShiftF4, ShiftF5Live sessions, Studio testing
Performance DashboardA dashboard with aggregate charts for client and server memory usage, client frame rate, server heartbeat, and crash rates in real-time. It's helpful for analyzing performance patterns over time. See Monitoring Performance.Creator DashboardN/ALive sessions

Server Compute

Server heartbeat is capped at 60 FPS for all experiences, so lower values might indicate a performance issue. To check server heartbeat:

Another symptom of degraded server heartbeat is increased latency (commonly known as ping). The longer the server takes to finish computing its tasks each frame, the longer it takes to process network data sent and received from clients. To check average ping for all players connected to a server, go to the Server Stats tab in the Developer Console.

Client Compute

The default client frame rate cap is 60 FPS. However, users can raise their frame rate cap up to 240 FPS.

Frame rate differs wildly between devices. For example, a high-end PC might be able to "brute force" a computational issue and only experience an imperceptible frame rate dip. If you test on lower-end devices, problems tend to be more severe and thus easier to notice.

To check the frame rate of your experience:

  • In the client, press ShiftF5 to show the debug stats summary.

  • In the Studio View tab, select Stats > Summary to enable debug stats.

    Performance stats in Studio are skewed by the Studio application, so you should view the frame rate on the client if you have a production experience.

  • With the MicroProfiler, you can check the graph to see if the frame takes longer than 16.67 ms.

When evaluating frame rate, it can help to set the graphics quality to its maximum value to remove the effect of the frame rate manager. In the client, open the menu, click Settings, change Graphics Mode to manual, and raise graphics quality.

Memory

There are several ways to check memory usage for an experience:

  1. Open the Developer Console and switch to the Memory tab. This tab gives a breakdown of how memory is being allocated. Use the client rather than Studio to get the most accurate readouts.

  2. Enable the Performance Stats view from the settings menu in the client to see an overlay with total client memory usage.

High memory usage is not necessarily indicative of a problem, but some indications that you may need to investigate more are:

  • A significant percentage of client crashes showing in the Performance Dashboard, particularly a sudden uptick that coincides with an update. Some number of crashes are expected, but you should investigate if your crash rates increase above 2-3%.

  • A crash occurs while testing on a device that you want your experience to support.

  • Your server memory usage exceeds 3 GB.

A significant portion of an experience's memory consumption on the client are from assets, such as images and meshes, loaded into graphics memory so they can be rendered. In the Developer console, you can view the graphics memory consumed by assets under the following labels:

  • GraphicsMeshParts - Graphics memory consumed by meshes.

  • GraphicsTexture - Graphics memory consumed by textures.

Load Times

There are no built-in tools for checking load times, but because they don't require millisecond-level precision, a stopwatch is usually all you need to understand your current baseline and check whether you made a substantive improvement.

Identifying Performance Issues | Documentation - Roblox Creator Hub (2024)

References

Top Articles
Latest Posts
Article information

Author: Gov. Deandrea McKenzie

Last Updated:

Views: 5709

Rating: 4.6 / 5 (66 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Gov. Deandrea McKenzie

Birthday: 2001-01-17

Address: Suite 769 2454 Marsha Coves, Debbieton, MS 95002

Phone: +813077629322

Job: Real-Estate Executive

Hobby: Archery, Metal detecting, Kitesurfing, Genealogy, Kitesurfing, Calligraphy, Roller skating

Introduction: My name is Gov. Deandrea McKenzie, I am a spotless, clean, glamorous, sparkling, adventurous, nice, brainy person who loves writing and wants to share my knowledge and understanding with you.