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.
44
Odpowiedzi:
Niektóre zasoby wywiadowcze.
http://software.intel.com/en-us/articles/designing-the-framework-of-a-parallel-game-engine/
http://software.intel.com/en-us/videos/dont-dread-threads-part-1/
źródło
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
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
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ą.
To trochę jak grupa ludzi jedzących pizzę. Każdy bierze kawałek, aż pizza się skończy.
Oczywiście teraz jestem głodna.
źródło
Krótki przegląd podejść do silnika wielowątkowego. Gamasutra na ratunek.
źródło
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”.
źródło
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.
źródło
Książka Game Engine Architecture zawiera także informacje na temat projektowania silnika gry z obsługą wielu wątków.
źródło