NavData 생성 시스템은 넓은 지세에서도 프로덕션 워크플로우나 파이프라인에 생성 횟수로 인해 문제가 발생하지 않을 만큼 빠르게 작동하도록 설계되었습니다. 하지만 항상 더 빠르게 작동할 수 있습니다. 이 때문에 시스템은 다중 프로세서에서 생성 프로세스의 일부를 평행으로 실행할 수 있는 기능을 제공합니다.
Gameware Navigation은 Intel의 오픈 소스 TBB(Threaded Building Blocks) 라이브러리를 사용하여 호스트 시스템의 다중 코어에서 PathData를 생성할 수 있는 기능을 기본적으로 제공합니다. NavData 생성 시스템의 API를 사용자 고유의 도구에 통합하면 다양한 타사 유틸리티를 사용하도록 프레임워크를 확장하여 평행 계산을 관리할 수 있습니다.
원칙적으로 다중 코어를 통해 생성 프로세스를 분할하면 사용 가능한 코어 수에 정비례하게 생성 시간을 줄일 수 있습니다. 실제로는 NavData 생성 시 병렬화되지 않은 사전 처리 및 사후 처리 단계로 인해 시간이 다소 더 걸립니다. 어느 경우든지, 특히 넓은 지세에서 평행 계산을 사용할 때 속도 면에서 크게 향상된다는 것을 알 수 있습니다.
다중 프로세서 사용과 관련된 단계 및 고려 사항은 NavData 생성 시스템의 Navigation Lab 또는 API를 사용하는지 여부에 따라 약간 다릅니다.
다중 프로세서 생성은 Navigation Lab에서 기본적으로 활성화되어 있습니다.
Navigation Lab의 다중 프로세서에서 NavData의 생성을 활성화하거나 비활성화하려면
Navigation Lab은 내부적으로 TBB를 사용하여 컴퓨터에서 사용 가능한 모든 프로세서에 걸쳐 NavData 생성 작업을 배포합니다.
다중 코어 지원은 독립 실행형 도구의 릴리스 빌드에서만 사용할 수 있습니다. TBB 디버그 빌드는 매우 느리게 실행되므로 독립 실행형 도구의 디버그 빌드는 TBB를 사용하지 않고 항상 단일 프로세서에서 순서대로 NavData를 생성합니다.
통합 단계 6: NavData 생성 API 사용에서 지정한 NavData 생성 시스템의 API를 통합하는 지침을 수행한 경우 이미 TbbParallelForInterface 클래스를 통해 TBB를 사용하도록 설정한 것입니다.
사용자 정의 유틸리티를 사용하여 평행 계산을 관리하려면
자세한 내용은 IParallelForInterface 클래스 설명을 참조하십시오. 또한 TbbParallelForInterface 구현을 위한 전체 소스 코드가 제공되므로 이 구현을 자체 클래스의 모델로 사용할 수 있습니다.