godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
86.32k stars 19.21k forks source link

[TRACKER] Improving editor startup time #19979

Open toger5 opened 6 years ago

toger5 commented 6 years ago

The editor startup time is not too bad, but there is (of course) play for improvement:

Pls comment below if you have ideas which is slowing down the editor startup and how it can be improved.

Possible Improvements:

Ideas that could slow down startup:

Calinou commented 6 years ago

In my experience, the editor starts up faster if you build with target=release_debug use_lto=yes.

Zylann commented 6 years ago

I know that probably due to https://github.com/godotengine/godot/issues/11030, the editor is slower to start on Windows with nVidia cards due to an issue on driver level (it slows everything that relies on yielding frames for example). On my laptop if I launch it using the less-powerful Intel graphics I can get it open a lot faster (within seconds).

toger5 commented 6 years ago

It would also be really cool, when we could add some debug prints during startup to see what parts take how long to launch?

Calinou commented 4 years ago

Slightly off-topic, but I believe we could improve perceived performance when loading the editor by adapting the splash screen's background color to match the editor background color. This makes the transition between the splash screen and the editor window more subtle. Edit: Done in https://github.com/godotengine/godot/pull/47119.

This should be done dynamically, so that it can match both dark and light editor themes (including gray or solarized variants). When using a light theme, the logo should use dark text as to be readable, and sponsors should be put on a dark background somehow.

Icon svg to png conversion on every startup could be cached

I like the idea, but couldn't this end up being slower on a HDD? While most Godot users are probably using a SSD by now, people on old machines shouldn't be penalized (as this is where Godot is the slowest to start).

lawnjelly commented 2 years ago

Just throwing these in here rather than starting a new issue, these are some profiles for master (4.x) I made today for starting the project manager, and the editor. These are release builds on Linux.

Project Manager profile_master_project_manager

Editor with simple project (GLES3) profile_master_editor_startup

Notable it seems to spend a good amount of time in the font code.

60781 and #60463 may be relevant here (thanks to @Calinou for pointing these out).

bruvzg commented 2 years ago

60781 is not intended to make the editor start faster, but to avoid stutters when visual scripts/shaders are used (MSDF fonts are slow to rasterize).