답변:
Intel 의 Do n't Dread Threads 시리즈는 꽤 좋습니다. 그것은 3 부분으로 구성되어 있으며 기본은 처음 1.5에서 다룹니다.
처음 1.5에서 다룬 내용 요약 :
우선, 기능적 분해를 사용하지 않는 것이 좋습니다. 기능 분해는 단지 "한 스레드에 AI를 넣고 다른 스레드에 오디오를 넣고 그래픽을 세 번째 스레드에 넣는 것"입니다.
이런 종류의 모습은
그래서 나쁜 ™입니다. 대신 데이터 분해 를 사용하려고합니다 .
데이터 분해는 게임의 모든 것을 작은 달성 가능한 작업으로 자르는 것을 의미 합니다. 4 개의 스레드 x 개를 생성 한 다음이 4 개의 스레드 각각에 대해 작업 더미에서 작업을 계속 수행하고 완료 될 때까지 작업합니다.
많은 사람들이 피자를 먹는 것과 같습니다. 피자가 완성 될 때까지 모두가 조각을 가져갑니다.
물론 지금 배가 고파요.
멀티 스레드 엔진 접근 방식에 대한 간략한 개요. 구조에 가마 수트라.
나는 당신이 작업 또는 작업 기반 접근법을 조사해야한다고 생각합니다.
Game Engine Gems에는 주제에 관한 기사가 2 개 또는 3 개 있습니다.
다른 회의 등에서 주제에 대해 몇 가지 발표가있었습니다.
예를 들어 Johan Andersson의 "게임 엔진의 병렬 선물"
또한 무료 섹션의 GDC Vault에서 주제에 대한 다양한 프레젠테이션과 전체 비디오가 있습니다. http://www.gdcvault.com/
추신. 새로운 사용자로 인해 더 이상 직접 링크를 게시 할 수 없습니다. ds.
Game Engine Architecture 책 에는 멀티 스레딩을 지원하는 게임 엔진을 디자인하는 방법에 대한 정보도 있습니다.