Performance toll of software with multiple Windows

Godot Version

Godot 4.4.1

Context

I’m developing a small software. I make no use of ticked methods (_process() and _physics_process()). It mainly rely on signals.

In addition to the main window, I have a few Dialog instances in my software : a Window, a AcceptDialog and a FileDialog. For all of these windows, they only show up when clicking some menu or button.

I also have 2 control nodes covering the entire window. They are used as splashscreen at startup, and as a small multi-page tutorial. They sort of act as window, in the sense they cover the screen. But everything else is still present under it.

Content of the windows and controls :

  • Window : a few panels, containing each a few label
  • AcceptDialog : a label and a button
  • FileDialog : just a basic FileDialog
  • Control #1 : a few labels and a 256 pixels png image
  • Control #2 : a 5-page tutorial, each page contains a few labels and some other elements (256 pixels image, Tree with 10 elements, …)

They all have a 512 pixels image in background.

For responsivity sake, all of these windows or controls are set to visible = false so that they are ready to use at any time, just hidden when not used.

Question

My question is : how bad is it for performances to have all of that present at any time with visibilty set to false ? Should it be unnoticeable for a standard consumer-level PC ? Or is it bad practice, and everything that only shows up momentarily should be created and deleted just during the time it is used ?

This is the best practice.
Instantiating & freeing objects on-the-fly is considered bad practice since it can cause micro-freeze and memory leaks

1 Like

Thank you, that makes sense. I’ll keep the question open for now, if maybe someone has something noticeable to add.