🔔 Small correction, since a lot of people are saying that Roblox already had this feature: - Roblox has something called frustum culling, which is a system for not rendering objects outside the camera's viewport - By the 'objects in the view frame', I meant objects that are in the camera's viewport, but aren't currently visible (Because they're e.g. hidden behind other objects) - Frustum culling and occlusion culling are different, but also, don't confuse them with different rendering techniques like back-face culling or per-triangle culling Edit: And as I said in the video, this feature only works in Studio (as of right now), and only a few selected games have it live Hope it helps!
You have to consider the wide range of hardware Roblox has to support. Occlusion Culling can be difficult to run on many devices. Roblox already features Frustum Culling which is a less resource intensive optimization. These things are not as simple as you think. I'm quite surprised they have a Beta for Occlusion Culling all things considered.
@@CrusiobTV Tbf Unity 3's occlusion culling was primarily focused on pc and consoles, but it still worked on mobile (Although it was recommended to use frustum culling and LOD there due to it causing bad performance), and they made the occlusion culling features more adaptable and customizable in Unity 5. So it still took Roblox a solid few years to actually release it
@@CrusiobTV let's also not forget the fact that roblox has a custom renderer so they have to do all of it themselves, ever since they switched from Ogre3D.
false, this is actually different from any other engine implementation and its superior to something like unity (unity only supports occlusion culling on static/immovable baked objects in scenes, this is huge because it supports occlusion culling for EVERYTHING realtime INCLUDING physics bodies)
This is actually insane and you're not giving it the credit it deserves, whilst other game engines like Unity do have occlusion culling as far as I know it only applies to scenes with the culling baked into static objects, this is real time and it works on physics objects too so it's actually *better* than unity
Oo right, culling not affecting physics objects is something I completely forgot about, same with another thing that I didn't mention, which is occlusion culling was at first only a Pro version feature, so that's another plus for Roblox.
Better now than never! This'll be a huge update for the mobile player base. Also interesting how entire objects will either pop into or out of view rather than only rendering specific triangles that are visible. I'm sure there's a reason for this. Great video!
only rendering specific triangles would be way less performant because then you would have to check the position for EVERY single triangle, instead of just one position where the object is located at
@onionymous6127 Valid point! I'm sure there was a point where increasing the precision would actually start to decrease performance like you said, so it seems they settled on the whole part/mesh rendering.
Per-triangle occlusion would be more resource heavy on the GPU and CPU than standard occlusion culling, for low-end mobile devices it can cause a performance drop rather than a boost
Wait, Initially I was happy for it, perfomance good ok I get it, but after you told the building you used as an example (in the presets) had a whole interior not rendered that I really realized what it all meant I wonder how far you could go in detail in a game, and not impact performance, like, what if over 50% of the buildings in your game had interiors? That all would just not render and not impact performance? That’s crazy how you’re now able to do that so easily I was making a big-ish side project, and I was starting to fear having to mess with optimization, my weak point, but now I kinda don’t? The big issue was I like making things detailed, my computer does not I can’t believe we will actually get that, just crazy
That's awesome, if I'm able to do my big game idea this will make me feel better about it being a big map with lots of details etc. For me personally I don't have issues with Roblox because I got a good custom built PC, but my old laptop lags like crap on my map and it's not even that much yet so, it's definitely a issue others will face. If only I could script anything I could think of.. (yes I know having a big game idea as a beginner is a bad idea, but I have that as motivation to learn with smaller projects)
It's actually kinda ridiculous how Roblox doesn't have this feature since now. I mean, most 3D Game Engines already had this in the past for a LONG time ago
Wait so what they mean by releasing it to everybody means that players will have Occlusion. Culling on their devices and not that game developers have to enable it for their games in studio right?
@@Krantworld It's not like that with everything, a custom rigged avatar wouldn't be as easy to split since it can cause issues with armature deform or give you an effect that you're not looking for with e.g. body parts not being connected properly
The thing is they only added this to the studio currently, it may make development easier for devs who have large game places but sadly this isnt going to help out the casual roblox player.
this is acrually like insane. this is a BASIC optimization feature for ANY 3d engine, and they didnt implement it up until now. i know that roblox engine has lots of legacy things, but this is just unnacteptable...
Yep, that's amazing but some people are saying "what took them so long" or something like that, etc.. Alright, occlusion culling is not easy, especially on a platform like Roblox, since it's not like a single game (well, most engines provide this feature so you don't have to try replicating it in your project), it's brought into the engine and Roblox is cross-platform, which makes it harder. Also, amazing video! 🐤 EDIT: Plus, I love your in-depth explaining.
Thanks! They also use their own rendering system, which prob made the process a bit more complicating, but it still kind of doesn't excuse them, since a technology like this was available years ago, same with existing occlusion culling algorithms and learning resources. (And they're a big tech company after all )
PLEASE HELP ME... I went into beta features, enabled it, AND IT DOESN'T WORK :'( I've tried restaring roblox studio many times but it still doesn't work... I don't really know if it's because I have a VERY slow computer...
Frustum culling is for rendering geometry that's only inside the camera's viewport, and occlusion culling is for rendering geometry that's currently only visible to you, so if a Cube is covering a high poly count mesh, that mesh's geometry won't be put into the rendering pipeline
This might be a dumb question but would this affect reflections? If I have a part with a PBR material that is super reflective and there is a part that you cannot see (so it's occluded) but the mirror reflects to the other side, what would happen?
@@Paul1Rb I'm also curious about shadows, I'm assuming that the parts still physically exist and interact with lighting and draw reflections/shadows but don't render themselves onto the screens but I have no idea how it works, still hyped for it nonetheless
Because of this update, my phone is supporting future lighting for artificial lights, unfortunately, it seems that it still does not work with Global Lighting
@@Paul1Rb Holy hell, wait, so that means we will finally get higher fps on roblox?? I'm in since 2014 and this will genuinely make me love playing even more
does this affect localscripts? like will it be possible to access parts that are not rendered, in minecraft you can't if the needed chunk isn't loaded.
optimization update? because there's one week that my roblox are lagging sm, and when I turn on my screen record the lag simple disappears, I don't know how to fix it, I find people having the same issue and none of them know how to fix it.
🔔 Small correction, since a lot of people are saying that Roblox already had this feature:
- Roblox has something called frustum culling, which is a system for not rendering objects outside the camera's viewport
- By the 'objects in the view frame', I meant objects that are in the camera's viewport, but aren't currently visible (Because they're e.g. hidden behind other objects)
- Frustum culling and occlusion culling are different, but also, don't confuse them with different rendering techniques like back-face culling or per-triangle culling
Edit:
And as I said in the video, this feature only works in Studio (as of right now), and only a few selected games have it live
Hope it helps!
Nah I didn't read it
What, this is a basic feature of every 3D engine, roblox didnt have it until now? Crazy
@free-rbux-y7o yes, I do, but I want even more for you to shut up, you dont have robux there in India
You have to consider the wide range of hardware Roblox has to support. Occlusion Culling can be difficult to run on many devices. Roblox already features Frustum Culling which is a less resource intensive optimization. These things are not as simple as you think. I'm quite surprised they have a Beta for Occlusion Culling all things considered.
@@CrusiobTV that makes sense, I'm glad they are implementing it now, better late than never
@@CrusiobTV Tbf Unity 3's occlusion culling was primarily focused on pc and consoles, but it still worked on mobile (Although it was recommended to use frustum culling and LOD there due to it causing bad performance), and they made the occlusion culling features more adaptable and customizable in Unity 5. So it still took Roblox a solid few years to actually release it
@@CrusiobTV let's also not forget the fact that roblox has a custom renderer so they have to do all of it themselves, ever since they switched from Ogre3D.
This is definitely going to be effective for big complex maps or labyrinth-like maze games where 90% of the map is hidden for most of the time
Yup, as they stated indoor environments will benefit the most
Identity Fraud gonna run at 4726482747388 fps
@@moudura2448identify fraud aint even hard to run???
@@moudura2448
Identity fraud was the first thing I wanted to mention lmao
i love when roblox adds things 10 years late meanwhile every other engine has it
It be like that
This is what no competition does
Roblox had to wait for phones to catch up 😂
false, this is actually different from any other engine implementation and its superior to something like unity (unity only supports occlusion culling on static/immovable baked objects in scenes, this is huge because it supports occlusion culling for EVERYTHING realtime INCLUDING physics bodies)
Finally a W update coming from Roblox
Recently they've been introducing a lot of great updates to Roblox Studio
as always bad outweights good
Biggest optimization W
This is actually insane and you're not giving it the credit it deserves, whilst other game engines like Unity do have occlusion culling as far as I know it only applies to scenes with the culling baked into static objects, this is real time and it works on physics objects too so it's actually *better* than unity
Oo right, culling not affecting physics objects is something I completely forgot about, same with another thing that I didn't mention, which is occlusion culling was at first only a Pro version feature, so that's another plus for Roblox.
Fr, this is really nice. More performance boost
god summoning 200 unnamed decaying winter fans
@@TheLethalHi 👁
tactical guy spotted!!!!
If you want further performance boosts you can look up for FastFlags.
@@TheLethal That'd be cool.
Occlusion culling should be able hide the terrain too..
Roblox stated that it will in the future
if only you watched the whole video before commenting...
They need fix the 0.0001 increment random misaligns (position & rotation) issue and would be perfect on optimization
I love the way you animate stuff. It’s so nice.
Thanks, I'm trying to improve on my editing style!
as soon as they do something good they have to do something bad (they removed threads from multithreading)
O didn't hear about that one yet
Better now than never! This'll be a huge update for the mobile player base.
Also interesting how entire objects will either pop into or out of view rather than only rendering specific triangles that are visible. I'm sure there's a reason for this.
Great video!
only rendering specific triangles would be way less performant because then you would have to check the position for EVERY single triangle, instead of just one position where the object is located at
@onionymous6127 Valid point! I'm sure there was a point where increasing the precision would actually start to decrease performance like you said, so it seems they settled on the whole part/mesh rendering.
Per-triangle occlusion would be more resource heavy on the GPU and CPU than standard occlusion culling, for low-end mobile devices it can cause a performance drop rather than a boost
they actually added this after all these years... cool!
Im really exited on how they will do it with the Lighting.
Same (hope they don't do it in a way where each shadow would have to be re-calculated )
when that update came out my studio went as laggy as the word "lag"
Great description
Finally!! I've been waiting for this update for sooooo long!(Since my Pc is from 2007 and is slow)
My guy is using a caveman pc.
Bro my first pc was from 2009
Since then i have had 2 more pc.
And you here still using the same one from 2007😭🙏
Tenso (também passo pela mesma situação mas já desisti do Roblox😊)
theres no way roblox didnt have this till now
Wait, Initially I was happy for it, perfomance good ok I get it, but after you told the building you used as an example (in the presets) had a whole interior not rendered that I really realized what it all meant
I wonder how far you could go in detail in a game, and not impact performance, like, what if over 50% of the buildings in your game had interiors? That all would just not render and not impact performance? That’s crazy how you’re now able to do that so easily
I was making a big-ish side project, and I was starting to fear having to mess with optimization, my weak point, but now I kinda don’t? The big issue was I like making things detailed, my computer does not
I can’t believe we will actually get that, just crazy
That's awesome, if I'm able to do my big game idea this will make me feel better about it being a big map with lots of details etc. For me personally I don't have issues with Roblox because I got a good custom built PC, but my old laptop lags like crap on my map and it's not even that much yet so, it's definitely a issue others will face.
If only I could script anything I could think of.. (yes I know having a big game idea as a beginner is a bad idea, but I have that as motivation to learn with smaller projects)
You can always use your laptop for benchmarking and seeing how the game performs on lower-end devices
This will enormously increase FPS in SCP laboratories where you don't see most part of the map.
It's actually kinda ridiculous how Roblox doesn't have this feature since now. I mean, most 3D Game Engines already had this in the past for a LONG time ago
roblox need a competition so that they will pump out more updates
It won't be profitable for anyone to make a competitor to roblox
@@brinys Epic Games be like
@@brinys Fortnite creative 2.0
Wow dang it, it is unbelievable, finally a worthy update
I can probably INSTANTLY think of 5 games benefiting from this feature, one of them being my own
this is actually a crazy old guess from me in 2017 that this would be real
Is there any cons in using Occlusion Culling? Like the delay to replicate Models in the Server to the Client when using Content Streaming?
man this shit been around since quake and you telling me only NOW roblox is adding it?
Wait so what they mean by releasing it to everybody means that players will have Occlusion. Culling on their devices and not that game developers have to enable it for their games in studio right?
Yeah, if it was a toggle it'd already be set a prob the workspace property
Can't wait to see roblox games get more detailed!
Identity fraud: 💀
Blox fruits: 💀
Finally! I wish the engine had more stuff like this!
Might be a fun fact: I think roblox actually did this with lighting for a while
Finally, no more lag.
There still might be lag, but it'll definitely be way less
@@Paul1Rb I think there will be a lot less lag, especially the BaseParts that won't be rendered if not seen on camera!
how the fuck did roblox run like that without this
finally something other than ai slop
this is still a beta feature, but when it's built in to roblox studio, it will become a more optimization tool
Consequently they broke mobile chat keyboard
That might be because of the new TextChat update
I think after the full release roblox may finally let us use 10k+ triangles meshs ❤
Oo yeah good point, but it might also be a concern with Roblox's storage servers
@Paul1Rb yeah this is also a big problem to roblox
It may not tho , because now everyone just go around it and split the mesh to multiple meshs so it's the same but spliced into more than one mesh
@@Krantworld It's not like that with everything, a custom rigged avatar wouldn't be as easy to split since it can cause issues with armature deform or give you an effect that you're not looking for with e.g. body parts not being connected properly
That’s awesome and will enable games to be bigger and have more detail.
Yup, W for in-door environments
Amazing video and feature! Could you make a video about Lua react it's really interesting
I'll check it out first
the fact that they didnt implement it for so long is a bit concerning... but hey at least we have it now
quick question, they completely disappear or they just become ''transparent''?
It completely removes them from the rendering pipeline, but the object data is prob stored in the memory
NEW VID DROPPP
The thing is they only added this to the studio currently, it may make development easier for devs who have large game places but sadly this isnt going to help out the casual roblox player.
Yet
this is acrually like insane. this is a BASIC optimization feature for ANY 3d engine, and they didnt implement it up until now. i know that roblox engine has lots of legacy things, but this is just unnacteptable...
This will do nothing for me as an update a while ago made individual parts load instead of large chunks which makes crashing very common.
Roblox crashing isn't common for me, you might want to contact the support or inform roblox on the devforum
Yep, that's amazing but some people are saying "what took them so long" or something like that, etc..
Alright, occlusion culling is not easy, especially on a platform like Roblox, since it's not like a single game (well, most engines provide this feature so you don't have to try replicating it in your project), it's brought into the engine and Roblox is cross-platform, which makes it harder.
Also, amazing video! 🐤
EDIT: Plus, I love your in-depth explaining.
Thanks!
They also use their own rendering system, which prob made the process a bit more complicating, but it still kind of doesn't excuse them, since a technology like this was available years ago, same with existing occlusion culling algorithms and learning resources. (And they're a big tech company after all )
finally i can run a low poly roblox game on my high end pc build at 60 fps
PLEASE HELP ME... I went into beta features, enabled it, AND IT DOESN'T WORK :'( I've tried restaring roblox studio many times but it still doesn't work... I don't really know if it's because I have a VERY slow computer...
No clue, you'd be better off posting about it under the devforum post
If you were to turn it on would it work ingame too outside of studio?
It’s not in production yet (ingame)
what is that for?
to reduce lag? only render within your frame?
sorry im just started being devs
im not a dev but im pretty sure this function is to only render the map visible in your FOV, and anything that is off-camera disappears to save fps
It saves the pc from rendering things it cannot see (sending draw calls I think)
Frustum culling is for rendering geometry that's only inside the camera's viewport, and occlusion culling is for rendering geometry that's currently only visible to you, so if a Cube is covering a high poly count mesh, that mesh's geometry won't be put into the rendering pipeline
So in short
It only renders what is on your pov
To save fps? I'm right?
@@Paul1Rb last question please
Does it work in playing the game or only in the Roblox studio?
This might be a dumb question but would this affect reflections? If I have a part with a PBR material that is super reflective and there is a part that you cannot see (so it's occluded) but the mirror reflects to the other side, what would happen?
That's a good question, but tbh I don't know how Roblox handles reflection with occlusion culling
@@Paul1Rb I'm also curious about shadows, I'm assuming that the parts still physically exist and interact with lighting and draw reflections/shadows but don't render themselves onto the screens but I have no idea how it works, still hyped for it nonetheless
does it use terrain as an occluder too?
FINALLY OH MY GOD
Took 'em a while
it seems in some games object stop rendering behind trusses even though trusses are see through
That's interesting
Man i'm still waiting for them to add cone as a part.
Yeah ig, we only have like 4 primitives in the engine
wait there was no optimization in the last 10 years? dayum
Took them long enough...
Because of this update, my phone is supporting future lighting for artificial lights, unfortunately, it seems that it still does not work with Global Lighting
Global lighting might not be as easy to tweak for occlusion culling
bro games smaller than roblox have this optimization feature before roblox 💀
Hey Paul, what’s your take on using tools like rojo and nevermore?
They seem alright
omg this would help a lot
OH THANK GOD MY DELL INTEGRATED GRAPHICS THANKS YOU
Does it work in Studio only?
Yes, its still not out for regular roblox
@@Yazo9gamer i think its out, since when i play mrt i get 60fps now, i used to get 40 fps
Yup, only few selected games have it
@@Paul1RbWhat game?
@@Nothing_5517 Don't know exactly, Roblox didn't specify
Is this only for studio?
As of right now, yes
@Paul1Rb Wait so will we get it on the client?
@@neptules Yes, in the future
@@Paul1Rb Holy hell, wait, so that means we will finally get higher fps on roblox?? I'm in since 2014 and this will genuinely make me love playing even more
I have been waiting for this. Hopefully it is improved!! FINALLY
you said some selected games have, wich one are them? i would like to try
I have no idea
Arcane odyssey finally gonna be playable on more than 30 fps?? No way!
Does it work inside roblox game yet? Or just studio? What I'm asking is if it's a beta feature than can be used in roblox games.
It only works in Studio, but few selected games have it enabled
@@Paul1Rb thank you
would be cool if occlusion culling would be added to the main roblox player
Soon™ (hopefully)
You are the best, thank you!💯🔥🙏
Ty and no prob!
What about the objects shadows
It dont render shadows or anything with the objects, besides shadows is very small performance hit lol
@@rexaorm not small if there are many objects
Everything there seems to work properly since it doesn't hide the light sources
@@Paul1Rb i meant like sun shadows
FINNALY! I can make an open world Roblox game!
It'll definitely be better to make now
To this day I'm still praying for a linux release
Maybe one day 🙏
I thought they already had this? At least they 100% had it before for terrain
They had frustum culling
I thought they had this and always looked away during something laggy..
They have had frustum culling, which is a bit different
Finally, Roblox has binary space partitioning!
Didn't roblox have this already though? I remember having to look away from objects to have less lag. Might just be a mandela effect.
Look at the pinned comment
@Paul1Rb sorry i commented before reading it 😅
time to master the rebirth of me for parkour 🔥
Damn, finally time to get 20 more fps on bad business
Impressively impressive
Funny how when I started my development journey; this update came. 😂
Definitely a good time to start
I wonder if Arcane Odyssey is using this feature
Finally, I can play mobile for tds
roblox has really bad optimization, they need to change it.
does this affect localscripts? like will it be possible to access parts that are not rendered, in minecraft you can't if the needed chunk isn't loaded.
Yes, the instance data is still there, only the geometry doesn't get rendered
@ that's good
Best roblox update
I have been using this feature since last year via FFlags on every game I play, bruh.
That's awesome, but most people aren't going to use FFlags
@
Yup.
1 best update and 10 more bad updates.
It's been 18 years and it doesn't even render on any GPU.
what
optimization update? because there's one week that my roblox are lagging sm, and when I turn on my screen record the lag simple disappears, I don't know how to fix it, I find people having the same issue and none of them know how to fix it.
And something like updating graphics drivers doesn't help?
W update
Great update! :D
this is big :ooo
Roblox needs FSR now.
It's going to be few good years before they'd release any technology like fsr
WOW Roblox has object culling? 2 steps ahead of Minecraft again
maybe i could play on full graphics now??!
Who knows
thats really lame occlusion culling, hope to see more updates on that
And my PC still lags (barely counts as a potato) 🥶🥶
I THINK ITS ROLLING OUT RN CUZ I CAN UPDATE MY ROBLOX APP
I mean doesn't Roblox do an update every week or so? It'd be good if they started rolling this feature out but it might be other things