Hi insideqc engine gurus! I'm here with a question and not an issue, this time. It's been a while (1 year I guess) since I don't use radiant + q3map2 anymore (yeeah!), infact every level I do it's made directly in FTE and I'm pretty happy with it. Now, since I'm creating a game with several levels (like every other game in the planet, I guess), I'd like to know if this could lead to performance problem.
I explain myself: when engine starts, my only-csqc game loads an empty bsp map, with just 6 black walls, a light and an info_player_start entity. Anyone of these elements is mandatory: a closing hull structure is needed otherwise FTE realtime lights won't work (you can't just create a plane and uncheck "Stop on leak" flag in NetRadiant: it will compile but it won't see rtlights in FTE anyway), a light with targetname(even with radius set to 1 it's ok) is needed to stop FTE to print the "No lights" warning at startup and info_player_start is needed because otherwise NetRadiant won't compile.
So fa so good. Now I created an entity which represents the level and a float that represents level current. When CSQC starts hull.bsp, it spawns level entity and setmodel first "map object" model onto it. When "Load new level" command is triggered somehow, I simply change new map object model to level entity, reset flags that needs to be restarted and that's it.
This leads to the question: This continous swap level models (with relative possibly huge textures attached) without any restarting (for restarting I mean the canonical way to issue the "map foo" command) could lead to performance issue? The continuous loading new models and textures replaces old ones or it keeps filling memory space?
Should I use the map approach or the engine will do the memory free by yourself when that model is no longer tied to any entity?
Thanks in advance for any suggestion, I'm pretty sure this conversation could lead to interesting solutions/opinions and different point of views!