Unity Job System - ParallelFor Job

이장근·2023년 4월 16일
0

Unity DOTS

목록 보기
3/6
post-thumbnail

ParallelFor Job

Job은 본디 하나의 작업만 수행 할 수 있습니다. 그러나 ParallelFor Job은 수많은 오브젝트에 동일한 작업을 할 수 있도록 별도의 기능이 제공됩니다.

[ ParallelFor Job 정의 예시: Unity Document ]

    struct IncrementByDeltaTimeJob: IJobParallelFor
    {
          public NativeArray<float> values;
          public float deltaTime;

          public void Execute (int index)
          {
                float temp = values[index];
                temp += deltaTime;
                values[index] = temp;
           }
    }

[ParallelFor Job 특징]

• NativeArray를 사용하여 데이터 소스로 동작합니다.
• ParallelFor Job은 여러 개의 코어에서 동작합니다. 코어당 하나의 잡을 가지며, 각각 일정량의 작업을 처리합니다.
• 데이터 소스 항목당 하나의 Execute 메서드를 호출하며, Execute 메서드엔 정수 파라미터가 있습니다

ParallelFor Job 예약

ParallelFor Job을 예약할 때 작업을 Batch로 나누어 코어 간에 배포합니다. 각 Batch에는 Execute 메서드의 하위 집합이 포함됩니다.

profile
Red Queen's Paradox

0개의 댓글