Iphone 在移动设备上相当定期地从XML文档中获取数据,这对性能合适吗?
我正在玩的一个游戏有几个XML文件用来管理精灵动画。目前,当我创建精灵实例时,我会将其加载到XDocument中一次,并将其保存在缓存中,这样,如果我需要再次加载,我就可以获取内存中已准备好的内容 我经常在游戏中这样做,因为我创建了动画精灵等等,通过它的定义如下:Iphone 在移动设备上相当定期地从XML文档中获取数据,这对性能合适吗?,iphone,android,windows-phone-7,xamarin.ios,linq-to-xml,Iphone,Android,Windows Phone 7,Xamarin.ios,Linq To Xml,我正在玩的一个游戏有几个XML文件用来管理精灵动画。目前,当我创建精灵实例时,我会将其加载到XDocument中一次,并将其保存在缓存中,这样,如果我需要再次加载,我就可以获取内存中已准备好的内容 我经常在游戏中这样做,因为我创建了动画精灵等等,通过它的定义如下: var definitions = doc.Document.Descendants(name); foreach (var animationDefinition in definitions) 所以我的问题是,这在手机上可以接受
var definitions = doc.Document.Descendants(name);
foreach (var animationDefinition in definitions)
所以我的问题是,这在手机上可以接受吗?比如说iPhone3GS/iPhone4/WindowsPhone7/Android?我在Android和iPhone中使用MonoTouch,而WP7有自己的.Net运行
我问的原因是,目前我没有加载那么多的动画精灵,但随着我加载的越来越多,我担心它会开始影响性能。我想,现在改变我的设计想法可能比等到以后再受苦更好
感谢您的帮助!我只想测试一下什么更快(使用SAXParser再次读取或使用DOM将其存储在内存中)
也许将从XML文件读取的数据保存在数组/向量/类中也是有意义的,这样您就不需要反复解析XML文件了。实际上,您想问的是有多少是“太多了”。我建议您找一个“实用的”“考虑到性能的限制,您只需要递归地增加精灵的数量,并注意应用程序何时减慢。将安全系数保持在1.5到3之间。你知道的。再次,你需要考虑你有多少精灵开始。如果所有这些都可以保存在内存中,那么就按照所有其他规范去做吧。客户不会介意稍长一点的游戏加载时间,只要里面平滑。否则就测试一下。你能试着加载更多的动画精灵,看看会发生什么吗?