I'm making the assumption that the unoverridden base class _Process() method calls SetProcess(false) and removes the node from the update chain, since there is no need for the node to execute every frame.

I ask this becuase older examples (Godot 3.0) require the user to set the required state in _Ready(), but no mention is made of this requirement in newer documentation.

My target platfrorms have very limited processing power and I don't want to waste any CPU on hundreds of node that don't require updating every frame.

I believe that _process is simply a empty virtual function until you override it through GDScript or C#. I believe it is enabled by default, but since it is an empty function it should have very little performance impact, if any. There might be a small performance boost with it disabled, but I haven't had enough nodes in a project to know for sure.

I have not looked at the source code or anything, this is just based on my observations in Godot 3.0, Godot 3.1 and Godot 3.2 beta. The source code might operate differently. (Side note: Welcome to the forums!)

Many thanks! I keep forgetting that Godot is open source, I will have a look through the source code at some point and confirm.

I am enjoying learning this platform and appreciate your support! :)

Ok, so I’ve had a quick look through the source, and found the node class (master/scene/main/node.cpp and node.h), I can find the set_process() function and see how it changes the idle_process state... I can’t find any definition/declaration for the base process() function... hmmm :p

3 years later