<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Hi Anderson, in Developing Games on Intel Graphics</title>
    <link>https://community.intel.com/t5/Developing-Games-on-Intel/parallelize-CPU-workload-in-game-engine/m-p/1018824#M870</link>
    <description>&lt;P&gt;Hi Anderson,&lt;/P&gt;

&lt;P&gt;I have some info for you on Unity3D. The basic System.Threading lib is available, so any .NET multithreading tutorial should do the trick for general calculations.&amp;nbsp; The key rule is to not use any Unity API methods on a separate thread as they are not thread safe.&lt;/P&gt;

&lt;P&gt;There are certain asynchronous API versions of typical operations available marked with the word ‘Async’ at the end of the function name.&amp;nbsp; For example, Application.LoadLevelAsync vs Application.LoadLevel.&lt;/P&gt;

&lt;P&gt;This posts answer goes into detail about how this can be leveraged: &lt;A href="http://answers.unity3d.com/questions/180243/threading-in-unity.html"&gt;http://answers.unity3d.com/questions/180243/threading-in-unity.html&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;Here are a few other posts that go into more details:&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://answers.unity3d.com/questions/357033/unity3d-and-c-coroutines-vs-threading.html"&gt;http://answers.unity3d.com/questions/357033/unity3d-and-c-coroutines-vs-threading.html&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://answers.unity3d.com/questions/908054/unity-5-multithreading.html"&gt;http://answers.unity3d.com/questions/908054/unity-5-multithreading.html&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;-Michael&lt;/P&gt;</description>
    <pubDate>Fri, 11 Sep 2015 19:40:37 GMT</pubDate>
    <dc:creator>Michael_C_Intel2</dc:creator>
    <dc:date>2015-09-11T19:40:37Z</dc:date>
    <item>
      <title>parallelize CPU workload in game engine ?</title>
      <link>https://community.intel.com/t5/Developing-Games-on-Intel/parallelize-CPU-workload-in-game-engine/m-p/1018821#M867</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;

&lt;P&gt;I would like to know how to&amp;nbsp;parallelize CPU workload in game engine &amp;nbsp;ex. Unity or Unreal ?&lt;/P&gt;

&lt;P&gt;any related doc ?&lt;/P&gt;</description>
      <pubDate>Wed, 09 Sep 2015 07:58:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Developing-Games-on-Intel/parallelize-CPU-workload-in-game-engine/m-p/1018821#M867</guid>
      <dc:creator>Anderson_C_Intel</dc:creator>
      <dc:date>2015-09-09T07:58:30Z</dc:date>
    </item>
    <item>
      <title>Hi Anderson,</title>
      <link>https://community.intel.com/t5/Developing-Games-on-Intel/parallelize-CPU-workload-in-game-engine/m-p/1018822#M868</link>
      <description>&lt;P&gt;Hi Anderson,&lt;/P&gt;

&lt;P&gt;I am unaware of a doc that will cover how to parallelize the CPU workload in the game engine. I am checking to see if one exists for you.&lt;/P&gt;

&lt;P&gt;-Michael&lt;/P&gt;</description>
      <pubDate>Fri, 11 Sep 2015 16:13:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Developing-Games-on-Intel/parallelize-CPU-workload-in-game-engine/m-p/1018822#M868</guid>
      <dc:creator>Michael_C_Intel2</dc:creator>
      <dc:date>2015-09-11T16:13:13Z</dc:date>
    </item>
    <item>
      <title>Hi Anderson,</title>
      <link>https://community.intel.com/t5/Developing-Games-on-Intel/parallelize-CPU-workload-in-game-engine/m-p/1018823#M869</link>
      <description>&lt;P&gt;Hi Anderson,&lt;/P&gt;

&lt;P&gt;There is no doc perse on this but you might want to look at what the engines already do behind the scenes in relation to threading on the CPU.&amp;nbsp; Beyond that if you are looking at how to explicitly parallelize your workload there should be some kind of job system in each engine that if the work is put in chunks the engine can parallelize for you.&lt;/P&gt;

&lt;P&gt;Also check out this this thread for info on the UE4 async framework:&lt;/P&gt;

&lt;P&gt;&lt;A href="https://forums.unrealengine.com/showthread.php?56398-New-Core-Feature-Async-Framework-%28Master-Branch-and-4-8%29"&gt;https://forums.unrealengine.com/showthread.php?56398-New-Core-Feature-Async-Framework-%28Master-Branch-and-4-8%29&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;-Michael&lt;/P&gt;</description>
      <pubDate>Fri, 11 Sep 2015 16:55:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Developing-Games-on-Intel/parallelize-CPU-workload-in-game-engine/m-p/1018823#M869</guid>
      <dc:creator>Michael_C_Intel2</dc:creator>
      <dc:date>2015-09-11T16:55:21Z</dc:date>
    </item>
    <item>
      <title>Hi Anderson,</title>
      <link>https://community.intel.com/t5/Developing-Games-on-Intel/parallelize-CPU-workload-in-game-engine/m-p/1018824#M870</link>
      <description>&lt;P&gt;Hi Anderson,&lt;/P&gt;

&lt;P&gt;I have some info for you on Unity3D. The basic System.Threading lib is available, so any .NET multithreading tutorial should do the trick for general calculations.&amp;nbsp; The key rule is to not use any Unity API methods on a separate thread as they are not thread safe.&lt;/P&gt;

&lt;P&gt;There are certain asynchronous API versions of typical operations available marked with the word ‘Async’ at the end of the function name.&amp;nbsp; For example, Application.LoadLevelAsync vs Application.LoadLevel.&lt;/P&gt;

&lt;P&gt;This posts answer goes into detail about how this can be leveraged: &lt;A href="http://answers.unity3d.com/questions/180243/threading-in-unity.html"&gt;http://answers.unity3d.com/questions/180243/threading-in-unity.html&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;Here are a few other posts that go into more details:&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://answers.unity3d.com/questions/357033/unity3d-and-c-coroutines-vs-threading.html"&gt;http://answers.unity3d.com/questions/357033/unity3d-and-c-coroutines-vs-threading.html&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://answers.unity3d.com/questions/908054/unity-5-multithreading.html"&gt;http://answers.unity3d.com/questions/908054/unity-5-multithreading.html&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;-Michael&lt;/P&gt;</description>
      <pubDate>Fri, 11 Sep 2015 19:40:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Developing-Games-on-Intel/parallelize-CPU-workload-in-game-engine/m-p/1018824#M870</guid>
      <dc:creator>Michael_C_Intel2</dc:creator>
      <dc:date>2015-09-11T19:40:37Z</dc:date>
    </item>
    <item>
      <title>My answer is not directly</title>
      <link>https://community.intel.com/t5/Developing-Games-on-Intel/parallelize-CPU-workload-in-game-engine/m-p/1018825#M871</link>
      <description>&lt;P&gt;My answer is not directly related to your question it is more about simulation and modelling, but you may got interested in the details.&lt;/P&gt;

&lt;P&gt;I am currently working on my own project modelling and simulation of air-to-air missile written &amp;nbsp;mainly in C++ and I usually rely on OPENMP directives and pragmas to parallelize code which does not have any interdependencies. The best candidates for such a parallelization are major "hotspot" functions. Hence I presume that maybe 3D Game Engines or their physics part could implement similar solutions.&lt;/P&gt;</description>
      <pubDate>Fri, 18 Sep 2015 16:38:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Developing-Games-on-Intel/parallelize-CPU-workload-in-game-engine/m-p/1018825#M871</guid>
      <dc:creator>Bernard</dc:creator>
      <dc:date>2015-09-18T16:38:06Z</dc:date>
    </item>
  </channel>
</rss>

