所以我想將我的PC遊戲轉換到Xbox 360上運行。它在PC上運行得非常好,帶有Intel Core 2 Quad @ 2.40Ghz和Radeon 4850 512MB。我把它移植到Xbox上,並且馬上就出現了關於導入列表的不變性和繼承問題,所以我簡單地使用了名爲.Cast <>()的LINQ方法。PC XNA遊戲轉換爲Xbox 360 - 巨大的性能問題
如果該方法是需要一個大的開銷,讓我知道,因爲我不能部署在360由於某種原因性能分析,很可能是因爲它起着對360
然後另一個問題來了,它是一個不錯的System.OutOfMemoryException。我的天空盒紋理是4096x4096,所以減少一半就消除了這個錯誤。奇怪的是,他們只有3MB x 6,所以它不應該使用512MB的可用空間。
因此,當所有這些問題都被清除後,每2秒引入一個不錯的1幀。無論如何,它在遊戲1分鐘後會崩潰,即「代碼4」。
它就像一個簡報。以下是來自PC遊戲的一些性能分析圖像。他們並不壞。
CPU:http://i.imgur.com/JYx7Z.png RAM:http://i.imgur.com/C29KN.png 72%= 150MB介意你。
我希望這裏的任何人都有這方面的經驗。坦率地說,我是全部耳朵。
感謝大家,經過大量的搜索後,我發現了一個類似的答案,當我運行我的CLR配置文件時,我發現我每幀分配大約60MB ...並不好。這是因爲我將我遊戲中的所有可碰撞對象添加到列表中,然後將它們放入每幀碰撞線程中。我可以把它作爲一個靜態列表,在那裏它只是一個參考,我可能會這樣做,但後來我認爲碰撞滯後的可能性。但我想這是唯一的選擇。 – 2012-08-12 13:27:26