[Bf-blender-cvs] [c6c0b792352] temp-compositor-scheduling: Replace sleep with yield.

Jeroen Bakker noreply at git.blender.org
Wed Apr 7 10:58:44 CEST 2021


Commit: c6c0b792352471093e8d8c6498f3f24ce1cbe400
Author: Jeroen Bakker
Date:   Wed Apr 7 10:57:47 2021 +0200
Branches: temp-compositor-scheduling
https://developer.blender.org/rBc6c0b792352471093e8d8c6498f3f24ce1cbe400

Replace sleep with yield.

===================================================================

M	source/blender/compositor/intern/COM_ExecutionSystem.cc

===================================================================

diff --git a/source/blender/compositor/intern/COM_ExecutionSystem.cc b/source/blender/compositor/intern/COM_ExecutionSystem.cc
index efbc4313816..93013fbe14a 100644
--- a/source/blender/compositor/intern/COM_ExecutionSystem.cc
+++ b/source/blender/compositor/intern/COM_ExecutionSystem.cc
@@ -33,6 +33,8 @@
 #include "COM_ReadBufferOperation.h"
 #include "COM_WorkScheduler.h"
 
+#include <thread>
+
 #ifdef WITH_CXX_GUARDEDALLOC
 #  include "MEM_guardedalloc.h"
 #endif
@@ -228,7 +230,8 @@ static void mark_priority(WorkPackage &work_package, eCompositorPriority priorit
   }
 }
 
-static void mark_priority(blender::Vector<WorkPackage> &work_packages, eCompositorPriority priority)
+static void mark_priority(blender::Vector<WorkPackage> &work_packages,
+                          eCompositorPriority priority)
 {
   for (WorkPackage &work_package : work_packages) {
     mark_priority(work_package, priority);
@@ -284,9 +287,10 @@ static bool is_completed(Vector<ExecutionGroup *> &groups)
 
 static void wait_for_completion(Vector<ExecutionGroup *> &groups)
 {
-  /* Todo: check for break! */
+  /* TODO: check for break! */
   while (!is_completed(groups)) {
-    PIL_sleep_ms(100);
+    /* TODO: Wrap this in a function in BLI. */
+    std::this_thread::yield();
   }
 }



More information about the Bf-blender-cvs mailing list