XNA: come funziona il threading?


9

Vorrei implementare il threading nel mio gioco XNA ma non sono sicuro di come funzionano le cose durante la compilazione per XBOX 360. Qualcuno potrebbe approfondire questo?

Ad esempio, quanti thread supporta XBOX? Mi rendo conto che XNA utilizza una versione speciale di Compact Framework. In che modo ciò influisce sul codice durante lo sviluppo? Devo implementare le cose in modo diverso quando sviluppo per XBOX rispetto a Windows?

Grazie.

Risposte:


13

Fondamentalmente, l'Xbox 360 ha 6 thread hardware, distribuiti su 3 core. Due di questi sono riservati al framework xna e all'uso generale del sistema. Il threading funziona allo stesso modo sul framework .net su Windows, tranne che per ottenere metodi aggiuntivi, SetProcessorAffinity . A differenza di Windows, l'xbox non fa alcuna pianificazione di thread di fantasia per te, quindi devi dirgli su quale thread hardware eseguire il tuo thread.

Ci sono alcuni buoni pool di thread consapevoli di xbox là fuori, dai un'occhiata a Google se hai bisogno di un codice di esempio, ma se sei sicuro del threading in Windows che la pagina msdn dovrebbe darti tutto ciò di cui hai bisogno.


3
Esattamente. Solo per completare l'immagine i thread sono distribuiti come segue: RHRHCH. R = Riservato a XNA. H = core "Hyperthreaded". C = nucleo fisico
Jonathan Dickinson,

Non definirei i due thread hardware per core "fisici" rispetto a "hyperthreaded" a causa del modo in cui la tecnologia differisce dall'implementazione Intel: arstechnica.com/old/content/2005/06/xbox360-2.ars
Oskar Duveborn
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.