whoah! "draw" calls! that makes me somewhat curious what programming language or whatnot you used for the game :0
So. I had a retro style top down shoot 'em up. A lot of random generation. Every time you load the game the level would be completely different. So that was a lot because I'm not sure my method was the most efficient. From what I can find by researching the problem was that I was using too many "Families" and it was causing a hell of a lot of calls be so many objects were piled into the "families." On start up the game would hit the CPU for about 80%, then 60% on average while just just running. I felt this was way to high. The "draw" calls was around 40-50% of the games processing. All that though was before.............you picked the "beam" weapon enhancement. From there the game would just grind itself to a halt and freeze/crash. Im reworking the code to remove the families and trying to find a better way to write the beam weapon in. I'm using Construct3, which uses both C# and JScript. I've only been doing gamedev for about 3 months, that said I feel like I'm doing good for just beginning. I'm just in that spot where figuring out what the most efficient write the code it so that I'm not doing a lot of the same processes over and over.
Not all that bad, but i somewhat dislike the obscene popularity of game engines, since they can often make your tiny game gigantic in size, run really slowly and are at times hard to use. I'm not against Construct 3, and was quite surprised it had C# and JavaScript since i thought it was visual coding only, but most of the time people who go straight for Unity or whatnot just haven't tried anything else. Another point to make, is that you don't as much learn programming, as you do the odd quirks of the game engine itself, which means you might be able to make games, but you're limiting your knowledge. Though you did say you've only been doing gamedev for about 3 months, so sorry if any part of this made you a bit sad :I