Merge pull request #63141 from reduz/implement-thread-runner

This commit is contained in:
Rémi Verschelde
2022-07-22 13:25:31 +02:00
committed by GitHub
10 changed files with 852 additions and 1 deletions

View File

@@ -1222,6 +1222,8 @@
<member name="VisualScriptCustomNodes" type="VisualScriptCustomNodes" setter="" getter="">
The [VisualScriptCustomNodes] singleton.
</member>
<member name="WorkerThreadPool" type="WorkerThreadPool" setter="" getter="">
</member>
<member name="XRServer" type="XRServer" setter="" getter="">
The [XRServer] singleton.
</member>

View File

@@ -1986,6 +1986,12 @@
</member>
<member name="rendering/vulkan/staging_buffer/texture_upload_region_size_px" type="int" setter="" getter="" default="64">
</member>
<member name="threading/worker_pool/low_priority_thread_ratio" type="float" setter="" getter="" default="0.3">
</member>
<member name="threading/worker_pool/max_threads" type="int" setter="" getter="" default="-1">
</member>
<member name="threading/worker_pool/use_system_threads_for_low_priority_tasks" type="bool" setter="" getter="" default="true">
</member>
<member name="xr/openxr/default_action_map" type="String" setter="" getter="" default="&quot;res://openxr_action_map.tres&quot;">
Action map configuration to load by default.
</member>

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="WorkerThreadPool" inherits="Object" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
</brief_description>
<description>
</description>
<tutorials>
</tutorials>
<methods>
<method name="add_group_task">
<return type="int" />
<argument index="0" name="action" type="Callable" />
<argument index="1" name="elements" type="int" />
<argument index="2" name="tasks_needed" type="int" default="-1" />
<argument index="3" name="high_priority" type="bool" default="false" />
<argument index="4" name="description" type="String" default="&quot;&quot;" />
<description>
</description>
</method>
<method name="add_task">
<return type="int" />
<argument index="0" name="action" type="Callable" />
<argument index="1" name="high_priority" type="bool" default="false" />
<argument index="2" name="description" type="String" default="&quot;&quot;" />
<description>
</description>
</method>
<method name="is_group_task_completed" qualifiers="const">
<return type="bool" />
<argument index="0" name="group_id" type="int" />
<description>
</description>
</method>
<method name="is_task_completed" qualifiers="const">
<return type="bool" />
<argument index="0" name="task_id" type="int" />
<description>
</description>
</method>
<method name="wait_for_group_task_completion">
<return type="void" />
<argument index="0" name="group_id" type="int" />
<description>
</description>
</method>
<method name="wait_for_task_completion">
<return type="void" />
<argument index="0" name="task_id" type="int" />
<description>
</description>
</method>
</methods>
</class>