I am trying out Godot and I've noticed that when I export the game to linux, the result has a much longer boot time
I'm talking about an 80mb executable for a 3d game and the difference between windows and linux is 0.x seconds vs 10 seconds (the windows computer is more powerful but not by that much…)
I wouldn't care much about that, but during that load time the scene's ready() is triggered and music is played. This causes the cutscene to be desynced with the music and is quite jarring.
Does anyone know why this is happening? Version is 4.1.1 btw
EDIT: after some trial and error I've finallly found the issue. Surprisingly the cause of it was the world environment, more specifically the sky settings, which I had set to high. Bumping them down pretty much fixed the issue.
It's probably a bug, but hey, it works now 🤷
Found this question on AskGodot. https://ask.godotengine.org/60353/how-to-wait-the-whole-scene-load-to-execute
I didn't quite understand what the answer was on about. A reddit thread (linked to using Await)[https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_basics.html#awaiting-for-signals-or-coroutines], but offered no further details
I've also found this tutorial for Background Loading, maybe it can help you? https://docs.huihoo.com/godotengine/godot-docs/godot/tutorials/engine/background_loading.html
As for the significant difference in load time on linux, that's really head scratching. Similar enough graphics cards on both? What render are you using? OpenGL, Vulkan?
Hmm neither of these suggestiona seem to be applicable to me 🥲.
As for the performance differenece, In the mean time I've tried out many different changes and now the load time difference seems to be proportional to the fps (around 10x difference for context(3060ti vs vega 8)).
Perhaps that's thanks to caching or something similar as I tested on a lightly used Fedora install.