Best Practices for Optimizing Performance in Large GDevelop Projects?

Hi everyone,

I’ve been working on a fairly large project in GDevelop, and as my game has grown, I’ve noticed some performance issues, especially on lower-end devices. The game involves a lot of objects on screen at once, along with physics-based interactions and procedural generation.

I’m looking for advice on best practices for optimizing performance in GDevelop. Here are some specific areas where I think I might be running into trouble:

  1. Object Management – I have a lot of objects in a scene, some of which are off-screen but still seem to be affecting performance. Should I be using object culling techniques, and if so, what’s the best way to do it in GDevelop?
  2. Events Optimization – I’ve read that too many events running in every frame can slow things down. Are there specific event structures or conditions I should avoid?
  3. Physics Engine Load – Since I use physics-based objects, I wonder if there’s a way to limit calculations when they’re not needed. Any tricks to reduce physics processing when objects are inactive?
  4. Rendering Performance – I use a lot of sprite animations and layers with effects. Are there particular settings I should tweak to balance visual quality and performance?
  5. Resource Management – Does GDevelop automatically manage memory efficiently, or are there things I should be doing manually, like unloading unused assets?

If anyone has experience optimizing a large game in GDevelop, I’d love to hear your tips or any mistakes you’ve learned to avoid.

Thanks in advance!

2 Likes

There are already a few posts in this forum on optimisation. Have a search to find them.

As for object culling, here’s a post on it that may be of help.

As for event optimisation, consider using a FSM (Finite State Machine) to control what events are processed. So instead of GDevelop running through all events, a FSM will section off and run through events that are specific for the games current state. You could probably do the same for object/players, and depending on what they’re doing, only have events for each state.

On the whole, eEffects tend to be a processor hog. Not sure how to improve them without removing them.

Hello everybody!
One thing i think is to use OutOfScreen comportment then, in your evenments, stop all objects not present in your scrren canvas of your scene. Thus, restart all objects when there are on canvas.
More you have objects in your scene and more you can have benefits of that.

Bye

Xierra54