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.


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.




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.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.