[UE5] 언리얼의 Multi-threading

·
게임개발/Unreal Engine
게임 개발을 하다보면 성능 최적화는 피할 수 없는 문제다.대부분의 작업이 메인 스레드에서 돌아갈 때, 이를 여러 쓰레드에 병렬로 부담을 분산시키면 많은 최적화를 이뤄낼 수 있다.게임 개발에서 중요한 언리얼 엔진 5의 멀티스레딩 시스템에 대해 정리해보려 한다. 1. Multi-threading이란? 멀티스레딩은 프로세스 내에서 여러 실행 흐름을 만들어 CPU 자원을 최대한 활용하는 기술이다.메인 스레드(Game Thread)의 부하를 분산해서 여러 코어에서 동시에 연산을 수행한다.물리적으로 여러 코어에서 동시에 작업을 처리할 수 있다하지만 스레드 생성과 컨텍스트 스위칭에도 비용이 든다작업 단위가 너무 작으면 오히려 단일 스레드보다 느려질 수 있다 2. 동기화 프리미티브멀티스레드 환경에서 여러 스레드가 같은..