Rémi Verschelde
08508d2e01
Merge pull request #99700 from hpvb/scene_tree_editor_performance
...
Improve Scene Tree editor performance
2024-12-16 17:16:00 +01:00
HP van Braam
6f7525c396
Improve Scene Tree editor performance
...
We now cache the Node*<>TreeItem* mapping in the SceneTreeEditor. This
allows us to make targeted updates to the Tree used to display the scene
tree in the editor.
Previously on almost all changes to the scene tree the editor would
rebuild the entire widget, causing a large number of deallocations an
allocations. We now carefully manipulate the Tree widget in-situ saving
a large number of these allocations.
In order to know what Nodes need to be updated we add a
editor_state_changed signal to Node, this is a TOOLS_ENABLED,
editor-only signal fired when changes to Node happen that are relevant
to editor state.
We also now make sure that when nodes are moved/renamed we don't check
expensive properties that cannot contain NodePaths. This saves a lot of
time when SceneTreeDock renames a node in a scene with a lot of
MeshInstances. This makes renaming nodes go from ~27 seconds to ~2
seconds on large scenes.
SceneTreeEditor instances will now also not do all of the potentially
expensive update work if they are invisible. This behavior is turned off
by default so it won't affect existing users. This change allows the
editor to only update SceneTreeEditors that actually in view. In
practice this means that for most changes instead of updating 6
SceneTreeEditors we only update 1 instantly, and the others only when
they become visible.
There is definitely more that could be done, but this is already a
massive improvement. In complex scenes we see an improvement of 10x,
things that used to take ~30 seconds now only take 2.
This fixes #83460
I want to thank KoBeWi, TokisanGames, a-johnston, aniel080400 for
their tireless testing. And AeioMuch for their testing and providing a
fix for the hover issue.
2024-12-12 22:47:05 +01:00
Thaddeus Crews
e9d343805e
Merge pull request #94636 from Calinou/doc-process-delta-low-fps
...
Document `_process()` and `_physics_process()` delta behavior at low FPS
2024-12-11 17:35:42 -06:00
Rémi Verschelde
88e81ee730
Fix various typos and code style issues
2024-11-28 17:40:42 +01:00
Thaddeus Crews
e66d9988a6
Merge pull request #95774 from Mickeon/documentation-miscellaneous-oddities
...
Fix miscellaneous oddities around the class reference
2024-11-12 09:27:47 -06:00
Lukas Rieger
5c65f80199
Update Node.xml: specify that normal processing happens in tree order
2024-10-20 18:41:54 +02:00
Haoyu Qiu
c5d147b9b5
Allow configuring which translation domain Object.tr uses
2024-09-17 13:09:44 +08:00
Rémi Verschelde
8ebfd89359
Merge pull request #96024 from Ryan-000/expose_get_rpc_config
...
Expose `get_rpc_config` and `get_node_rpc_config`
2024-09-16 13:34:34 +02:00
Ryan
8835f326b1
Expose get_rpc_config and get_node_rpc_config
...
add documentation
Update doc/classes/Node.xml
change name of get_node_rpc_config to get_rpc_config
Co-Authored-By: moondog <159832633+dog-on-moon@users.noreply.github.com>
Co-Authored-By: Micky <66727710+Mickeon@users.noreply.github.com>
2024-09-04 15:45:22 -04:00
Vinni Richburgh
3e86f7b50e
In Node.xml mentioned that Node::duplicate also copies children.
...
The list now uses the Oxford comma.
2024-08-22 18:57:05 +02:00
Micky
b8f78b14be
Fix miscellaneous oddities around the class reference
2024-08-18 23:18:44 +02:00
Hugo Locurcio
c15633139f
Document _process() and _physics_process() delta behavior at low FPS
2024-07-24 23:47:42 +02:00
Liam Sherwin
160ac00bdb
Update Node docs to change iOS to Android for NOTIFICATION_WM_GO_BACK_REQUEST
2024-07-17 11:41:58 +02:00
Haoyu Qiu
9315583af3
Fix mismatched parentheses in class reference
2024-05-30 15:54:53 +08:00
Rémi Verschelde
7d03b1de0b
Style: Trim trailing whitespace and ensure newline at EOF
...
Found by apply the file_format checks again via #91597 .
2024-05-08 10:12:46 +02:00
kobewi
0b877a9962
Expose is_part_of_edited_scene()
2024-04-26 11:49:38 +02:00
Haoyu Qiu
8d1cb7e74c
Add project setting for root node auto translate mode
2024-04-16 11:02:04 +08:00
ajreckof
248e5bfba2
Revert what needs to be reverted
2024-04-10 09:49:30 +08:00
Micky
328b00774b
Use [codeblock lang=text] more often in class ref
2024-04-08 16:17:50 +02:00
ajreckof
ae472865d0
fix node duplication in update after external changes.
2024-04-03 12:19:38 +02:00
Rémi Verschelde
cff7de077b
Merge pull request #89838 from Chronos-W/update-shortcut-input-method-doc
...
Add reference to InputEventJoypadButton in `_shortcut_input` doc
2024-03-26 13:45:35 +01:00
Chronos-W
9a439b246a
Add reference to InputEventJoypadButton in _shortcut_input doc
2024-03-25 19:38:33 -06:00
Rémi Verschelde
0e36df69f9
Merge pull request #89815 from KoBeWi/translates_bananas
...
Improve some notification and translation docs
2024-03-25 10:42:37 +01:00
kobewi
83789426cc
Improve some notification and translation docs
2024-03-24 15:14:02 +01:00
Ricardo Buring
2ed2ccc2d8
Fixed Timestep Interpolation (2D)
...
Adds fixed timestep interpolation to the rendering server (2D only).
Switchable on and off with a project setting (default is off).
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-03-23 12:28:36 +01:00
A Thousand Ships
9b5cd8e240
[Doc] Fix some incorrect uses of "children"
2024-02-29 11:52:55 +01:00
Rémi Verschelde
07254d9b1b
Merge pull request #88443 from Mickeon/documentation-hunting-for-deprecated
...
Update many Deprecated/Experimental descriptions for consistency
2024-02-20 11:12:07 +01:00
Micky
f9a758772a
Update many Deprecated/Experimental descriptions for consistency
2024-02-17 21:33:12 +01:00
Rémi Verschelde
92fcbe2f5c
Revert "Allow configuration warnings to refer to a property"
...
This reverts commit bf37a9bac6 .
2024-02-17 19:04:18 +01:00
Michael Alexsander
7b42c24550
Make auto translation inheritable
2024-02-15 16:51:19 -03:00
Danil Alexeev
af28f87791
Documentation: Add support for deprecated/experimental messages
2024-02-15 15:59:50 +03:00
Rémi Verschelde
3a2fb42838
Merge pull request #85100 from ztc0611/fix-ios-focus-mainloop-notifs
...
Enhance mobile suspend MainLoop notifications
2024-02-14 14:07:54 +01:00
Rémi Verschelde
679fa26a99
Merge pull request #86903 from Mickeon/Post-merge-fixes-to-Node-documentation
...
Post-merge fixes to Node & OS documentation
2024-02-12 13:33:47 +01:00
Micky
e26f612f38
Post-merge fixes to Node & OS documentation
2024-02-11 16:44:24 +01:00
RedMser
5911a12db1
Update class reference to include some keywords
...
More should be added in future PRs, wherever there is demand.
2024-02-09 18:13:23 +01:00
RedMser
bf37a9bac6
Allow configuration warnings to refer to a property
...
This is used by the inspector so it can show a warning icon on
a specific property.
2024-02-08 23:05:20 +01:00
Zach Coleman
fc7a63cbf3
Enhance mobile suspend MainLoop Notifications
2024-02-04 21:10:06 -05:00
Ershn
61872e47af
Improve Node's documentation on process_mode related members/methods
2024-01-31 23:25:56 +09:00
kobewi
0de8a736da
Allow Node.create_tween() outside SceneTree
2024-01-29 20:18:43 +01:00
Rémi Verschelde
f3fc35eb17
Merge pull request #81506 from twobitadder/reparent_keep_owner
...
Fix `reparent()` losing owner
2024-01-11 17:34:19 +01:00
Steven Schoen
3c416f3a64
Clarify Node doc: get_child returns null for invalid index
2024-01-07 00:01:03 -04:00
Rémi Verschelde
73c5deff76
Merge pull request #82916 from jsjtxietian/update-scene-tree-tooltip-after-editor-description-chnage
...
Support updating tooltip immediately after editor description change
2024-01-03 15:41:31 +01:00
Rémi Verschelde
9561160a6a
Merge pull request #80094 from Sauermann/fix-window-sizechange-doc
...
Explain which nodes receive `NOTIFICATION_WM_SIZE_CHANGED`
2024-01-03 15:40:11 +01:00
jsjtxietian
4680ced5fa
support updating tooltip after editor description change
2023-11-15 14:27:49 +08:00
Markus Sauermann
361aa909da
Explain which nodes receive NOTIFICATION_WM_SIZE_CHANGED
2023-11-13 17:32:39 +01:00
Micky
b5ca06c9ca
Overhaul Node Documentation
2023-11-12 12:10:27 +01:00
Nico
ee9c8cb296
Specify the behaviour of get_tree when the node is not in the scene tree
2023-11-10 20:24:53 +01:00
Yuri Sizov
623b905d2e
Remove unused NOTIFICATION_NODE_RECACHE_REQUESTED notification
2023-11-06 12:16:32 +01:00
Steven Le Boëdec
47258411da
Add missing word in NOTIFICATION_POST_ENTER_TREE documentation
2023-10-31 09:07:00 +09:00
twobit
b4aa6ad36e
Fix reparent losing owner if relationship to original owner is not broken
2023-10-26 13:08:05 -04:00