2011-05-01 37 views
0

一個遊戲,我的「M工作有它用來管理精靈動畫的幾個XML文件。目前,當我創建一個精靈的一個實例我了其裝載到一個XDocument一次,並保持它在緩存中,這樣,如果我需要加載再次我只是抓住什麼是內存arlready在移動設備上定期從XML文檔中獲取數據,性能可以嗎?

我這樣做往往在遊戲中,我創建動畫精靈和這樣的,通過它的定義會像這樣:

var definitions = doc.Document.Descendants(name); 
foreach (var animationDefinition in definitions) 

所以我的問題是,是在手機上的資源?說iPhone 3GS/iPhone 4 /的Windows Phone 7/Android的?我使用MonoTouch的在Android和iPhone,而WP7有自己的.Net運行。

我之所以問的是我目前不加載,很多動畫精靈了,但我做的越來越多,我很擔心它會開始損害性能。我認爲現在改變我的設計理念可能是最好的,而不是等待晚些時候受到影響。

感謝您的幫助!

+0

你可以嘗試加載更多的動畫精靈,看看會發生什麼? http://c2.com/cgi/wiki?PrematureOptimization – 2011-05-01 10:33:29

回答

1

我會簡單地測試了什麼是快(再次閱讀它的再使用的SAXParser或使用DOM其存儲在存儲器)。

也許這也是情理之中的從你的XML的文件讀取的數據保存在類似的陣列/矢量/類,所以你並不需要一遍又一遍解析XML文件。

1

那麼基本上你試圖問什麼是有多少是「太多」。我會建議找到考慮性能的「實際」限制,您只需遞歸增加精靈數量並注意應用程序減速的時間。保持1.5到3的安全係數。在那裏你知道。再一次,你需要考慮你開始的時候有多少個精靈。如果所有其他規格都可以保存在內存中,那就去做吧。只要遊戲內部平滑,客戶不會介意稍長的遊戲加載時間。否則只是測試東西了。

相關問題