XNA: Як працює різьба?


9

Я хотів би реалізувати потоки в моїй грі XNA, але я не впевнений, як все працює під час компіляції для XBOX 360. Невже хтось може детальніше розглянути це?

Наприклад, скільки потоків підтримує XBOX? Я розумію, що XNA використовує спеціальну версію Compact Framework. Як це впливає на код під час розробки? Чи я реалізую речі інакше, коли розробляюся для XBOX, ніж Windows?

Дякую.

Відповіді:


13

В основному, xbox 360 має 6 апаратних ниток, розподілених на 3 ядра. Дві з них зарезервовані для рамки xna та загального використання системи. Threading працює так само, як і в .net Framework для Windows, за винятком додаткових методів SetProcessorAffinity . На відміну від Windows, Xbox dosnt робить для вас будь-яке фантазійне планування потоків, тому вам доведеться сказати йому, на якому апаратному потоці слід запускати свій потік.

Існує кілька хороших пулів потоків для xbox, погляньте на Google, якщо вам потрібен якийсь приклад коду, але якщо ви впевнені в тому, що вводити в Windows, що на msdn-сторінці має бути все, що вам потрібно.


3
Саме так. Просто для завершення малюнка нитки розподіляються наступним чином: RHRHCH. R = зарезервовано для XNA. H = 'Гіпертокований' ядро. C = фізичне ядро
Джонатан Дікінсон

Я б не назвав два апаратних потоку на ядро «фізичний» проти «hyperthreaded» з - за того , яким чином технологія відрізняється від реалізації Intel: arstechnica.com/old/content/2005/06/xbox360-2.ars
Oskar Duveborn
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.