A guide to FastFlags - Meddsam/Froststrap GitHub Wiki
NOTE
All explanations are from the Stoof server.
Recommended Buffering
FIntRakNetResendBufferArrayLength
Default Value: 512
Align Buffering with Network Settings
To ensure proper buffering in Roblox, the FIntRakNetResendBufferArrayLength value must match your system's buffering limit. This alignment prevents buffer overload.
Step 1: Check Your System’s Buffering Capacity
- Open Device Manager (
Win + X
→Device Manager
). - Expand Network Adapters and select your active adapter.
- Click Properties and navigate to the Advanced tab.
- Locate Receive Buffers and note the value displayed.
Step 2: Synchronize with RakNet Resend Buffer
- If
Receive Buffers = 512
, your system is synchronized withFIntRakNetResendBufferArrayLength = 512
, ensuring recommended buffering.
By ensuring that both values are properly aligned, buffering remains stable, preventing issues related to overload (BufferBloat), underload, or desynchronized resend handling in Roblox.
For a clear explanation of Buffers and RakNet, please refer to the links below:
- RakNet Explanation https://github.com/facebookarchive/RakNet
- Buffering Explanation https://en.wikipedia.org/wiki/Data_buffer
Explanation by Flemish
Rendering Mode
OpenGL:
{
"FFlagDebugGraphicsPreferOpenGL": "True"
}
Vulkan (may cause crashes if your GPU isn't in this list):
{
"FFlagDebugGraphicsPreferVulkan": "True"
}
DirectX 10 (may improve performance on older systems):
{
"FFlagDebugGraphicsPreferD3D11FL10": "True"
}
DirectX 11 (Roblox's default renderer):
{
"FFlagDebugGraphicsPreferD3D11": "True"
}
Metal (for macOS only):
{
"FFlagDebugGraphicsPreferMetal": "True"
}
Note: You will NOT be able to use alt + enter
while using Vulkan or OpenGL. Additionally, the 'future/unified' lighting feature will not be available on DirectX 10.
Explanation by 5070
Override Graphic Quality
DFIntDebugFRMQualityLevelOverride
This fast flag will cap your graphic settings at level 1 (you can change the 1 to any other graphic level you want it to be set to). To resolve the render distance issue, go to Settings > Graphics, and adjust the slider to the highest setting available. After that, your render distance issue will be resolved; only your render distance will be affected, while other graphics settings, including textures, will remain unchanged.
Explanation by EpikFailure
Texture Skipping
FIntDebugTextureManagerSkipMips
This setting lowers the quality of all textures, including custom textures such as those in Roblox Bedwars.
- 1: Good texture, but slightly blurry.
- 2: Low-quality textures.
- 3-4: Grey textures with blurry icons.
- 5-8: Grey textures, with some icons removed.
The effect of these values may vary depending on your PC.
Explanation by meddsam
Disable Full-Screen Title Bar
FIntFullscreenTitleBarTriggerDelayMillis
This setting prevents the gray title bar from appearing when in full screen and moving your cursor to the top.
Explanation by meddsam
Low Poly Meshes
Low-poly meshes are 3D models made with fewer polygons (shapes like triangles). Because they have less detail, they use less memory and are faster to load and render, which helps improve performance, especially on lower-end devices.
Telemetry
Telemetry refers to the automatic collection of data about how the game or platform is being used, which is then sent back to Roblox’s servers. This data can include aspects such as how long you play, which games you visit, performance information (like lag or crashes), and how certain features are utilized. Additionally, Roblox game developers can implement their own telemetry to better understand how players interact with their games.
The primary goal of telemetry in Roblox is to enhance the overall experience. It enables both Roblox and game creators to identify bugs, optimize performance, and make informed decisions about future updates based on actual player behavior.
When you disable telemetry, Roblox stops collecting and sending some of that usage data. This action can increase your privacy and reduce background network activity. However, it also means that Roblox may have a harder time detecting issues specific to your device or improving your experience. Game developers might also miss out on valuable insights that could assist them in fixing bugs or balancing gameplay.
Explanation by meddsam
Reduce Lag Spikes
DFIntBandwidthManagerDataSenderMaxWorkCatchupMs
DataSenderMaxWorkCatchupMs
Roblox’s network debug overlay (Shift+F3) categorizes outgoing traffic for easier understanding. “Out Data” represents application-level data (e.g., RemoteEvent traffic), while “Out Physics” concerns replication (automatic updates of objects and physics). The engine can throttle each stream if it exceeds the budget. For example, if usage is low, the throttle is at 0%.
The DFIntBandwidthManagerApplicationDefaultBps (64000) flag establishes the baseline for this throttling logic, ensuring that one category (like game remotes) doesn’t hinder core replication.
DFIntBandwidthManagerDataSenderMaxWorkCatchupMs (20)
What it controls:
This setting determines the maximum “catch-up” interval (measured in milliseconds) that the network data sender is permitted to process in one go if it falls behind. In simpler terms, if the Roblox networking task (responsible for sending updates to clients) experiences delays or lag, DataSenderMaxWorkCatchupMs caps the amount of backlog it attempts to send when it resumes operations. It serves as a throttle on how much delayed network work can be handled in a single frame or cycle.
This feature smooths out network output and prevents extreme spikes. Without such a limit, a significant pause could lead to a substantial burst of packets as the server “catches up,” potentially saturating bandwidth or causing noticeable lag spikes for players. Additionally, setting this value to 0 may result in increased ping.
Explanation by Dr. Plaguenstein
Large Replicator
{
"FFlagLargeReplicatorEnabled5": "True",
"FFlagLargeReplicatorWrite3": "True",
"FFlagLargeReplicatorRead3": "True"
}
These flags are part of Roblox’s networking system and are used to facilitate sending and receiving large amounts of data between the client and server.
FFlagLargeReplicatorEnabled5
This flag activates the entire system, enabling Roblox to utilize what is known as the "large replicator." This system is designed to efficiently handle larger data packets. When too much data is sent at once, it can cause issues, but this feature helps to prevent such problems.
FFlagLargeReplicatorWrite3
This flag is used for sending data. When activated, it allows the system to send large packets without breaking them into smaller fragments. This capability is particularly beneficial for synchronizing substantial game states or player data.
FFlagLargeReplicatorRead3
This flag pertains to receiving data. It enables the client (or server) to properly read and handle those large packets upon arrival.
Overall, these flags are advantageous when a game or feature requires the transmission or reception of data that may be several kilobytes or larger. They ensure that the data flow remains smooth without causing disruptions or slowdowns.
Explanation by Scroom
RCore
Rcore (Roblox Core):
This is the all-encompassing term for the underlying game engine that powers Roblox. It's the fundamental technology platform.
It handles everything that makes the game "work": game logic, physics, rendering, networking, asset management, data persistence, and security. It's the engine at the heart of the experience.
RCC (Roblox Client Core):
It is the client-side component of the Roblox Core Engine and the internal systems that process the code.
This typically relates to the systems and logic that run on the player's device (computer, phone, tablet, or console).
It includes the client-side parts of the engine, including physics simulation, rendering the world, and running the game code written by the user. In other words, the RCC is the part of the core engine that the player uses.
{
"DFIntSignalRCoreServerTimeoutMs": 20000,
"DFIntSignalRCoreRpcQueueSize": 2147483647,
"DFIntSignalRCoreHubBaseRetryMs": 10,
"DFIntSignalRCoreHandshakeTimeoutMs": 3000
"DFIntSignalRCoreKeepAlivePingPeriodMs": 25
"DFIntSignalRCoreHubMaxBackoffMs": 5000
}
Explanation by Scroom
Payload Limit
In Roblox, "payload" refers to the actual data sent over the network, such as player movements, game events, or chat messages. To maintain performance and prevent lag or abuse, Roblox sets payload limits.
Disabling the payload limit allows more data to be sent without restriction. This can be useful for testing or advanced use cases, but it also increases the risk of lag, crashes, or network issues, especially in multiplayer games. For most players, it’s best to leave this setting as-is unless there's a specific reason to change it.
Explanation by meddsam
Bypass Vulkan Requirement
FStringVulkanBuggyRenderpassList2
Offers a compatibility workaround for systems with faulty or unsupported Vulkan drivers by circumventing standard Vulkan GPU requirements. This solution is primarily intended for debugging or operating on non-compliant hardware and may lead to visual glitches or unstable performance.
Light Culling
FFlagDebugForceFSMCPULightCulling
FFlagFastGPULightCulling3
This feature helps the system decide which lights should affect objects in the scene, using the CPU or GPU. By skipping lights that don’t need to be rendered, it makes things run faster and allows more complex scenes to be handled efficiently, which could lead to input lag
BGRA Support
FFlagD3D11SupportBGRA
Enabling BGRA support lets the system use a color format where the color channels are arranged as Blue, Green, Red, and Alpha. This format can improve performance or compatibility with certain GPUs and rendering APIs.