Currently Roblox has its own rendering functionality that I don’t believe works well enough and here’s why:
You will notice that when your FPS drops looking directly at the floor relieves some of that this is because your client renders what it can logically and possibly see. HOWEVER this rendering technique fails to include some simple logic and I will explain how below.
Why are instances still rendering out of view for the client such as objects replicated/created by another client? In other words, if logically it is impossible to see what that client is doing or where the client is, why does whatever the client is doing still render into my environment?
Specific example:
Person A is shooting a pistol (raycasting) on the opposite end of the map.
Person B is outside of the purview of Person A, however, Person B still hears and renders Person A’s raycast and actions.
Is this done under the assumption that whatever Person A is doing CAN have the potential of affecting what Person B is doing?