Improve (Or Prioritize) Render Distance at Low Graphics Levels

As a Roblox developer, it is currently too hard to design games around mid-long viewing distances, as it gets cut short (very aggressively) on low graphics settings.

  • There’s many examples where render distance gets cut short even when the device can easily render the environment at a stable FPS.
  • There’s many cases where a developer might want to prioritize rendering at a certain distance rather than having perfect 60 fps.

Let’s consider the first reason why this culling system should be improved - It’s currently an old, lazy and inefficient implementation.
In the example below have an empty baseplate of just 100 parts, a mere 2 drawcalls and 1.2k triangles (which is practically NOTHING to even the lowest of low end devices)

In the video above, as more parts come into view the maximum render distance is reduced to 200.

So at graphics level 01 something like 50 basic blocks is enough to overload the internal limit* and cause it to cull render distance, even if the device could very easily handle it. It does not care about context like scene complexity, device strength or developer intent, it just feels like a quick bandaid solution, which destroys a lot of games.

If such a simple scene triggers culling, pretty much every other game on roblox also does - they all cross this incredibly low threshold and sit at 200 stud render distance, which is not enough for a lot of games nowadays.

The second reason this culling system should be improved is to support competitive games that have long range combat, like snipers, air jets, tanks etc. These games become unplayable for players at lower graphics levels, because they require you to see opponents far away. There’s also many games that depend on large views and landscapes to guide the player towards key gameplay locations, a game design choice that becomes obsolete with such render distance limitations



Roblox has excellent tools to both automatically and manually optimize far away objects - LODs for meshes, terrain and for streamed out objects as well as great instancing/batching for reused assets. I feel like these features are being wasted, because in situations where they are most useful (low graphics levels, slow devices) they get culled off by these incredibly small render distances anyway.

I’d much prefer for my worlds to have lower visual quality (like the pictures above) and have continuity instead of cutting off abruptly and showing an empty void. And I’d gladly put in extra work to make this happen if any improvements to the engine allowed me to do so, but right now there’s nothing i can do about it, it’s just strictly enforced.

If Roblox is able to address this issue, it would improve my development experience because I’d be able to create even larger and more optimized worlds and showcase them to the fullest on any device, as well as design games with long distance combat, gameplay and viewing in mind

*There's a "FRM Blocks"/"FRM Visible" value that increases by a certain amount for every object thats visible, and as it reaches a maximum "target" the render distance lowers, this happens VERY fast and aggressively

88 Likes

You could turn this off (or change it) via workspace > Streaming Section.
Changing the streaming will mainly affect render distance, (it may hurt low-end devices) but you can use it to get the level ten you want for level one graphics.
(i think, i’m honestly probably wrong.lol)

Workspace > Streaming only has effect on streaming distance (which is different from rendering distance)

Streaming distance decides what objects are loaded on your devices memory, meaning these objects will exist and simulate in the game world

Render distance manages what’s actually VISIBLE on your screen and its decided based on graphics quality (with no way for developers to change it)

It’s possible for objects to be within your streaming distance, exist and simulate on your device but NOT be visible due to low graphics settings and a low render distance - this is what i’m requesting to improve because most of the time this distance is too small even when a device can handle the performance easily

12 Likes

Support. There are many games I play, and when my device starts over heating, I generally lower my graphics settings. However, this ruins gameplay, because I can’t even see half of the map.

7 Likes

Roblox cannot automatically determine whether higher frames is more valuable than higher render distance. Render distance should be divorced from the graphics quality setting as it has enormous impact on whether a game is even playable.

22 Likes

This. Is.
Why I installed bloxstrap. I’m perfectly fine with having 1 quality on everything, but not render distance. This should be setting, and not automatic roblox choice, because it’s impossible for roblox to determine what’s more important.

9 Likes

Oh, okay. Thanks for correcting me.

5 Likes

Or better yet, allow us to force render things.

This would also be nice for particle emitters.

7 Likes

I’m not going to lie, my game literally cannot function without players being able to see things farther away. And that’s the majority of players right now, haha.

Seriously.

We got the ability to prioritize lighting quality and lighting render distance but not regular distance?

8 Likes

I found a very hacky and risky workaround for now, if you REALLY need to show certain things at long distances

meshes (it only works for meshes) are culled away based on their bounding box, so its possible to make their bounding boxes huge by adding one or two triangles far from the center and below ground. that way the mesh bounding box will be within your radius at very long ranges and still render

I haven’t tested this and i probably wouldn’t use it in production for lots of objects, it will most likely mess with raycasting and physics performance because they also optimize themselves by querying bounding boxes

7 Likes

Support! Render distance is a must to avoid obstacles in my game and it’s impossible to see anything at low graphics.

2 Likes

You know what is sad, no staff member even replied. They really don’t care about our opinion!

6 Likes

Support, support, support, support. SUPPORT.

4 Likes

I would like the opposite, im playing a doors like game but the rooms behind you dont despawn since otherwise the game wouldnt work, and having 799 rooms loaded at once really kills your frames, but i still would want highest graphics.

That seems like a architectural flaw, since there’s not a very high chance that past a certain distance away there’s a point to render the rooms at full quality.

1 Like

Over half of the players in my game cannot see very important distant objects. It’s embarrassing, and drives a low like ratio on my game - by players that don’t even know what they’re missing

Roblox has recently made a “streaming focal point” system which, equally embarrassing, they seem to have forgotten is next to useless if you already can’t see anything more than a foot infront of you.

I have been frustrated with this for over 5 years. At what point will roblox improve my ability to adjust render distance?

I’ve resorted to, yet again, something embarrassing - asking users with Automatic or Low graphics to turn their graphics up upon joining.

Roblox.. if it’s embarrassing to all of us, why not fix it?

3 Likes

To add to this, maybe you can add “advanced” graphics settings.

This will add two different categories when turned on.

Quality and render distance.

They can probably add as much as they like.

AT LEAST LET THE DEVS CHANGE THE RENDER DISTANCE

5 Likes

looks cool and easy enough to implement

3 Likes

Roblox’s former technical direct had a bad habit of making fun of people for suggesting this, implying not enough users would make use of “advanced” graphics settings.

But he really never could explain why developers don’t have the ability to tune these settings either…

8 Likes

I feel this so hard

I make VR games, and the hardware on the standalone headsets is simply not good enough to keep ANY kind of VR experience a consistent 9 or 10 level. so in some games. so I’ll have enemies popping in out of nowhere…

3 Likes