More control over graphics settings: separating render distance from quality

I’m sure this has been brought up before but I can’t find it. Anyway, what I want is a way to separate your render distance from the quality level of materials around you. If you’ve ever played PF you know that some maps are fairly far across and I find that in order to see across the map I have to turn my graphics up. But I don’t need better material quality, I just need to be able to see further. I’d love it if I could set my view distance so I could see more but crank down the quality to the lowest setting so I can run games as fast as possible without missing important things or not being able to see everything I need/want to see.

84 Likes

I’d love to be able to control a lot more graphics settings instead of just a slider.

Might really frustrate some devs though.

27 Likes

This would be fantastic, but I feel like last time this was brought up it was stifled by claims of “oh, no one will use this” which I don’t believe would be the case at all. Perhaps these settings should be per-game instead of per-client?

10 Likes

4.png
images.jpg
images.png

29 Likes

“Not used”
Not used when you’re getting killed by people you can’t see because they have a higher render distance than you?

“Confusing”
much confusing; such danger

43 Likes

still relevant

I think someone explained why the engine can’t allow for individual graphics options, something about render priorities having to be in a specific order but I can’t justify this personally. The “advanced options would be too confusing for most players” argument sounds like a downright excuse, there should at least be basic settings and optional advanced settings.

28 Likes

“It’s too confusing!”

Minecraft is / was one of the most wildly popular PC games ever, and they had individual graphics settings. Pretty much every other big title has graphics settings and they do just fine. This isn’t a good reason for withholding basic client features, it’s an excuse.

12 Likes

Not to mention one of the most popular games specifically for really young children. If they’re not confused by it, I find it hard to believe ROBLOX’s audience would.

9 Likes

I think it would be totally acceptable keep the current interface for changing graphics, but add a “customize” button that allows the user to play around with the graphics at a deeper level. A “restore to default” option would be handy here as well.

5 Likes

Cool story. Discussion on Twitter was about PC style settings - I believe some games have dozens.

1 Like

(View distance itself I have few problems with, although last time I checked perf on low quality levels on most laptops/desktops was mostly a function of render distance anyway)

2 Likes

What GPU and CPU do you have? What is the quality level (existing) that reaches the distance that’s comfortable on PF?

Also, if this is on PC - can you share profiler dumps for this quality level, and the quality level you normally play at? To create a profiler dump, activate the profiler using Ctrl+F6 and use menu Dump -> 32 frames. It will save an html file into C:\Users\YourUsername folder.

1 Like

I think it’d be great. Making custom graphical settings might be rather difficult I think. Develop-wise and gameplay-wise.

Computer Specs:
ComputerSpecs.png

I normally play on graphics 3 since it seems to be the lowest graphics setting that I can use where I can still see across all the maps except for one. Since I like to snipe, I’m often on the edges of the maps sniping across them and there is one map in particular (the snowy one if you’ve ever played PF) where I have to crank the quality level all the way up to 6 in order to properly see enemies across the map.

I would attach the dumps here but the html format doesn’t seem to be supported. How should I send them to you?

Also quick side note: for macs you have to use cmd+F6 in order to activate the profiler.

Hmm - can you zip the html files? If that fails e-mail them to arseny at roblox.com. Please make sure to attach one dump at the quality level you’re playing at, and another one at a lower one - e.g. for that snowy map, one with quality level 6, and one with 3 or something like that.

.zip isn’t supported either so I’ll email then to you.

Thanks, this is actually a perfect illustration of how challenging performance tuning is.

In your case here’s what is going on as far as I can tell from the profile:

  • The game is CPU bound - increasing or decreasing material quality (up to a point) will not affect performance because GPU has room to spare (assuming no thermal throttling is going on)
  • The major performance issue on the CPU side is the RenderStepped code Phantom Forces is running.
  • Draw distance affects the time it takes rendering - after RenderStepped - to run. It’s not all that much but as far as I can tell this is the primary reason why the game may be a bit slower at higher quality level (up to a point, once again - of course at level 10 GPU may actually become the bottleneck).

So in this specific example it does not seem that separating quality and draw distance would help, and the real issue is RenderStepped (we plan to work on some Lua performance issues next year, but ultimately the real problem here is that the game has to minimize the amount of work done per frame and lean on ROBLOX systems more).

Of course it’s possible that in some other cases separating draw distance from quality helps, but in general I find that in ROBLOX games increasing the draw distance frequently is the major reason for the performance difference between level 1 and level 5, due to the sheer amount of geometry being pushed, and sometimes also due to the amount of transparent parts that we can’t batch efficiently. (A lot of these can potentially be improved on our side, with LOD for CSG/Mesh parts and also with some alternative systems for transparent object rendering)

5 Likes

Interesting, thanks for looking into that and the helpful explanation :slight_smile:

3 Likes