godot/scene/main
Juan Linietsky ab5fc22f67 Optimize Node children management
* Adding and removing child nodes is now constant time, speed up should be huge.
* Searching for node paths as in ("path/to/node") should be far faster too.

This changes the children management and makes it a hashmap, optimizing most StringName based operations.
Most operations should be severe speed up without breaking compatibility.

This should fix many issues regarding to node access performance, and may also speed up editor start/end, but benchmarks are needed. So if you want to test, please make some benchmarks!

Further performance improvements will be done in the future by removing NOTIFICATION_MOVED_IN_PARENT and replacing by something less laborious.
2023-04-08 10:54:28 +02:00
..
canvas_item.cpp Remove NOTIFICATION_MOVED_IN_PARENT 2023-04-06 13:57:13 +02:00
canvas_item.h Remove NOTIFICATION_MOVED_IN_PARENT 2023-04-06 13:57:13 +02:00
canvas_layer.cpp Remove NOTIFICATION_MOVED_IN_PARENT 2023-04-06 13:57:13 +02:00
canvas_layer.h Remove NOTIFICATION_MOVED_IN_PARENT 2023-04-06 13:57:13 +02:00
http_request.cpp [NET] Refactor TLS configuration. 2023-01-28 11:08:02 +01:00
http_request.h [NET] Refactor TLS configuration. 2023-01-28 11:08:02 +01:00
instance_placeholder.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
instance_placeholder.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
missing_node.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
missing_node.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
multiplayer_api.cpp [MP] Fix orphan StringName on close. 2023-02-27 09:45:16 +01:00
multiplayer_api.h Use enum instead of int in virtual methods return type 2023-01-31 19:06:49 +01:00
multiplayer_peer.cpp Add missing documentation for MultiplayerPeerExtension 2023-03-20 08:08:59 -07:00
multiplayer_peer.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
node.cpp Optimize Node children management 2023-04-08 10:54:28 +02:00
node.h Optimize Node children management 2023-04-08 10:54:28 +02:00
resource_preloader.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
resource_preloader.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
scene_tree.cpp Prevent off-screen controls in editor 2023-02-20 20:25:39 +01:00
scene_tree.h Add SceneTree.unload_current_scene() 2023-01-10 14:02:06 +01:00
SCsub SCons: Format buildsystem files with psf/black 2020-03-30 09:05:53 +02:00
shader_globals_override.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
shader_globals_override.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
timer.cpp Fix auto-translations in editor 2023-03-22 23:57:12 +01:00
timer.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
viewport.cpp Remove NOTIFICATION_MOVED_IN_PARENT 2023-04-06 13:57:13 +02:00
viewport.h Remove NOTIFICATION_MOVED_IN_PARENT 2023-04-06 13:57:13 +02:00
window.cpp Add a warning when trying to access theme items too early 2023-04-03 18:01:10 +02:00
window.h Add a warning when trying to access theme items too early 2023-04-03 18:01:10 +02:00