I know; that sounds like “no-sausage-and-beer Oktoberfest,” but bear with me.
We’d like to be able to switch Panda into an operating mode where it is using basically zero 3D graphics resources after it has had 3D windows open (specifically, it’s acting purely as a network server without a GUI after having shown a GUI to be configured; it should put the GUI away and free all those resources). The reason we want to trim it down is to allow two sessions of Panda to run simultaneously on one computer without halving the framerate on them both. Essentially, we’d like to avoid running the render loop at all; no culling or rendering operations are needed in this mode. But the event queue management is also contained in the event loop, so we can’t simply remove the render task from the task manager.
What steps can we take to minimize Panda’s runtime footprint and force it to free any graphics / visualization related resources it has allocated? The closer we can get to a simple event-and-network pump (with maybe collision calculations still executed), the happier I am!