mirror of
https://github.com/godotengine/godot-docs.git
synced 2026-01-04 14:11:02 +03:00
Document thread-safe rendering caveats
This commit is contained in:
@@ -49,10 +49,19 @@ you are doing and you are sure that a single resource is not being used or
|
||||
set in multiple ones. Otherwise, you are safer just using the servers API
|
||||
(which is fully thread-safe) directly and not touching scene or resources.
|
||||
|
||||
Rendering
|
||||
---------
|
||||
|
||||
Instancing nodes that render anything in 2D or 3D (such as Sprite) is *not* thread-safe by default.
|
||||
To make rendering thread-safe, set the **Rendering > Threads > Thread Model** project setting to **Multi-Threaded**.
|
||||
|
||||
Note that the Multi-Threaded thread model has several known bugs, so it may not be usable
|
||||
in all scenarios.
|
||||
|
||||
GDScript arrays, dictionaries
|
||||
-----------------------------
|
||||
|
||||
In GDScript, reading and writing elements from multiple threads is ok, but anything that changes the container size (resizing, adding or removing elements) requires locking a mutex.
|
||||
In GDScript, reading and writing elements from multiple threads is OK, but anything that changes the container size (resizing, adding or removing elements) requires locking a mutex.
|
||||
|
||||
Resources
|
||||
---------
|
||||
|
||||
@@ -14,6 +14,11 @@ Godot supports threads and provides many handy functions to use them.
|
||||
.. note:: If using other languages (C#, C++), it may be easier to use the
|
||||
threading classes they support.
|
||||
|
||||
.. warning::
|
||||
|
||||
Before using a built-in class in a thread, read :ref:`doc_thread_safe_apis`
|
||||
first to check whether it can be safely used in a thread.
|
||||
|
||||
Creating a Thread
|
||||
-----------------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user