Thread
たぶんUnity 2019.3から、ワーカースレッドの数を制限出来るようになったっぽいです。 ワーカースレッドの数を制限する ワーカースレッドの数 ワーカースレッドの数を制限する UnityのJobSystemは基本的に「使用できる全てのスレッドを使用」します。これは…
今回はC# Job SystemでTransformAccessArrayを利用した際の、ジョブの分割数についてのお話です。 TransformAccessArrayが並列処理されない? 親が同じならば単一のジョブで実行される ジョブの分割数を制限 複数のIJobParallelForTransformを発行するとどう…
今回はC# Job Systemでランダムを使うアプローチについてです。 UnityEngine.Randomがメインスレッドでしか動作しない Unity.Mathematics.Random RandomをC# Job Systemで使ってみる とりあえずジョブにランダムを突っ込む。しかし 同じ結果が出ないようにす…
今回はECSのEntityを非同期に作成する方法についてです。主に打規模なシーンのロード等に使用できそうです。 Entityの生成や破棄、削除はメインスレッド上で行う ExclusiveEntityTransaction ExclusiveEntityTransactionを使用しつつEntityManagerも使いたい…
Unity 2018.2より、Profiler Native Plugin APIが実験機能として追加されました。何コレと思ったので少し探してみました。 Profiler Native Plugin API どうもコレは、Profilerの処理に追加でコールバックを設定してプロファイラーに乗せる情報をフックする…
まんまタイトルの通りで、.NETで作成したスレッド上の処理時間をProfilerに乗せる方法についてです。 Profilerで負荷のかかっている場所を見つける 非同期処理とProfiler 複数フレームを跨げる 関連 Profilerで負荷のかかっている場所を見つける 処理負荷や…
今回はC# Job Systemを使ってるとよく見るエラーについてです。 A Native Collection has not been disposed, resulting in a memory leak. JobTempAlloc has allocations that are more than 4 frames old - this is not allowed and likely a leak nvalidO…
今回はUnity 2018.1の目玉機能であるC# Job Systemについて紹介します。 C# Job Systemは並列処理である 並列処理と非同期処理(バックグラウンド処理)の異なる立ち位置 要素を並列して処理する C# Job Systemの特徴 実際に使ってみた まずはRaycastCommand…