A better way to stop part rendering: Bool Part/Model.NoRender

As a Roblox developer, it is currently too hard to stop parts/models from rendering

Right now one has to either use Transparency,LocalTransparencyModifier,CFrame,or Parent (of which I believe Parent is the fastest)
These all are too slow, with Parent I believe being the fastest

This is problematic for big worlds or dense tri areas, especially for lower end devices (I assume most of the Roblox playerbase), because we cannot implement occlusion culling or chunk loading effectively since it often ends up being slower than without

If Roblox could address this issue it would make my game playable on devices with integrated graphics cards because I could implement occlusion culling in a reasonably efficient way

Note: This feature request is different from Mask property for parts because I propose to stop individual part/model rendering while he proposes blocking other parts from rendering too

2 Likes

The engine should handle culling and rendering performance for you mostly, this is not something you should have to touch as a developer apart from setting LOD modes on your meshes, etc.

Not rendering a part == Setting transparency to 1. This is literally what you want to do if you want to stop a part from rendering. (or doing the same with LocalTransparencyModifier)

12 Likes

Setting parent is faster than setting transparency so transparency=1 does more than not render (or it does so very poorly) and is not the way to go about this

And Roblox does not do any occlusion culling right now

It would be nice if they did because as mentioned in the OP it would make my game playable on integrated graphics computers (playable as in >1 fps)

I said it’s not the developer’s responsibility: “this is not something you should have to touch as a developer”, not claiming the engine does one thing or the other. This is an engine thing to solve, not something you want to solve as a developer in Lua.

3 Likes

I agree, it would be nice if they did implement occlusion culling, but I still want my game playable