SlideShare uma empresa Scribd logo
1 de 56
Baixar para ler offline
C#JobSystem & ECSでCPUを極限まで
使い倒そう
~C# JobSystem編~
2018/4/21
講演者名 黒河 優介
所属団体 Unity Technologies Japan
肩書・役職 Developer Relation Engineer
• Unity
4
• Native Container
• 5.6 2018.1β
• C# JobSystem
• 2018.1 β
• Entity Conponent System(ECS)
• 2018.1.0 Experimental( )
• Burst Compiler
• 2018.1.0 Experimental( )
• Unity
4
• Native Container
• 5.6 2018.1β
• C# JobSystem
• 2018.1 β
• Entity Conponent System(ECS)
• 2018.1β
• Burst Compiler
• 2018.1β
私からの話はコチラになります。
Unity
• GC
• C#
• Thread C# MainThread
NativeContainer
• GC
• new
• C#
•
GC
ManagedMemory
アプリで使用している全体メモリ
UnityメモリC#用に確保したメモリ
C#使用メモリ 未使用
NativeContainer
GC Memory
NativeContainer
• GC NativeArray
• Allocate Dispose(C++ new delete )
• JobSystem/ECS
• unsafe C#
NativeContainer
// Vector3 NativeArray
NativeArray<Vector3>array = new NativeArray<Vector3>(size, Allocator.Persistent);
//
for( int i = 0; i < array.Length; ++i ){
array[ i ] = array[i] + Vector3.one;
}
//
array.Dispose();
NativeContainer
int や float 等のプリミティブなタイプか、
Vector3等のstruct型のみが指定可能です。
class型は指定不可です
// Vector3 NativeArray
NativeArray<Vector3>array = new NativeArray<Vector3>(size, Allocator.Persistent);
//
for( int i = 0; i < array.Length; ++i ){
array[ i ] = array[i] + Vector3.one;
}
//
array.Dispose();
// Vector3 NativeArray
NativeArray<Vector3>array = new NativeArray<Vector3>(size, Allocator.Persistent);
//
for( int i = 0; i < array.Length; ++i ){
array[ i ] = array[i] + Vector3.one;
}
//
array.Dispose();
NativeContainer
メモリの生存期間に合わせて、以下の三つの中から選択可能です。
Allocator.Temp ( そのフレームのみ有効)
Allocator.TempForJob(そのJob中のみ有効)
Allocator.Persistent(解放するまで有効)
下に行くほど、メモリ確保のコストが高くなります。
NativeContainer
• 2018.1.0b
• NativeArray
• NativeSlice ( NativeArray )
•
• NativeList
• NativeHashMap
• NativeMultiHashMap
• NativeQueue
※ NativeContainer 自体は、unsafeなC#で書かれているため、
コンテナを新規に定義することも可能
NativeContainer
Memory Leak
MemoryLeak
• Dispose
• Editor
•
C# JobSystem
• Thread C# MainThread
• Unity WorkerThread
C#
Thread (1)
C#スクリプトの処理は基本的に
MainThread上で実行されます
Thread (2)
UnityではMainThreadだけが働いていて、
Worker ThreadはIdle状態になってしまい
何も仕事をしていない状態がよくあります
C# JobSystem
WorkerThread
C# JobSystem
• WorkerThread C# C#
WorkerThread
• C# Job
WorkerThread
• MainThread
UnityAPI
C# JobSystem
Idle状態で遊んでいたWorker ThreadにもC#スクリプト処理を
分担させることで全体の負荷を下げる事につながります
C# JobSystem
• 1
•
•
•
•
→ C# Thread
C# JobSystem
• C# Heap
• NativeContainer struct
• Unity API
• Math JobSystem API
Job
• 3 Job Unity
• IJob
• IJobParalellFor
• Transform
IJobParallelForTransform
IJob(1)
// Jobの定義部分
struct MyJob : IJob{
// Jobに渡したいパラメーター
public int param;
// 実際に実行する処理
public void Execute( ){
int sum = 0;
for( int i = 0 ; i < param ; ++ i){ sum += i ; }
Debug.Log( “sum “ + sum );
}
}
// MonoBehaviourのUpdate内等で実際にJobを発行するところ
// Jobを作成します
var job = new MyJob(){
param = 100
};
// Jobを発行してます
JobHandlehandle= job.Schedule();
// 発行したJobが完了するのを待ちます
handle.Complete();
Jobを定義するには、structを作成します。
Job実行に必要なデータをメンバーに持たせます。
メンバーはint/float等のプリミティブな型もしくはstruct/
NativeArrayしか持てません。UnityEngine.Objectのような参照型のメ
ンバーは持つことが出来ません
実行そのものはExecuteメソッドに記述します
IJob(1)
// Jobの定義部分
struct MyJob : IJob{
// Jobに渡したいパラメーター
public int param;
// 実際に実行する処理
public void Execute( ){
int sum = 0;
for( int i = 0 ; i < param ; ++ i){ sum += i ; }
Debug.Log( “sum “ + sum );
}
}
// MonoBehaviourのUpdate内等で実際にJobを発行するところ
// Jobを作成します
var job = new MyJob(){
param = 100
};
// Jobを発行してます
JobHandlehandle= job.Schedule();
// 発行したJobが完了するのを待ちます
handle.Complete();
structをnewして、Schedule()メソッドを呼び出すこと
で、Jobの発行が出来ます。
Scheduleからの返り値のJobHandleオブジェクトで発
行したJobを待たせることが出来ます
IJob(2)
// Jobの定義部分
struct MyJob : IJob{
// Jobに渡したいパラメーター
public int param;
// 実際に実行する処理
public void Execute( ){
int sum = 0;
for( int i = 0 ; i < param ; ++ i){ sum += i ; }
Debug.Log( “sum “ + sum );
}
}
// MonoBehaviourのUpdate内等で実際にJobを発行するところ
// Jobを作成します
var job = new MyJob(){
param = 100
};
// Jobを発行してます
JobHandlehandle= job.Schedule();
// 発行したJobが完了するのを待ちます
handle.Complete();
IJobParalellFor
NativeArray<Vector3 >position
[0]
( 0, 0, 10 )
[1]
( 0, 0, 20 )
[2]
( 0, 0, 30 )
[3]
( 0, 0, 40 )
[4]
( 0, 0, 50 )
( 0, 0, 11) ( 0, 0, 21 ) ( 0, 0, 31 ) ( 0, 0, 41 ) ( 0, 0, 51 )
これに対して、(0,0,1 )を足していく
IJobParallelForを使えば、この「(0,0,1) を足す作業」を
平行して処理させることが出来ます。
...
...
MainThread
position [ 0~10 ]の更新処理
Worker position [ 11~20 ]の更新処理
Worker position [ 21~30 ]の更新処理
Jobの発行及び完了待ち
分散後
MainThread position [ 0~30 ]の更新処理
分散前
// Jobの定義部分
struct MyPositionUpdate : IJobParallelFor{
// 更新対象をNativeArrayの形で保持します
public NativeArray<Vector3> positions;
public float deltaTime;
// 実行部分 indexは、更新対象をする配列のindex値が入ります。
public void Execute( int index ){
positions[ index ] = positions[ index ] + Vector3.front * deltaTime;
}
}
// MonoBehaviourのUpdate内等で実際にJobを発行するところ
// Jobを作成します
var job = new MyPositionUpdate(){
positions = bulletPositions,// <-NativeArray<Vector3> bulletPositions;が定義されているつもり
deltaTime= Time.deltaTime,//<- Main以外からはTime.deltaTimeが呼べないので…
};
// Jobを発行してます。対象の配列要素数・バッチ数を指定(0で良い感じに設定してくれる)
JobHandlehandle= job.Schedule( positions.Length,0 );
// 発行したJobが完了するのを待ちます
handle.Complete();
IJobParalellFor
// Jobの定義部分
struct MyPositionUpdate : IJobParallelFor{
// 更新対象をNativeArrayの形で保持します
public NativeArray<Vector3> positions;
public float deltaTime;
// 実行部分 indexは、更新対象をする配列のindex値が入ります。
public void Execute( int index ){
positions[ index ] = positions[ index ] + Vector3.up * deltaTime;
}
}
更新の対象は、Nativeコンテナである必要があります。
IJobParalellFor
// MonoBehaviourのUpdate内等で実際にJobを発行するところ
// Jobを作成します
var job = new MyPositionUpdate(){
positions = bulletPositions,// <-NativeArray<Vector3> bulletPositions;が定義されているつもり
deltaTime= Time.deltaTime,//<- Main以外からはTime.deltaTimeが呼べないので…
};
// Jobを発行してます。対象の配列要素数・バッチ数を指定(0で良い感じに設定してくれる)
JobHandlehandle= job.Schedule( positions.Length,0 );
// 発行したJobが完了するのを待ちます
handle.Complete();
// Jobの定義部分
struct MyPositionUpdate : IJobParallelFor{
// 更新対象をNativeArrayの形で保持します
public NativeArray<Vector3> positions;
public float deltaTime;
// 実行部分 indexは、更新対象をする配列のindex値が入ります。
public void Execute( int index ){
positions[ index ] = positions[ index ] + Vector3.up * deltaTime;
}
}
IJobParalellFor
// MonoBehaviourのUpdate内等で実際にJobを発行するところ
// Jobを作成します
var job = new MyPositionUpdate(){
positions = bulletPositions,// <-NativeArray<Vector3> bulletPositions;が定義されているつもり
deltaTime= Time.deltaTime,//<- Main以外からはTime.deltaTimeが呼べないので…
};
// Jobを発行してます。対象の配列要素数・バッチ数を指定(0で良い感じに設定してくれる)
JobHandlehandle= job.Schedule( positions.Length,0 );
// 発行したJobが完了するのを待ちます
handle.Complete();
予期せぬエラーを防ぐため、引数で渡された「index」以外に
書き込もうとすると、Editor上ではエラーメッセージが出るよ
うになっています。
複数のTransformに対して並行して処理を行うための
IJobParallelForTransform
IJobParallelForTransformを利用することで、このCubeの移
動や回転をWorkerThreadでもできるようになります。
(通常だとtransformへの書き込みはMainThread以外からでは
できませんが、IJobParallelForTransformの
TransformAccess経由ならば可能です)
// Jobの定義部分
struct MyTransformUpdateJob : IJobParallelForTransform{
// Jobに渡したいパラメーター
public int objNum;
public float time;
// 実際に実行する処理 indexには配列の何個目であるか、transform に対して値をセットします
public void Execute(int index, TransformAccesstransform){
transform.position = new Vector3( index – objNum / 2 , time , 0.0f);
}
}
// MonoBehaviourのUpdate内等で実際にJobを発行するところ
Transform[] transformArray = "xxx";
// 並行して処理をしたいTransformのリストを定義します
var transformAccessArray = new TransformAccessArray(transformArray);
// Jobを作成します
var myTransformUpdateJob = new MyTransformUpdateJob(){
time= Time.deltaTime , objNum = transformArray.Length
};
// Jobを発行して、直後で完了待ち
JobHandlehandle= myTransformUpdateJob.Schedule( transformAccessArray );
handle.Complete();
複数のTransformに対して並行して処理を行うための
IJobParallelForTransform
// MonoBehaviourのUpdate内等で実際にJobを発行するところ
Transform[] transformArray = "xxx";
// 並行して処理をしたいTransformのリストを定義します
var transformAccessArray = new TransformAccessArray(transformArray);
// Jobを作成します
var myTransformUpdateJob = new MyTransformUpdateJob(){
time= Time.deltaTime , objNum = transformArray.Length
};
// Jobを発行して、直後で完了待ち
JobHandlehandle= myTransformUpdateJob.Schedule( transformAccessArray );
handle.Complete();
複数のTransformに対して並行して処理を行うための
IJobParallelForTransform
引数で渡ってくるTransformAccess経由でpositionやrotationを
設定します。
// Jobの定義部分
struct MyTransformUpdateJob : IJobParallelForTransform{
// Jobに渡したいパラメーター
public int objNum;
public float time;
// 実際に実行する処理 indexには配列の何個目であるか、transform に対して値をセットします
public void Execute(int index, TransformAccesstransform){
transform.position = new Vector3( index – objNum / 2 , time , 0.0f);
}
}
Job API
• JobSystem API
• Raycast Job RayCastCommand
• NaviMesh Job NavMeshQuery
C JobSystem
https://github.com/wotakuro/UnityJobSystemTest
こちらで計測。GPU・通信の影響を抑えるため、機内モード/画面輝度最低固定、ゲームのFPSを10固定
にし、CPUでのバッテリー消費が顕著に出る環境にして実験。
Android / iOS共に、JobSystemにして処理時間が減った結果結果、CPUの休む時間が増えたり、MainThreadへの負荷が減るので
CPUの実行周波数を下げることが出来た等で、バッテリー消費が下がったと思われる。
C# JobSystem
C# JobSystem
Q Job Priority( )
A Priority Job
Job B Job A Job B Job A
WorkerThread
WorkerThread
WorkerThreadの数はプラットフォーム・マシンの
ハードウェアによって変わってきます。
多くのプラットフォームでは、コア数 – 1 だけ
WorkerThreadに割り当てされます
Job
Job
Job.Schedule時に、InvalidOperationException等が出てしまうことがあります。
これはJobの実行タイミングで結果が異なりうる時にエラーとなってしまう可
能性があるのをUnityEditorが察知してエラーを出しています。
異なる二つのJobが同じ参照先のデータを有していた場合等に発生します。
Job
Worker
Job A
NativeArray<Vector3 >positions
[0]
( 0, 0, 10 )
[1]
( 0, 0, 20 )
[2]
( 0, 0, 30 )
[3]
( 0, 0, 40 )
[4]
( 0, 0, 50 )
...
...
positions
Worker
Job B
positions
Job
Worker
Job A
NativeArray<Vector3 >positions
[0]
( 0, 0, 10 )
[1]
( 0, 0, 20 )
[2]
( 0, 0, 30 )
[3]
( 0, 0, 40 )
[4]
( 0, 0, 50 )
...
...
positions
Worker
Job B
positions
同時に走っているJobが同じ参照先( NativeContainer )を指
していた場合に複数のJobから同一のリソース書き込みを
される可能性を考慮してEditor実行時にはエラーを出すよ
うにしています。
Job
Worker
Job A
NativeArray<Vector3 >positions
[0]
( 0, 0, 10 )
[1]
( 0, 0, 20 )
[2]
( 0, 0, 30 )
[3]
( 0, 0, 40 )
[4]
( 0, 0, 50 )
...
...
positions
Worker
Job B
positions
書き込みを行わないのであれば、Jobの変数宣言に[ReadOnly] 属性をつけて、
このpositionsへの書き込みは行わない事を明示的に教えます。
struct MyJob : IJob{
[ReadOnly]
public NativeArray<Vector3>positions;
}
また[ReadOnly]の反対で、[WriteOnly]属性もあります。
IJobParallelFor
Job.Schedule実行中に IndexOutOfRangeExceptionが出てきました。
しかし配列外のアクセスには心当たりがありません…。
とりあえず、ソースコードを見てみましょう…
IJobParallelFor
// Jobの定義部分
struct MyPositionUpdate : IJobParallelFor{
// 更新対象をNativeArrayの形で保持します
public NativeArray<Vector3> positions;
// 敵のタイプ別の速度
public NativeArray<Vector3> velocityByEnemyType;
// 敵のタイプ指定
public NativeArray<int> enemyType;
// deltaTIme
public float deltaTime;
// 実行部分 indexは、更新対象をする配列のindex値が入ります。
public void Execute( int index ){
int enemyType = enemyType[index];
Vector3 velocity = velocityByEnemyType[ enemyType ];
positions[ index ] = positions[ index ] + Vector3.front * deltaTime;
}
}
IJobParallelFor
// Jobの定義部分
struct MyPositionUpdate : IJobParallelFor{
// 更新対象をNativeArrayの形で保持します
public NativeArray<Vector3> positions;
// 敵のタイプ別の速度
public NativeArray<Vector3> velocityByEnemyType;
// 敵のタイプ指定
public NativeArray<int> enemyType;
// deltaTIme
public float deltaTime;
// 実行部分 indexは、更新対象をする配列のindex値が入ります。
public void Execute( int index ){
int enemyType = enemyType[index];
Vector3 velocity = velocityByEnemyType[ enemyType ];
positions[ index ] = positions[ index ] + Vector3.front * deltaTime;
}
}
ここで実行時にエラーが出ます。
これは velocityByEnemyType[ enemyType ]と、引数「index」以外にアクセスし
ているためです。
アクセスがReadなのかWriteなのかまでは判別は判別できませんが、指定され
たindex以外にアクセスが起きている事だけは UnityEditor側で検知が出来ます。
なので、実行時にエラーを出します
IJobParallelFor
// Jobの定義部分
struct MyPositionUpdate : IJobParallelFor{
// 更新対象をNativeArrayの形で保持します
public NativeArray<Vector3> positions;
// 敵のタイプ別の速度
[ReadOnly]
public NativeArray<Vector3> velocityByEnemyType;
// 敵のタイプ指定
public NativeArray<int> enemyType;
// deltaTIme
public float deltaTime;
// 実行部分 indexは、更新対象をする配列のindex値が入ります。
public void Execute( int index ){
int enemyType = enemyType[index];
Vector3 velocity = velocityByEnemyType[ enemyType ];
positions[ index ] = positions[ index ] + Vector3.front * deltaTime;
}
}
velocityByEnemyTypeに対して [ReadOnly]属性をつけてあげる事で、
velocityByEnemyTypeへの書き込みを行わないことを明示する事で実行時エラーが
回避できます。
C# JobSystem
Update
class JobTest : MonoBehaviour{
privateJobHandlehandle;
public Transform[] transformArray;
void Update(){
//前のフレームで発行したJobが完了するのを待ちます
jobHandle.Complete();
// 並行して処理をしたいTransformのリストを定義します
var transformAccessArray = new TransformAccessArray(transformArray);
// Jobを作成します
var myTransformUpdateJob = new MyTransformUpdateJob(){
time = Time.deltaTime, objNum = transformArray.Length
};
// Jobを発行してます。この時点では、Todo用のQueueに積まれるだけです
JobHandlehandle= myTransformUpdateJob.Schedule( transformAccessArray );
// [重要] 実際に積まれたJobの実行を促します
JobHandle.ScheduleBatchedJobs();
}
}
Update
MainThread
Job更新処理
Worker Jobの更新処理
Jobの発行及び完了待ち エンジン側での描画等の更新処理
EngineのJob
EngineのJob
Worker Jobの更新処理 EngineのJob
MainThread
Job
発行
Worker Jobの更新処理
完了
待ち
エンジン側での描画等の更新処理
EngineのJob
EngineのJob
Worker Jobの更新処理
EngineのJob
Jobの更新処理
エンジンの処理の隙間にユーザーの処理を埋める
事で全体での処理時間を縮める事が可能です
Work1.IJob Work2.IJobParallelFor
Work3.IJobParallelForTransform Work4.RayCastCommand

Mais conteúdo relacionado

Mais procurados

UniTask入門
UniTask入門UniTask入門
UniTask入門torisoup
 
はじめてのUniRx
はじめてのUniRxはじめてのUniRx
はじめてのUniRxtorisoup
 
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステムSEGADevTech
 
脱UniRx&Croutineから始めるUniTask
脱UniRx&Croutineから始めるUniTask脱UniRx&Croutineから始めるUniTask
脱UniRx&Croutineから始めるUniTaskEuglenaching
 
【Unity道場 2月】シェーダを書けるプログラマになろう
【Unity道場 2月】シェーダを書けるプログラマになろう【Unity道場 2月】シェーダを書けるプログラマになろう
【Unity道場 2月】シェーダを書けるプログラマになろうUnity Technologies Japan K.K.
 
Unity ネイティブプラグインの作成について
Unity ネイティブプラグインの作成についてUnity ネイティブプラグインの作成について
Unity ネイティブプラグインの作成についてTatsuhiko Yamamura
 
シェーダーグラフで作るヒットエフェクト
シェーダーグラフで作るヒットエフェクトシェーダーグラフで作るヒットエフェクト
シェーダーグラフで作るヒットエフェクトr_ngtm
 
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説Unity Technologies Japan K.K.
 
IL2CPPに関する軽い話
IL2CPPに関する軽い話IL2CPPに関する軽い話
IL2CPPに関する軽い話Wooram Yang
 
PlayStation®4向けARPGのUnity開発事例 最適化と効率化の秘密
PlayStation®4向けARPGのUnity開発事例 最適化と効率化の秘密PlayStation®4向けARPGのUnity開発事例 最適化と効率化の秘密
PlayStation®4向けARPGのUnity開発事例 最適化と効率化の秘密Gemdrops Inc.
 
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについてSEGADevTech
 
UnrealBuildTool勉強会まとめ
UnrealBuildTool勉強会まとめUnrealBuildTool勉強会まとめ
UnrealBuildTool勉強会まとめShun Sasaki
 
Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_ltDoozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lttorisoup
 
【Unity道場】新しいPrefabワークフロー入門
【Unity道場】新しいPrefabワークフロー入門【Unity道場】新しいPrefabワークフロー入門
【Unity道場】新しいPrefabワークフロー入門Unity Technologies Japan K.K.
 
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しようUnity Technologies Japan K.K.
 

Mais procurados (20)

UniTask入門
UniTask入門UniTask入門
UniTask入門
 
はじめてのUniRx
はじめてのUniRxはじめてのUniRx
はじめてのUniRx
 
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
 
脱UniRx&Croutineから始めるUniTask
脱UniRx&Croutineから始めるUniTask脱UniRx&Croutineから始めるUniTask
脱UniRx&Croutineから始めるUniTask
 
【Unity道場 2月】シェーダを書けるプログラマになろう
【Unity道場 2月】シェーダを書けるプログラマになろう【Unity道場 2月】シェーダを書けるプログラマになろう
【Unity道場 2月】シェーダを書けるプログラマになろう
 
Unity ネイティブプラグインの作成について
Unity ネイティブプラグインの作成についてUnity ネイティブプラグインの作成について
Unity ネイティブプラグインの作成について
 
シェーダーグラフで作るヒットエフェクト
シェーダーグラフで作るヒットエフェクトシェーダーグラフで作るヒットエフェクト
シェーダーグラフで作るヒットエフェクト
 
Riderはいいぞ!
Riderはいいぞ!Riderはいいぞ!
Riderはいいぞ!
 
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
 
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演)  #UE4DDUE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演)  #UE4DD
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
 
IL2CPPに関する軽い話
IL2CPPに関する軽い話IL2CPPに関する軽い話
IL2CPPに関する軽い話
 
PlayStation®4向けARPGのUnity開発事例 最適化と効率化の秘密
PlayStation®4向けARPGのUnity開発事例 最適化と効率化の秘密PlayStation®4向けARPGのUnity開発事例 最適化と効率化の秘密
PlayStation®4向けARPGのUnity開発事例 最適化と効率化の秘密
 
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
 
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
 
UnrealBuildTool勉強会まとめ
UnrealBuildTool勉強会まとめUnrealBuildTool勉強会まとめ
UnrealBuildTool勉強会まとめ
 
Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_ltDoozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lt
 
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started-  (historia様ご講演) #UE4DDUE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started-  (historia様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
 
【Unity道場】新しいPrefabワークフロー入門
【Unity道場】新しいPrefabワークフロー入門【Unity道場】新しいPrefabワークフロー入門
【Unity道場】新しいPrefabワークフロー入門
 
UE4とUnrealC++について
UE4とUnrealC++についてUE4とUnrealC++について
UE4とUnrealC++について
 
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
 

Semelhante a 【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~C# JobSystem 編~

Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例Yoshifumi Kawai
 
Replace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPReplace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPAkira Takahashi
 
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
Let's build a simple app with  .net 6 asp.net core web api, react, and elasti...Let's build a simple app with  .net 6 asp.net core web api, react, and elasti...
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...Shotaro Suzuki
 
UniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for UnityUniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for UnityYoshifumi Kawai
 
Unityで本格戦国シュミレーションRPG 開発
Unityで本格戦国シュミレーションRPG 開発Unityで本格戦国シュミレーションRPG 開発
Unityで本格戦国シュミレーションRPG 開発dena_study
 
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...Yoshifumi Kawai
 
Web Workers
Web WorkersWeb Workers
Web Workerskaboccha
 
C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~
C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~
C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~Fujio Kojima
 
Roslyn による Visual Studio のアドイン
Roslyn による Visual Studio のアドインRoslyn による Visual Studio のアドイン
Roslyn による Visual Studio のアドインFujio Kojima
 
20091030cakephphandson 01
20091030cakephphandson 0120091030cakephphandson 01
20091030cakephphandson 01Yusuke Ando
 
C#勉強会 ~ C#9の新機能 ~
C#勉強会 ~ C#9の新機能 ~C#勉強会 ~ C#9の新機能 ~
C#勉強会 ~ C#9の新機能 ~Fujio Kojima
 
JobScheduler Code Reading
JobScheduler Code ReadingJobScheduler Code Reading
JobScheduler Code ReadingShinobu Okano
 
.NETラボ 勉強会 2021年1月 「C#で機械学習」
.NETラボ 勉強会 2021年1月 「C#で機械学習」.NETラボ 勉強会 2021年1月 「C#で機械学習」
.NETラボ 勉強会 2021年1月 「C#で機械学習」Fujio Kojima
 
Boost.Coroutine
Boost.CoroutineBoost.Coroutine
Boost.Coroutinemelpon
 
API Gateway + LambdaでLINE通知サービス構築
API Gateway + LambdaでLINE通知サービス構築API Gateway + LambdaでLINE通知サービス構築
API Gateway + LambdaでLINE通知サービス構築Ken'ichirou Kimura
 
HoloLensハンズオン:AirTap & SpatialMapping編
HoloLensハンズオン:AirTap & SpatialMapping編HoloLensハンズオン:AirTap & SpatialMapping編
HoloLensハンズオン:AirTap & SpatialMapping編Takashi Yoshinaga
 

Semelhante a 【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~C# JobSystem 編~ (20)

Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
 
Replace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPReplace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JP
 
Try Webworkers
Try WebworkersTry Webworkers
Try Webworkers
 
emc++ chapter32
emc++ chapter32emc++ chapter32
emc++ chapter32
 
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
Let's build a simple app with  .net 6 asp.net core web api, react, and elasti...Let's build a simple app with  .net 6 asp.net core web api, react, and elasti...
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
 
UniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for UnityUniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for Unity
 
T93 com入門
T93 com入門T93 com入門
T93 com入門
 
Unityで本格戦国シュミレーションRPG 開発
Unityで本格戦国シュミレーションRPG 開発Unityで本格戦国シュミレーションRPG 開発
Unityで本格戦国シュミレーションRPG 開発
 
Dotnetconf2017
Dotnetconf2017Dotnetconf2017
Dotnetconf2017
 
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
 
Web Workers
Web WorkersWeb Workers
Web Workers
 
C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~
C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~
C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~
 
Roslyn による Visual Studio のアドイン
Roslyn による Visual Studio のアドインRoslyn による Visual Studio のアドイン
Roslyn による Visual Studio のアドイン
 
20091030cakephphandson 01
20091030cakephphandson 0120091030cakephphandson 01
20091030cakephphandson 01
 
C#勉強会 ~ C#9の新機能 ~
C#勉強会 ~ C#9の新機能 ~C#勉強会 ~ C#9の新機能 ~
C#勉強会 ~ C#9の新機能 ~
 
JobScheduler Code Reading
JobScheduler Code ReadingJobScheduler Code Reading
JobScheduler Code Reading
 
.NETラボ 勉強会 2021年1月 「C#で機械学習」
.NETラボ 勉強会 2021年1月 「C#で機械学習」.NETラボ 勉強会 2021年1月 「C#で機械学習」
.NETラボ 勉強会 2021年1月 「C#で機械学習」
 
Boost.Coroutine
Boost.CoroutineBoost.Coroutine
Boost.Coroutine
 
API Gateway + LambdaでLINE通知サービス構築
API Gateway + LambdaでLINE通知サービス構築API Gateway + LambdaでLINE通知サービス構築
API Gateway + LambdaでLINE通知サービス構築
 
HoloLensハンズオン:AirTap & SpatialMapping編
HoloLensハンズオン:AirTap & SpatialMapping編HoloLensハンズオン:AirTap & SpatialMapping編
HoloLensハンズオン:AirTap & SpatialMapping編
 

Mais de Unity Technologies Japan K.K.

建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】Unity Technologies Japan K.K.
 
UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!Unity Technologies Japan K.K.
 
Unityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクションUnityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクションUnity Technologies Japan K.K.
 
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしようビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしようUnity Technologies Japan K.K.
 
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーションビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - UnityステーションUnity Technologies Japan K.K.
 
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそうビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそうUnity Technologies Japan K.K.
 
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!Unity Technologies Japan K.K.
 
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】Unity Technologies Japan K.K.
 
Unity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しようUnity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しようUnity Technologies Japan K.K.
 
「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発Unity Technologies Japan K.K.
 
FANTASIANの明日使えない特殊テクニック教えます
FANTASIANの明日使えない特殊テクニック教えますFANTASIANの明日使えない特殊テクニック教えます
FANTASIANの明日使えない特殊テクニック教えますUnity Technologies Japan K.K.
 
インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021Unity Technologies Japan K.K.
 
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】Unity Technologies Japan K.K.
 
Burstを使ってSHA-256のハッシュ計算を高速に行う話
Burstを使ってSHA-256のハッシュ計算を高速に行う話Burstを使ってSHA-256のハッシュ計算を高速に行う話
Burstを使ってSHA-256のハッシュ計算を高速に行う話Unity Technologies Japan K.K.
 
Cinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作るCinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作るUnity Technologies Japan K.K.
 
Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-Unity Technologies Japan K.K.
 
Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unityティーチャートレーニングデイ -認定3Dアーティスト編-Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unityティーチャートレーニングデイ -認定3Dアーティスト編-Unity Technologies Japan K.K.
 
Unityティーチャートレーニングデイ -認定アソシエイト編-
Unityティーチャートレーニングデイ -認定アソシエイト編-Unityティーチャートレーニングデイ -認定アソシエイト編-
Unityティーチャートレーニングデイ -認定アソシエイト編-Unity Technologies Japan K.K.
 

Mais de Unity Technologies Japan K.K. (20)

建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
 
UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!
 
Unityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクションUnityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクション
 
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしようビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
 
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーションビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
 
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそうビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
 
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
 
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
 
Unity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しようUnity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しよう
 
「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発
 
FANTASIANの明日使えない特殊テクニック教えます
FANTASIANの明日使えない特殊テクニック教えますFANTASIANの明日使えない特殊テクニック教えます
FANTASIANの明日使えない特殊テクニック教えます
 
インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021
 
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
 
Burstを使ってSHA-256のハッシュ計算を高速に行う話
Burstを使ってSHA-256のハッシュ計算を高速に行う話Burstを使ってSHA-256のハッシュ計算を高速に行う話
Burstを使ってSHA-256のハッシュ計算を高速に行う話
 
Cinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作るCinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作る
 
徹底解説 Unity Reflect【開発編 ver2.0】
徹底解説 Unity Reflect【開発編 ver2.0】徹底解説 Unity Reflect【開発編 ver2.0】
徹底解説 Unity Reflect【開発編 ver2.0】
 
徹底解説 Unity Reflect【概要編 ver2.0】
徹底解説 Unity Reflect【概要編 ver2.0】徹底解説 Unity Reflect【概要編 ver2.0】
徹底解説 Unity Reflect【概要編 ver2.0】
 
Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-
 
Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unityティーチャートレーニングデイ -認定3Dアーティスト編-Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unityティーチャートレーニングデイ -認定3Dアーティスト編-
 
Unityティーチャートレーニングデイ -認定アソシエイト編-
Unityティーチャートレーニングデイ -認定アソシエイト編-Unityティーチャートレーニングデイ -認定アソシエイト編-
Unityティーチャートレーニングデイ -認定アソシエイト編-
 

Último

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Último (9)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~C# JobSystem 編~