[发明专利]减少bundle依赖链冗余的方法、装置及介质在审
申请号: | 202110033062.2 | 申请日: | 2021-01-11 |
公开(公告)号: | CN112732267A | 公开(公告)日: | 2021-04-30 |
发明(设计)人: | 潘亚楠;何雯青;张强;黎健钧;刘鼎三 | 申请(专利权)人: | 珠海金山网络游戏科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/71;A63F13/77 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 肖军 |
地址: | 519080 广东省珠海市高新区唐家湾镇前岛环路325号102室*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 减少 bundle 依赖 冗余 方法 装置 介质 | ||
本发明涉及一种减少bund le依赖链冗余的方法、装置及介质的技术方案,包括:系依赖生成,通过服务端对资源进行打bund le包时,遍历每个bund le包中资源信息,生成对应bund le包的关系依赖表;依赖链遍历,根据关系依赖表,对多个bund le包进行资源遍历,获取每个bund le包的资源依赖及资源所处的bund le包,生成资源对应的关系依赖及所依赖的bund le包列表,写入依赖文件;更新同步,当进行新的bund le包打包时,将依赖文件同步发送至客户端。本发明的有益效果为:减少内存占用,加载耗时,提高游戏运行效率;同时减少bund le依赖链的冗余。
技术领域
本发明涉及计算机领域,具体涉及了一种减少bundle依赖链冗余的方法、装置及介质。
背景技术
在Unity3D游戏中,AssetBundle系统的资源加载,通用做法是首先根据打包时记录的Asset2Bundle表找到Asset资源(A.prefab)在哪个bundle内,然后根据打包时系统自动生成的AssetBundleManifest(bundle依赖表)记录的bundle与bundle之前的依赖关系,找到该bundleID依赖了哪些bundle ID,并递归查找每个依赖bundle的依赖bundle列表,再将所有的bundle加载到内存中,才可以去加载Asset资源,才能正确加载Asset资源,但是AssetBundleManifest通常带有大量的bundle冗余,造成内存浪费,加载了很多不必要的bundle。
冗余的原因是,系统给的AssetBundleManifest中,记录的是单个bundle内所有文件的所有依赖bundle,而我们仅需要单个bundle的单个文件所依赖的所有bundle,去除掉其他的文件的依赖就可以减少bundle依赖链的冗余,现有技术的解决方案通过减少的相同的资源被重复打进不同的bundle内,以减少造成bundle内打的资源冗余。
发明内容
本发明的目的在于至少解决现有技术中存在的技术问题之一,提供了一种减少bundle依赖链冗余的方法、装置及介质,减少bundle依赖链的冗余,减少内存占用及加载耗时,提高游戏运行效率。
本发明的技术方案包括一种减少bundle依赖链冗余的方法,其特征在于,该方法包括:关系依赖生成,通过服务端对资源进行打bundle包时,遍历每个bundle包中资源信息,生成对应bundle包的关系依赖表;依赖链遍历,根据关系依赖表,对多个bundle包进行资源遍历,获取每个bundle包的资源依赖及资源所处的bundle包,生成资源对应的关系依赖及所依赖的bundle包列表,写入依赖文件;更新同步,当进行新的bundle包打包时,将依赖文件同步发送至客户端。
根据所述的减少bundle依赖链冗余的方法,其中关系依赖生成包括:通过Asset2Bundle表的分配关系,以json表方式对bundle包与资源的依赖关系进行存储。
根据所述的减少bundle依赖链冗余的方法,其中依赖链遍历包括:遍历每个bundle包的依赖链中所有资源,查找每个资源的所有依赖资源,并通过Asset2Bundle表找到该资源的所有依赖资源所在的所有bundle ID,进而确定bundle包的关系依赖表,记录Asset级别的依赖关系Asset级别依赖bundle列表,写入本地文件。
根据所述的减少bundle依赖链冗余的方法,其中依赖文件为本地化的不可读二进制文件。
根据所述的减少bundle依赖链冗余的方法,其中更新同步包括:当进行新的bundle包打包时,检测到bundle包的关系依赖表变更时,重新执行所述关系依赖生成及依赖链遍历处理,并重新生成依赖文件。
根据所述的减少bundle依赖链冗余的方法,其中通过所述依赖文件用于确定bundle包依赖关系是否发生变化。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海金山网络游戏科技有限公司,未经珠海金山网络游戏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110033062.2/2.html,转载请声明来源钻瓜专利网。