Swapping threading models at run time

Hi all,

Experimenting with different threading models like cull/draw gives significant boosts in speed. I’m wondering whether one can truly shift between threading and non-threading models at runtime. This has been answered here, but I don’t notice any difference when I use it:

https://discourse.panda3d.org/t/can-we-change-threading-model-cull-draw-in-runtime/15822

Pstats does not add “cull” and “Draw” as additional drop-downs when I do that. It does however do so when I do it like this:

           base.graphicsEngine.setThreadingModel("Cull/Draw")
           base.closeWindow(base.win)
           base.openDefaultWindow()

But this means the existing window vanishes for a few seconds, before a new one is opened, something that is obviously jarring. So does anyone know of how to truly seamlessly transition between threaded and non-threaded models, where app, draw and cull are separated and fused alternatively at runtime? I’m thinking of maybe using a decoy window during transitions, but would that be the only way?

Thanks in advance.

Hmm, I thought it was supposed to work, but it does seem there’s some preparation work that happens only at window open time. I’m not sure there’s a good reason for that - feel free to file a feature request on GitHub for this.

Okay, done.