Frametime spikes decimating FPS by 5x

Frametime spikes originating from Roblox-created scripts are decimating my frame rate across every single experience across the entire platform. This issue is universal and can be applied to any hardware configuration and every experience regardless of developer-included content due to the performance issues originating from Roblox’s own internal scripts.

The bottleneck is single-threaded. I have among the world’s fastest CPU with regards to single-threaded performance (M4 Max).
With that said, it is currently impossible for any user on the platform to own any hardware that outpaces these performance issues.

image

As far as I am aware this issue is platform-wide; I also experience this on my PC with an AMD 5800X3D CPU; not the newest but definitely still high end. I would also be lead to believe that this issue induces motion sickness for Roblox users who are playing via the Quest 2 / 3 due to how much demand this places on the CPU.

Microprofiler Paths:
Thread Foreground → TS::JobStep → Heartbeat(Heartbeat:LuaApp) → Heartbeat → RunService.Heartbeat → SchedulerHostConfig.default
Thread Foreground → TS::JobStep → Heartbeat(Heartbeat:LuaApp) → Heartbeat → delayedThreads → SchedulerHostConfig.default

Attached privately is a microprofiler report containing 2 separate instances of these stutters that articulate the issue with complete accuracy.

Expected behavior

As I have chosen 240FPS in the Roblox app settings while in-experience and that my GPU can happily render at 240FPS, I expect my frametimes to be consistent (240FPS / ~4.1ms).

A private message is associated with this bug report

8 Likes

Did some troubleshooting so that the Roblox staff don’t have to; as a result I should expect the bug not to persist for long.

The stutters originate from launching a game from the Roblox app’s homepage.

Clicking on an experience and then hitting play takes you away from the homepage, eliminating any dynamic updates in the background related to updating information (IE. friend status updates, friend experience status updates), so this is a safe way to play experiences without incurring any stutter.

This can also be worked around by directly launching an experience (with the Roblox app closed) from the Roblox website as the app doesn’t load any homepage until you leave the experience.

This information implies the page is still dynamically updating in the background when there is no need for it.

Now that we know what the issue is, let’s apply a simple fix such as pausing all lua app homepage activity while in experience so these stutters can be avoided during gameplay.

2 Likes