好吧,其实真正最高效的xml使用方式是不使用xml,使用json或者是ini或者是自定义格式都要比xml快很多。
如果使用xml格式的话,可以考虑对xml进行二进制压缩,即把xml当做内存数据直接读到结构体里面。(参考ogre cocosbuilder的实现)不过这样就需要xml与程序严格匹配。
原始xml解析库的话,rapidxml是最快的。 我测试了cocs2d-x使用的libxml2(SAX模型)和rapidxml(DOM模型),rapidxml依然以压倒性的优势取胜。
读取并遍历一个400k的xml文件,libxml2用了500ms,rapidxml用了150ms。
联系客服