Content Suggestion Occlusion Culling in the Server (Improve Performance?)

Content Suggestions will be reviewed by Content Team weekly, please allow time as not everything can be reviewed at once.
Status
Not open for further replies.
Oct 20, 2024
63
17
61
What does this suggestion change/add/remove:
Occlusion culling is when the certain parts of the map that are not visible from the player's perspective are not loaded in so as to reduce GPU and CPU load from having to keep the whole map loaded at all times. By partitioning the map into chunks, then certain areas can be unloaded when they are not in view from nor functional to the player's current location. This also a client-side process, having no bearing on the performance of other players and should not grant any form of an in-game advantage (other than better performance.)

For example:
If you are in Core Sector, occlusion culling would prevent an area not visible from Core Sector from being loaded, like Floor 3. Then, as you move away from Core Sector, it would be unloaded, and as you move close enough to Floor 3 (probably as soon as you would be teleported in the elevator) it would finally be loaded in. However, another player in Floor 3 would have it loaded and have Core Sector unloaded, independent of your experience.

I could be very wrong, but I suspect a good chunk of performance-related issues stem from the whole map being loaded 24/7. I believe the whole map is loaded at all times because if you have ever played 079 and noclipped through the map, you can see practically everything (despite a large black sphere positioned on you limiting your viewing distance.) This also leads me to believe there is not already a form of occlusion culling in the server.

This could also be added as a graphical setting instead of being the default for all players.

Has something similar been suggested before? If so, why is your suggestion different:
Definitely not.

Possible Positives of the suggestion (At least 2):
Ideally a large performance boost for smoother gameplay.
Accessibility for folks with lower-end PCs.
Reduce crashing from performance-related issues.
Allow more folks to enable PAC viewing.

Possible Negatives of the suggestion:
Occlusion culling could possibly cause performance issues if there is constant loading and unloading.
Potentially not possible with the source engine.

Based on the Positives & Negatives, why should this suggestion be accepted:
I am honestly quite naive with server development, but at least from my technical knowledge, this could be a very good thing for the server. I am also 99% sure that occlusion culling is possible on the source engine. I have seen some mask settings before, but I doubt it is that simple, especially for a large multiplayer server.
 
  • Haha
Reactions: Judge
They've definitely thought of this before as well as key card scanners/fridges/some specific props do this already but as you've probably seen they don't load in always in time idk myself either really how these things work but they probably would of added it by now unless there was a issue causing them to not do it
 
to my knowledge Gmod already does this by default as thats the entire point of the vvis part of the compiler.

Just looked and yes, when compiling a gmod (or source in general) map it runs VVIS to calculate what is visible from where and then while in the map it only renders things in the visleafs VVIS has declared you can see. Enable sv_cheats and do mat_wireframe 1 on a singleplayer map and you can see it happening.
 
Last edited:
This is already done in the source engine. This page on the VDC probably covers it.

if you have ever played 079 and noclipped through the map, you can see practically everything
if you fly outside of the map, it will render most of the map in view which is why your fps noticeably drops.
 
  • Like
Reactions: Emilia Foddg
Status
Not open for further replies.