Jakie są najlepsze zasoby na temat projektowania i rozwoju wielowątkowej gry lub silnika gry?

44

Jakie są najlepsze zasoby na temat projektowania i rozwoju wielowątkowej gry lub silnika gry? Ponieważ w tym kierunku zmierzają komputery, zamierzam przestudiować ten temat i chciałbym wiedzieć, jakie zasoby i przykłady są dostępne.

Ricket
źródło
Głosuję za zamknięciem tego pytania jako nie na temat, ponieważ nie obsługujemy pytań o zasoby.
Gnemlock,
@Gnemlock Cieszę się, że złapałeś go na czas. Nie chciałbym, aby tutaj pozostało pytanie nie na temat.
Ricket

Odpowiedzi:

24

Seria „ Don't Dread Threads ” Intela jest całkiem dobra. Składa się z 3 części, podstawy omówiono w pierwszej 1,5 z nich.

Podsumowanie tego, co zostało omówione w pierwszej wersji 1.5:

Unikaj rozkładu funkcjonalnego

wprowadź opis zdjęcia tutaj

Przede wszystkim zniechęcają do rozkładu funkcjonalnego. Rozkład funkcjonalny to po prostu „umieść AI w jednym wątku, umieść dźwięk w innym wątku, umieść grafikę w 3 wątku”

Tak to wygląda

wprowadź opis zdjęcia tutaj

Więc to źle ™. Zamiast tego chcesz użyć dekompozycji danych .

Użyj dekompozycji danych

Dekompozycja danych oznacza, że ​​dzielisz wszystkie elementy gry na małe, możliwe do wykonania zadania. Odradzasz x wątków, powiedzmy 4, a następnie dla każdego z tych 4 wątków nieustannie chwytają zadanie ze stosu zadań i pracują nad nim, aż skończą.

wprowadź opis zdjęcia tutaj

To trochę jak grupa ludzi jedzących pizzę. Każdy bierze kawałek, aż pizza się skończy.

wprowadź opis zdjęcia tutaj

Oczywiście teraz jestem głodna.

Bobobobo
źródło
5

Oto post na blogu, który stanowi praktyczny przykład zarządzania zadaniami . Zakłada pewną wiedzę na temat projektowania silnika równoległego z twojej strony, ale nadal może być przydatna jako „zaawansowane czytanie”.

Koarl
źródło
1

Myślę, że powinieneś przyjrzeć się podejściu opartemu na zadaniu lub pracy.

Game Engine Gems zawiera 2 lub 3 artykuły na ten temat.

Odbyło się kilka prezentacji na ten temat na różnych konferencjach itp.

Na przykład „Parallel Futures of a Game Engine” Johana Anderssona

Spójrz także na GDC Vault. W sekcji wolnej znajduje się wiele prezentacji i pełnych filmów na ten temat. http://www.gdcvault.com/

ps. Nie można opublikować żadnych bezpośrednich linków z powodu bycia nowym użytkownikiem. ds.

Andreas
źródło
0

Książka Game Engine Architecture zawiera także informacje na temat projektowania silnika gry z obsługą wielu wątków.

Quonux
źródło