前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >多文件压缩工具-RIA版

多文件压缩工具-RIA版

作者头像
meteoric
发布2018-11-16 18:01:57
5900
发布2018-11-16 18:01:57
举报
文章被收录于专栏:游戏杂谈游戏杂谈

做游戏开发,在进入游戏前需要先加载很多资源文件,以XML格式居多。一般我们的做法是将多个XML/txt文件打包压缩,之前使用的方法是先将资源文件使用winrar进行zip压缩,然后使用第三方的一个库nochump进行解压。但在实际游戏应用中,发现使用该库解压多个文件且单个文件较大时,占用的CPU一直居高不下,导致的一个现象就是玩家感觉这游戏好卡。

后来改进了一下,自己写了一个RIA工具,选择需要压缩的文件,然后逐个读取其文件流,获取其二进制流,将每一个文件的二进制流写进一个二进制流。然后记录下每一个文件它的偏移量和文件长度,最后压缩那一个二进制流(ByteArray类的compress方法),并保存为文件。

游戏先使用URLStream加载文件,获取二进制流,然后解压(ByteArray的compress方法),从最后开始往前读,获取二进制流内的文件信息(文件名称、偏移量、长度),根据文件的信息,就可以知道每一个文件的内容了。

经过测试和实际应用,此方法比zip压缩:

1、文件小了11~12KB;

2、解析文件所消耗的时间大大缩短,内网测试一个较大的压缩文件时,消耗时长从2.5s变成700ms;

3、CPU曲线波动较之以前已经好了很多,比较平稳;

因涉及实际游戏应用,源码和AIR文件未能提供,上面写的只是开发工具时的思路。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012-12-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档