Approaches to switching game scenes and menus (TCastleDesign instead of TCastleView)

Good day!
FPS game example uses few TCastleView for game scenes and menu. I used this way too, but for now I think about another approach with single TMainView and many designed viewports and GUI.

I add small examples with both realizations.
Is my design idea reasonable?

views-switching.zip (66.0 MB)
designs-switching.zip (66.0 MB)

Initially I would said it is not a good design, but I tested and I’m surprised by the numbers:

                         Memory               CPU
                     DBG        REL        DBG   REL
designs-switching:  110.8 MiB   89.1 MiB    5%    4%
  views-switching:  113.4 MIB   92.6 Mib    5%    4%

I thought the view approach should use less memory and be faster but it turned the other way around. I really don’t know why.

Anyway a more realistic test should be done, but now I’m not sure about the results.

@NiunioMartinez , thanks for testing!
In fact main reason why I did this design - this seems little more flexible, if I want combine few components into one window. Open one design above another, for example. Also by default every View create new global variable.
But, maybe it all is available with views too.

You can do this also with views using methods TCastleConainer.PushView and TCastleConainer.PopView. But maybe using designs the game may behave differently(?).