XNA: Bagaimana cara kerja threading?

9

Saya ingin menerapkan threading di game XNA saya, tetapi saya tidak yakin bagaimana cara kerjanya ketika mengkompilasi untuk XBOX 360. Bisakah seseorang menjelaskan hal ini?

Misalnya, berapa banyak utas yang didukung XBOX? Saya menyadari bahwa XNA menggunakan versi khusus dari Compact Framework. Bagaimana ini mempengaruhi kode selama pengembangan? Apakah saya menerapkan berbagai hal secara berbeda ketika mengembangkan untuk XBOX dari Windows?

Terima kasih.

pek
sumber

Jawaban:

13

Pada dasarnya, xbox 360 memiliki 6 utas perangkat keras, tersebar di 3 inti. Dua di antaranya dicadangkan untuk kerangka kerja xna dan penggunaan sistem umum. Threading berfungsi sama seperti pada framework .net di windows, kecuali Anda mendapatkan metode tambahan, SetProcessorAffinity . Tidak seperti windows, xbox dosnt melakukan penjadwalan utas keren untuk Anda, jadi Anda harus memberi tahu itu utas peranti penangkap keras untuk menjalankan utas Anda.

Ada beberapa kumpulan thread xbox aware yang bagus di luar sana, lihat di google jika Anda memerlukan beberapa kode contoh, tetapi jika Anda yakin dengan threading di windows, halaman msdn akan memberikan semua yang Anda butuhkan.

Cubed2D
sumber
3
Persis. Untuk melengkapi gambar, utas didistribusikan sebagai berikut: RHRHCH. R = Dicadangkan untuk XNA. Inti H = 'Hyperthreaded'. C = Inti fisik
Jonathan Dickinson
Saya tidak akan menyebut dua utas perangkat keras per inti "fisik" versus "hyperthreaded" karena perbedaan teknologi dari implementasi Intel: arstechnica.com/old/content/2005/06/xbox360-2.ars
Oskar Duveborn