Project Saving - Quite Slow & Freezing the UI

Hi Guys,

I am not sure if this is an issue that will / can be solved in the future but the in the recent versions of GDev the time to save my project has drastically increased to the point I have had to disable auto saving as once the saving starts, the whole UI freezes up.

I believe the slow down comes from the new update that caches resources as it started just after that update and watching the console / network tab it seems to be caching every object placed in every scene / eternal layout regardless if that scene / layout is active.

Whilst my project is quite large (11 Ext, 54 ExEvents, 7 ExLayouts, 1 scene) and I have a test layout with a large amount of objects, 1.2 minutes to save the project is… excessive and impossible to use when save on preview / update is enabled in the settings.
Below is an image of the network monitor, I can also supply a video of the save however it’s just 1.2 minutes of waiting on the UI.

Disabling this option in settings and restarting Gdev does have it saving back at the old speed of 600ms.

Hi @Eiklahc,
Indeed 70s to save the project is too much.
Which option did you disable to make it go back to 600ms?

Hi @alexandresi ,

Thanks for getting back to me. I disabled the below setting and restarted GDev. I believe it’s on by default.

image

Hi @Eiklahc,
Could you zip the folder of your project and send it over?
It would help to understand how and why this feature slows everything down.

HI @alexandresi ,

Thanks for getting back to me. Sending over a copy of the project won’t be possible.

I will however attempt to replicate the issue with a separate project after work tomorrow and send that through so further testing can be done. :blush:

I am still working on trying to replicate this issue in a new project using around 100 objects, however I have yet to get it working.

I went back to the original project and I noticed that caching seems to be looping on particular images when saving and what’s even more odd atleast of of them isn’t visible in any scenes or layouts.

Sorry for the quick edit but I think I might have worked out what is causing the issue. Icons in the events sheets.

image

When enabled, I get the mass amount of delay from caching, disabled it’s back to the old speed. It would explain as well why I am seeing alot of kangaroo move_1 images as well since there are a bunch of events that use thumbnails.

EDIT:

Test Project (Expires 2 Weeks) https://file.io/otMv3YAR98zW

  1. Make sure caching and the above option is on.
  2. Open the following tabs (if they don’t auto open).
  3. Ctrl + Shift + I to open console.
  4. Click each of the above tabes to view them (start with Untitled Scene, end with Events 1)
  5. Save Project

Whilst not on the scale of my project (2000+ cached images vs 220) you can see its already hitting 7.7 seconds.

Thanks a lot for this project, it’s really useful!

Is this option set to this value on your main project?

If that’s the case, could you try something for me?
Could you make a copy of your project in a new folder? In the copy, change this option to “Single file” and see if the issue is still here.

Hey @alexandresi ,

I do use multi project file types. As requested, I have made a copy and disabled multi files and I don’t seem to be running into the caching issues.

To double check I also performed the same action with the test project that was linked above and have the same result.

Ok great!
If you’re interested, I forgot to exclude the folders used in this split save feature from the filewatcher. So each time you save, they would change and trigger the filewatcher, resulting in some weird behaviors on your project.
I’ll add something to exclude those folders.

I asked you because I was having troubles reproducing the issue (I’m on Mac and the Windows file watcher is known to be cranky).

1 Like

Thanks for tracking down the issue and the explanation. No issues with getting me to test, I wasn’t able to supply the project so it’s the least I can do.

Keep up the great work with Gdev, loving all the recent updates you guys are doing!

I started Exclude project files (when configured to save scenes and events in different files) from watcher by AlexandreSi · Pull Request #5885 · 4ian/GDevelop · GitHub
but it’s not working as intended at the moment, I’ll get back to it.

1 Like

The PR is now merged, it should be stabilized in the next version.