At certain points I spawn a lot of enemies onto the screen. I captured the performance hit on the profiler and it looks like this:
I can see that my script time has gone up dramatically, but it looks like Idle time is the biggest contributor. What is Idle time, and why is it slowing things down so much? Why is Physics Frame Time always 100%? What are some good optimization techniques for Godot/general tips & tricks when reading the Profiler?
Guess: Idle time is processor waiting for things to happen. Likely, the processor is waiting on memory to load, allocate, or deallocate. Pooling and maybe Sprite sheets (instead of separate PNGs) would help lower this.