Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Skip unnecessary updates to scene groups and scripts #91980

Merged
merged 1 commit into from
May 15, 2024

Conversation

KoBeWi
Copy link
Member

@KoBeWi KoBeWi commented May 15, 2024

Fixes #91418

Projects have filesystem_update4 file that gets populated with paths to every scene/resource you have saved in your editor session. According to a comment, it's required to update dependencies when editor is restarted. I did not question that (but IMO it's sus), however it causes the project opening to be much slower the longer you were editing your project (as more files are saved and stored in that file).

The problem was that this caused not only file rescan, but also update of scene groups in affected scenes, which is pointless. When a file gets updated from update4, it's safe to assume that non-dependency cache is up-to-date, because the file was already cached - we just force some FileSystem update. Thus my fix just skips unnecessary updates of files from update4 list. This includes scene group cache and script update.

I also fixed a bug where update4 file was not getting removed, which made the issue appear on every rescan. Also, apparently checking that file on every rescan is wrong, so I fixed it too.

@akien-mga akien-mga merged commit d3c3a62 into godotengine:master May 15, 2024
16 checks passed
@akien-mga
Copy link
Member

Thanks!

@KoBeWi KoBeWi deleted the speedrunning_project_launch branch May 15, 2024 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Scene groups are being updated every time project is opened
2 participants