How to reduce overdraw in big levels and increase overall performance?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By shinzo

In Godot V2 there were Rooms & Portals to segment your maps/levels and reduce overdraw using an automatic “skipping-scheme” for the parts of the level that are occluded by parts that are closer to the viewer. It seems these nodes doesn’t exist anymore in Godot V3. What is the recommended way of doing something like that in Godot V3? If have a big map with hundreds of interconnected rooms I absolutely don’t want to always render all 100 rooms but only the rooms that are visible from the current rooms the player resides in. How can I accomplish that in Godot V3?

according to this roadmap, room and portal will be re-added.
not sure when though.

volzhs | 2019-04-08 13:17

:bust_in_silhouette: Reply From: antopilo

You could have a distance check from the player to the rooms and if the distance is higher than a desired render distance then make them not visible.

Seems like a good compromise until rooms & portals are reimplemented.Since I’m using a self-written converter to convert Quake-BSP2-Files to OBJ-Files it would also be possible to export the VisList-Information from the BSP-leafes to an intermediate format. Maybe I can use this Information then within Godot to only render the rooms currently visible.

shinzo | 2019-04-10 11:27