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, and even without that, there’s many cases where a developer might want to prioritize rendering at a certain distance rather than having perfect 60 (or even 30) fps.

Let’s consider the first reason why this culling system should be improved - It’s improperly tuned.
I 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)

Yet at graphics level 01 this is enough to overload the internal limit* and cause it to reduce draw distance to 200 studs even if the device could very easily handle it.


DU92IpLkpI

As you can see in the video above, as more parts come into view the maximum render distance caps at 200. Since such a simple scene triggers culling, pretty much every other game also does - they all cross this incredibly low threshold of scene complexity

Another reason the 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.

Roblox has excellent tools to both automatically and manually optimize far away objects - LODs for meshes, terrain and for streamed out objects, great instancing/batching for reused assets that I feel like 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.

Some developers like myself are willing to optimize like hell and reduce far objects quality to the extreme (like converting them into flat billboards) just to squeze out that extra performance and render distance (if an automatic system increased render distance in return ofc). And some would even prefer to enforce a certain minimum rendering distance even if it meant taking a massive hit on performance

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

27 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

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

1 Like

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.

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

1 Like

Oh, okay. Thanks for correcting me.

1 Like

Or better yet, allow us to force render things.

This would also be nice for particle emitters.

1 Like