XNA: Jak działa wątkowanie?

9

Chciałbym wdrożyć wątki w mojej grze XNA, ale nie jestem pewien, jak działają rzeczy podczas kompilacji dla XBOX 360. Czy ktoś mógłby to rozwinąć?

Na przykład, ile wątków obsługuje XBOX? Zdaję sobie sprawę, że XNA używa specjalnej wersji Compact Framework. Jak wpływa to na kod podczas programowania? Czy implementuję coś inaczej podczas programowania dla XBOX niż Windows?

Dziękuję Ci.

pek
źródło

Odpowiedzi:

13

Zasadniczo xbox 360 ma 6 wątków sprzętowych rozmieszczonych na 3 rdzeniach. Dwa z nich są zarezerwowane dla frameworka xna i ogólnego zastosowania systemu. Wątek działa tak samo jak w frameworku .net w systemie Windows, z wyjątkiem dodatkowych metod, SetProcessorAffinity . W przeciwieństwie do systemu Windows, xbox nie wykonuje żadnego fantazyjnego planowania wątku, więc musisz powiedzieć mu, na jakim wątku sprzętowym uruchomić ten wątek.

Istnieje kilka dobrych pul wątków obsługujących xbox, zajrzyj na google, jeśli potrzebujesz przykładowego kodu, ale jeśli jesteś pewny, że wątkujesz w oknach, ta strona msdn powinna dać ci wszystko, czego potrzebujesz.

Cubed2D
źródło
3
Dokładnie. Aby uzupełnić obraz, wątki są dystrybuowane w następujący sposób: RHRHCH. R = Zarezerwowane dla XNA. H = rdzeń „hyperthreaded”. C = Fizyczny rdzeń
Jonathan Dickinson
Nie nazwałbym dwóch wątków sprzętowych na rdzeń „fizycznym” w porównaniu do „hiperwątkowości”, ponieważ technologia różni się od implementacji Intela: arstechnica.com/old/content/2005/06/xbox360-2.ars
Oskar Duveborn