Ask here your questions to get help using GDevelop.
User avatar
By sleeper_service
#62723 So my thing is getting kinda large now and my biggest worry is that I can't get it optimized properly, or that GDevelop actually doesn't really support large projects in the first place. For reference the game now features dozens of enemies with complex behaviours, as well as a lot of event dealing with the environment and player behaviour, including events that manage the hundreds of distinct items the player can have.

Some stuff I'm wondering about:
- How much does object count matter for performance? Can "for each object x, do" events be quantified in terms of how much more they impact performance?

- What are the most taxing event actions/checks? To me it feels like constant distance checks and collisions seem to be high up. "Pick closest object" also seems to cause issues if used a lot simultaneously. Can someone elaborate on what event actions should best be used sparsely to improve performance.

- How well does GDevelop deal with string checks? Does continuously checking for a string instead of a value impact performance significantly?

- Do events for stuff that does not exist matter as far as performance is concerned? Right now the game takes place in one big combat scene, that links to events for each enemy type, terrain type and so on. If events that check for enemies that currently do not exist are linked, does that creates background processes that impact performance? If so how can one get around that? Can external events be unlinked again somehow?

- Particles seem to cause a lot of performance stress, even though the game doesn't create that many particles. From what I have learned, particles in Unity /Game-maker are more economic than using individual objects. Is that actually the case in GDevelop or might objects be more economic after all?

- Conditions are checked in order of appearance within events right? If a condition of an event isn't met, are subsequent conditions still checked fore? Can event checks be optimized by placing the most commonly false conditions first?