XNA: Làm thế nào để luồng hoạt động?


9

Tôi muốn triển khai luồng trong trò chơi XNA của mình nhưng tôi không chắc mọi thứ hoạt động như thế nào khi biên dịch cho XBOX 360. Ai đó có thể giải thích về điều này không?

Ví dụ, XBOX hỗ trợ bao nhiêu chủ đề? Tôi nhận ra rằng XNA sử dụng một phiên bản đặc biệt của Compact Framework. Làm thế nào điều này ảnh hưởng đến mã trong quá trình phát triển? Tôi có triển khai mọi thứ khác nhau khi phát triển cho XBOX so với Windows không?

Cảm ơn bạn.

Câu trả lời:


13

Về cơ bản, xbox 360 có 6 luồng phần cứng, trải đều trên 3 lõi. Hai trong số này được dành riêng cho khung xna và sử dụng hệ thống chung. Việc phân luồng hoạt động tương tự như trên khung .net trên windows, ngoại trừ bạn có thêm một phương thức, SetProcessorAffinity . Không giống như windows, xbox dosnt thực hiện bất kỳ lịch trình luồng ưa thích nào cho bạn, vì vậy bạn phải cho nó biết luồng phần cứng nào để chạy luồng của bạn.

Có một số nhóm chủ đề nhận biết xbox tốt ngoài kia, hãy xem trên google nếu bạn cần một số mã ví dụ, nhưng nếu bạn tự tin với việc xâu chuỗi trong các cửa sổ thì trang msDN sẽ cung cấp cho bạn tất cả những gì bạn cần.


3
Chính xác. Chỉ cần hoàn thành bức tranh, các chủ đề được phân phối như sau: RHRHCH. R = Dành riêng cho XNA. Lõi 'siêu phân luồng'. C = Lõi vật lý
Jonathan Dickinson

Tôi sẽ không gọi hai luồng phần cứng trên mỗi lõi là "vật lý" so với "siêu phân luồng" do cách công nghệ khác với triển khai của Intel: arstechnica.com/old/content/2005/06/xbox360-2.ars
Oskar Duveborn
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.