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

Update NodePaths only in built-in resources #85502

Conversation

KoBeWi
Copy link
Member

@KoBeWi KoBeWi commented Nov 29, 2023

Fixes #84910

@Mickeon
Copy link
Contributor

Mickeon commented Mar 9, 2024

It's been a while, could use another rebase?

@KoBeWi
Copy link
Member Author

KoBeWi commented Mar 9, 2024

Why? There are no conflicts and the code is unlikely to have stopped working.

Copy link
Contributor

@Mickeon Mickeon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤷 I myself think this is a good idea then.

@KoBeWi
Copy link
Member Author

KoBeWi commented Mar 9, 2024

Note #85517, which "fixes" the same issue by disabling functionality.

Also relevant discussion from chat.
image
(pasting as image, because it's from private channel)

@Mickeon
Copy link
Contributor

Mickeon commented Mar 10, 2024

My opinion is, I think the functionality should be restored but limited as this PR does. Checking only for built-in resources' NodePaths is not just performant, but much, much safer as it pretty much ensures the updated NodePath points to a valid node in the scene. If it also affected external Resources there would be no way of guaranteeing it.

@KoBeWi KoBeWi force-pushed the external_is_eternal_and_does_not_abide_to_changes branch from 0c2b854 to bfa0e7b Compare March 10, 2024 00:45
@KoBeWi
Copy link
Member Author

KoBeWi commented Mar 10, 2024

Rebased and added revert. (although not sure if these commits make sense separately)

Copy link
Member

@akien-mga akien-mga left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, I think we can squash the commits.

editor/scene_tree_dock.cpp Outdated Show resolved Hide resolved
@KoBeWi KoBeWi force-pushed the external_is_eternal_and_does_not_abide_to_changes branch from bfa0e7b to 77879d4 Compare March 11, 2024 14:17
@akien-mga akien-mga merged commit 397fd1b into godotengine:master Mar 11, 2024
16 checks passed
@akien-mga
Copy link
Member

Thanks!

@KoBeWi KoBeWi deleted the external_is_eternal_and_does_not_abide_to_changes branch March 11, 2024 23:02
@ShadyShlowpoke
Copy link

I'm on Godot 4.3 (beta1) and while in the editor adding/moving/removing nodes is still painfully slow when many nodes are in the scene. Is this still being worked on?

@KoBeWi
Copy link
Member Author

KoBeWi commented Jun 5, 2024

The issue linked to this pull request is closed. If the problem still exists in some form, see if it was already reported and open a new issue if it wasn't.

@ShadyShlowpoke
Copy link

This may be related to #83460, which is still open. Editor freezes when adding, moving, or removing nodes in a scene with many nodes, even if they are just built-in nodes like Node2Ds. The more nodes, the longer the freeze.

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.

Reparenting nodes is extremely slow in certain situations
4 participants