XNA:线程如何工作?


9

我想在我的XNA游戏中实现线程处理,但是不确定XBOX 360编译时的工作方式。有人可以详细说明吗?

例如,XBOX支持多少个线程?我意识到XNA使用了Compact Framework的特殊版本。这在开发过程中如何影响代码?在为XBOX开发时,与Windows实施的方式是否有所不同?

谢谢。

Answers:


13

基本上,xbox 360具有6个硬件线程,分布在3个内核上。其中两个保留给xna框架和一般系统使用。线程的工作方式与在Windows的.net框架上相同,不同之处在于您获得了额外的方法SetProcessorAffinity。与Windows不同,xbox dosnt可以为您执行任何高级线程调度,因此您必须告诉它在哪个硬件线程上运行线程。

有一些不错的xbox感知线程池,如果您需要一些示例代码,请在google上看看,但是如果您对Windows线程中的msdn页面应该可以满足您的需求充满信心。


3
究竟。只是为了完成图片,线程分配如下:RHRHCH。R =为XNA保留。H =“超线程”核心。C =物理核心
乔纳森·迪金森

由于技术与英特尔实施方式的不同,我不会将每个核心的两个硬件线程称为“物理”线程与“超线程”线程:arstechnica.com/old/content/2005/06/xbox360-2.ars
Oskar Duveborn
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.