Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
1

How exactly does the ROBLOX Rendering System work?

Asked by
mateyz 22
6 years ago

Let me give a quick scenario! If I was to have a gigantic map in my game and then another gigantic map A LONG way away- Would the performance overall be effected by bother maps ? Or would the one that's not being rendered in "Not exist" performance wise.

Wondering as I'm thinking of either just doing it this way or making my own.

Thanks!

0
Both* sorry for the typo. mateyz 22 — 6y
0
There is an 'edit' button at the bottom of your questions/answers you can use to fix typos/etc chess123mate 5873 — 6y

1 answer

Log in to vote
0
Answered by 6 years ago

I don't know how Roblox's rendering system handles everything (though feel free to do your own performance test, I give suggestions below), but I do know the following:

  • You can activate the StreamingEnabled feature and it will definitely handle this for you (in addition to handling your first "gigantic map" efficiently)
  • Every part in the workspace must be transmitted to every client - same for most storage spaces except ServerStorage / ServerScriptService. This transmission takes resources, even if the rendering system knows not to try to render them. If your maps aren't in use, put them in there instead.
  • I imagine Roblox has an efficient method for determining where parts are. Roblox can automatically stop rendering things far away or even nearby if the FPS is too low.

For performance testing, you can get an approximation of how well a computer is doing by running a loop with only a period wait() in it, like this:

local start = tick()
local n = 0
while tick() - start <= 0.1 do n = n + 1 end
print(n)

Run that code a few times (with a 'wait()' in between), then add the gigantic map (or a lot of bricks/terrain to simulate it), and then run the code again (a few times) and see if there's a noticeable difference. Other possibilities:

  • If you're testing locally, you can also View > Stats > Render (and try the others if you like) to see various bits of information
  • You can listen for Heartbeat and then calculate your FPS that way. Do it in a world with 2 large maps side by side, then compare it to 2 large maps very far away.
Ad

Answer this question