멀티 스레드 게임 또는 게임 엔진 설계 및 개발에 가장 적합한 리소스는 무엇입니까?


44

멀티 스레드 게임 또는 게임 엔진 설계 및 개발에 가장 적합한 리소스는 무엇입니까? 이것은 분명히 컴퓨터가 향하는 곳 이므로이 주제를 연구하려고하며 어떤 리소스와 예제가 있는지 알고 싶습니다.


나는 우리가 자원을 요구하는 질문을 지원하지 않기 때문에이 질문을 주 제외로 닫는 것에 투표하고 있습니다.
Gnemlock

@ Gnemlock 당신이 시간에 그것을 잡았다 다행. 여기서는 주제가 아닌 다른 질문을 원하지 않습니다.
Ricket

답변:



24

Intel 의 Do n't Dread Threads 시리즈는 꽤 좋습니다. 그것은 3 부분으로 구성되어 있으며 기본은 처음 1.5에서 다룹니다.

처음 1.5에서 다룬 내용 요약 :

기능적 분해 방지

여기에 이미지 설명을 입력하십시오

우선, 기능적 분해를 사용하지 않는 것이 좋습니다. 기능 분해는 단지 "한 스레드에 AI를 넣고 다른 스레드에 오디오를 넣고 그래픽을 세 번째 스레드에 넣는 것"입니다.

이런 종류의 모습은

여기에 이미지 설명을 입력하십시오

그래서 나쁜 ™입니다. 대신 데이터 분해 를 사용하려고합니다 .

데이터 분해 사용

데이터 분해는 게임의 모든 것을 작은 달성 가능한 작업으로 자르는 것을 의미 합니다. 4 개의 스레드 x 개를 생성 한 다음이 4 개의 스레드 각각에 대해 작업 더미에서 작업을 계속 수행하고 완료 될 때까지 작업합니다.

여기에 이미지 설명을 입력하십시오

많은 사람들이 피자를 먹는 것과 같습니다. 피자가 완성 될 때까지 모두가 조각을 가져갑니다.

여기에 이미지 설명을 입력하십시오

물론 지금 배가 고파요.



5

다음 은 작업 관리에 대한 실제 예 를 제공하는 블로그 게시물입니다 . 병렬 엔진 설계에 대한 지식이 있다고 가정하지만 여전히 '고급 읽기'로 유용 할 수 있습니다.


1

나는 당신이 작업 또는 작업 기반 접근법을 조사해야한다고 생각합니다.

Game Engine Gems에는 주제에 관한 기사가 2 개 또는 3 개 있습니다.

다른 회의 등에서 주제에 대해 몇 가지 발표가있었습니다.

예를 들어 Johan Andersson의 "게임 엔진의 병렬 선물"

또한 무료 섹션의 GDC Vault에서 주제에 대한 다양한 프레젠테이션과 전체 비디오가 있습니다. http://www.gdcvault.com/

추신. 새로운 사용자로 인해 더 이상 직접 링크를 게시 할 수 없습니다. ds.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.