CN104598270A - 一种多人网络游戏中资源加载的方法和装置 - Google Patents
一种多人网络游戏中资源加载的方法和装置 Download PDFInfo
- Publication number
- CN104598270A CN104598270A CN201410806709.0A CN201410806709A CN104598270A CN 104598270 A CN104598270 A CN 104598270A CN 201410806709 A CN201410806709 A CN 201410806709A CN 104598270 A CN104598270 A CN 104598270A
- Authority
- CN
- China
- Prior art keywords
- resource
- list
- resource file
- resources
- file list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种多人网络游戏中资源加载的方法,包括:A、确定需要预加载到内存的资源文件列表;B、客户端启动初始化的时候,将资源文件列表中的资源文件加载在内存中;C、判断是否客户端加载了资源文件列表之外的其他资源,若是,执行步骤D,否则执行步骤E;D、将所述被加载的其他资源文件名加入到资源引用计数列表中,并记录资源的使用次数和最近使用时间;E、判断是否满足删除资源的条件,若是,删除资源引用计数列表中未被使用的时间超过第一阈值的资源,同时更新资源文件列表,删除下次客户端启动不需要预加载的资源。本申请还公开了一种多人网络游戏中资源加载的装置。本申请方案能够提高资源访问速度,又有效地节省了内存空间的占用。
Description
技术领域
本申请涉及计算机网络技术领域,尤其涉及一种多人网络游戏中资源加载的方法和装置。
背景技术
在多人网络游戏中经常会出现多角色互动的情况,当任一玩家的视野中出现很多其他玩家的时候或者出现很多非玩家角色(NPC)的时候,就需要同时加载这些角色相关的资源。
现有技术中一种资源加载的方法是:资源全部存储在客户端的硬盘文件中,需要的时候再去加载资源。这种方式的优点在于可以节省内存空间、游戏启动速度快,然而会导致如下缺点:频繁加载资源会导致经常卡顿,流畅度大幅下降。
为了避免大量资源加载导致流畅度下降的情况,现有技术中还有一种资源加载的方式是资源全部提前加载到内存中,需要的时候从内存直接访问,其优点是访问速度快、流畅度大幅提高,然而缺点是内存空间占用多,对客户端的硬件要求过高,并且游戏启动速度慢。
发明内容
本申请提供了一种多人网络游戏中资源加载的方法及装置,能够提高资源访问速度,又有效地节省了内存空间的占用。
本申请实施例提供了一种多人网络游戏中资源加载的方法,包括:
A、确定需要预加载到内存的资源文件列表;
B、客户端启动初始化的时候,将资源文件列表中的资源文件加载在内存中;
C、判断是否客户端加载了资源文件列表之外的其他资源,若是,执行步骤D,否则执行步骤E;
D、将所述被加载的其他资源文件名加入到资源引用计数列表中,并记录资源的使用次数和最近使用时间;
E、判断是否满足删除资源的条件,若是,删除资源引用计数列表中未被使用的时间超过第一阈值的资源,同时更新资源文件列表,删除下次客户端启动不需要预加载的资源。
较佳地,所述资源文件列表包括基础资源文件列表和临时资源文件列表;所述基础资源文件列表对于每一个客户端内容相同;临时资源文件列表初始为空,根据玩家的行为情况动态增加内容。
较佳地,所述基础资源文件列表中包括主角的相关资源文件。
较佳地,所述删除条件包括:发生特定事件;或者每隔预设的时间间隔则认为满足删除条件。
较佳地,所述特定事件为玩家进行场景转换或者发生特殊剧情播放动画。
较佳地,所述第一阈值为10分钟。
较佳地,该方法进一步包括:
判断是否关闭客户端,若是,对于资源引用计数列表中使用次数大于第二阈值的资源加入到临时资源文件列表中,否则返回步骤C。
较佳地,所述第二阈值为10次。
本申请实施例还提供了一种多人网络游戏中资源加载的装置,包括:
预加载模块,用于确定需要预加载到内存的资源文件列表;客户端启动初始化的时候,将资源文件列表中的资源文件加载在内存中;
判断模块,用于判断是否客户端加载了资源文件列表之外的其他资源,若是,使能资源引用计数模块,否则使能删除处理模块;
资源引用计数模块,将所述被加载的其他资源文件名加入到资源引用计数列表中,并记录资源的使用次数和最近使用时间,然后再使能删除处理模块;
删除处理模块,用于判断是否满足删除资源的条件,若是,删除资源引用计数列表中未被使用的时间超过第一阈值的资源,同时将资源引用计数列表中被删除的资源在资源文件列表中也同步删除。
较佳地,所述资源文件列表包括基础资源文件列表和临时资源文件列表;所述基础资源文件列表对于每一个客户端内容相同;临时资源文件列表初始为空,根据玩家的行为情况动态增加内容。
从以上技术方案可以看出,该方法较好地克服了完全内存加载和完全硬盘加载的弊端,只把访问频繁的资源提前加载到内存中,提高了资源访问速度,又有效节省了内存空间占用,在提高客户端流畅度的基础上也有很高的应用价值。同时,除了预加载主角这类通用资源外,还根据玩家自己的游戏行为预加载一些其他相关资源,进一步提高客户端流畅性并且增加了灵活性。
附图说明
图1为本申请实施例提供的多人网络游戏中资源加载的方法流程示意图。
具体实施方式
为使本申请技术方案的技术原理、特点以及技术效果更加清楚,以下结合具体实施例对本申请技术方案进行详细阐述。
本申请实施例提供的多人网络游戏中资源加载的方法流程如图1所示,包括如下步骤:
步骤101:确定需要预加载到内存的资源文件列表。
根据本申请的另一实施例,所述资源文件列表包括基础资源文件列表(PreResList)和临时资源文件列表(TempResList)。
主角的各种相关资源文件访问频繁,并且玩家之间的多人互动是比较普遍的情况,因此需要把主角的各种相关资源文件列举在PreResList中。
还有一些主角之外的资源文件(如怪物资源文件)对于玩家来说也可能是经常使用的资源,可以把这部分资源预加载到TempResList中,进一步提高客户端流畅性并且增加了灵活性。
PreResList和TempResList需要映射到客户端文件里,PreResList中的内容对于每个客户端都是一样的,TempResList中的内容则是随着客户端的不同而变化,TempResList最开始是没有内容的,根据玩家最近一段时间的行为情况,动态增减TempResList中的内容。
步骤102:客户端启动初始化的时候,将资源文件列表中的资源文件加载在内存中。
根据本申请的另一实施例,在客户端启动初始化时,把PreResList和TempResList里的资源文件加载到内存中。主角的资源文件相比其他资源所占的空间很小,但是访问非常频繁,因此这部分资源存储在PreResList中。此外,多人互动游戏中会经常需要加载其他玩家的角色,每个玩家的游戏行为的不同决定了每个玩家对其他资源也有频繁加载的情况,这部分资源的数量也不会很大,可以放置在TempResList中,作为PreResList的补充。
步骤103:判断是否客户端加载了资源文件列表之外的其他资源,若是,执行步骤104,否则执行步骤105。
步骤104:将所述被加载的其他资源文件名加入到资源引用计数列表(CountResList)中,并记录资源的使用次数和最近使用时间。所述其他资源指的是除了主角之外的怪物、地图场景等资源。
步骤105:判断是否满足删除资源的条件,若是,执行步骤106,否则转至步骤107。
所述删除条件包括但不限于:
发生特定事件,如玩家进行场景转换,发生特殊剧情播放动画等。
或者每隔预设的时间间隔则认为满足删除条件。所述时间间隔可以根据实际需要确定。
步骤106:删除CountResList中未被使用的时间超过第一阈值的资源,同时将CountResList中删除的资源在TempResList中也同步删除,所删除的资源就是客户端下次启动时不需要预加载的资源。
当此类特定事件发生时,客户端删除CountResList中未被使用的时间超过第一阈值的资源,同时更新TempResList,删除下次客户端启动不需要预加载的资源。
客户端每隔预设的时间间隔执行一次删除CountResList中未使用的时间超过第一阈值的资源,同时更新TempResList,删除下次客户端启动不需要预加载的资源。
所述第一时间阈值可以取为10分钟,也可以根据实际情况进行调整。
步骤107:判断是否关闭客户端,若是,执行步骤108,否则返回步骤103。
步骤108:玩家关闭客户端的时候,对于CountResList中使用次数大于第二阈值的资源加入到临时资源文件列表TempResList中。
所述第二阈值可以根据实际需要而定,例如设为10次。一般来说CountResList中使用次数大于10次的资源可以认为是使用比较频繁的资源,所以更新到TempResList中作为下一次启动客户端的预加载文件,可以根据实际情况调整次数判断标准。
本申请实施例还提供了一种多人网络游戏中资源加载的装置,包括:
预加载模块,用于确定需要预加载到内存的资源文件列表;客户端启动初始化的时候,将资源文件列表中的资源文件加载在内存中;
判断模块,用于判断是否客户端加载了资源文件列表之外的其他资源,若是,使能资源引用计数模块,否则使能删除处理模块;
资源引用计数模块,将所述被加载的其他资源文件名加入到资源引用计数列表中,并记录资源的使用次数和最近使用时间,然后再使能删除处理模块;
删除处理模块,用于判断是否满足删除资源的条件,若是,删除资源引用计数列表中未被使用的时间超过第一阈值的资源,同时将资源引用计数列表中被删除的资源在资源文件列表中也同步删除。
较佳地,所述资源文件列表包括基础资源文件列表和临时资源文件列表;所述基础资源文件列表对于每一个客户端内容相同;临时资源文件列表初始为空,根据玩家的行为情况动态增加内容。
较佳地,所述基础资源文件列表中包括主角的相关资源文件。
较佳地,所述删除条件包括:发生特定事件;或者每隔预设的时间间隔则认为满足删除条件。
较佳地,所述特定事件为玩家进行场景转换或者发生特殊剧情播放动画。
较佳地,所述第一阈值为10分钟。
较佳地,该装置进一步包括:
关闭处理模块,用于是否关闭客户端,若是,对于资源引用计数列表中使用次数大于第二阈值的资源加入到临时资源文件列表中。
较佳地,所述第二阈值为10次。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请的保护范围,凡在本申请技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种多人网络游戏中资源加载的方法,其特征在于,包括:
A、确定需要预加载到内存的资源文件列表;
B、客户端启动初始化的时候,将资源文件列表中的资源文件加载在内存中;
C、判断是否客户端加载了资源文件列表之外的其他资源,若是,执行步骤D,否则执行步骤E;
D、将所述被加载的其他资源文件名加入到资源引用计数列表中,并记录资源的使用次数和最近使用时间;
E、判断是否满足删除资源的条件,若是,删除资源引用计数列表中未被使用的时间超过第一阈值的资源,同时更新资源文件列表,删除下次客户端启动不需要预加载的资源。
2.根据权利要求1所述的方法,其特征在于,所述资源文件列表包括基础资源文件列表和临时资源文件列表;所述基础资源文件列表对于每一个客户端内容相同;临时资源文件列表初始为空,根据玩家的行为情况动态增加内容。
3.根据权利要求2所述的方法,其特征在于,所述基础资源文件列表中包括主角的相关资源文件。
4.根据权利要求2所述的方法,其特征在于,所述删除条件包括:发生特定事件;或者每隔预设的时间间隔则认为满足删除条件。
5.根据权利要求4所述的方法,其特征在于,所述特定事件为玩家进行场景转换或者发生特殊剧情播放动画。
6.根据权利要求1所述的方法,其特征在于,所述第一阈值为10分钟。
7.根据权利要求1至6任一项所述的方法,其特征在于,该方法进一步包括:
判断是否关闭客户端,若是,对于资源引用计数列表中使用次数大于第二阈值的资源加入到临时资源文件列表中,否则返回步骤C。
8.根据权利要求7所述的方法,其特征在于,所述第二阈值为10次。
9.一种多人网络游戏中资源加载的装置,其特征在于,包括:
预加载模块,用于确定需要预加载到内存的资源文件列表;客户端启动初始化的时候,将资源文件列表中的资源文件加载在内存中;
判断模块,用于判断是否客户端加载了资源文件列表之外的其他资源,若是,使能资源引用计数模块,否则使能删除处理模块;
资源引用计数模块,将所述被加载的其他资源文件名加入到资源引用计数列表中,并记录资源的使用次数和最近使用时间,然后再使能删除处理模块;
删除处理模块,用于判断是否满足删除资源的条件,若是,删除资源引用计数列表中未被使用的时间超过第一阈值的资源,同时将资源引用计数列表中被删除的资源在资源文件列表中也同步删除。
10.根据权利要求9述的装置,其特征在于,所述资源文件列表包括基础资源文件列表和临时资源文件列表;所述基础资源文件列表对于每一个客户端内容相同;临时资源文件列表初始为空,根据玩家的行为情况动态增加内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410806709.0A CN104598270B (zh) | 2014-12-22 | 2014-12-22 | 一种多人网络游戏中资源加载的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410806709.0A CN104598270B (zh) | 2014-12-22 | 2014-12-22 | 一种多人网络游戏中资源加载的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104598270A true CN104598270A (zh) | 2015-05-06 |
CN104598270B CN104598270B (zh) | 2018-06-01 |
Family
ID=53124088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410806709.0A Active CN104598270B (zh) | 2014-12-22 | 2014-12-22 | 一种多人网络游戏中资源加载的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104598270B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105536252A (zh) * | 2015-12-23 | 2016-05-04 | 盛趣信息技术(上海)有限公司 | 客户端、服务器和数据传输系统及方法 |
CN105607901A (zh) * | 2015-12-11 | 2016-05-25 | Tcl集团股份有限公司 | 系统内存的优化方法、装置及终端设备 |
CN105630556A (zh) * | 2015-12-25 | 2016-06-01 | 北京像素软件科技股份有限公司 | 一种加载资源的方法和系统 |
CN106651747A (zh) * | 2016-12-30 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 一种应用中模拟对象的资源处理方法以及装置 |
CN106951067A (zh) * | 2017-02-13 | 2017-07-14 | 歌尔科技有限公司 | 一种虚拟现实场景的生成方法及设备 |
CN107122214A (zh) * | 2017-04-28 | 2017-09-01 | 广东欧珀移动通信有限公司 | 应用程序的预处理方法、装置及终端 |
CN107469352A (zh) * | 2017-07-12 | 2017-12-15 | 福建天晴数码有限公司 | 游戏前端的资源缓存方法、存储介质 |
CN108595553A (zh) * | 2018-04-10 | 2018-09-28 | 红云红河烟草(集团)有限责任公司 | 一种基于关系型数据库的工业数采时序数据压缩存储和解压查询方法 |
CN108762838A (zh) * | 2018-05-21 | 2018-11-06 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及终端 |
CN109074616A (zh) * | 2016-03-29 | 2018-12-21 | 网石股份有限公司 | 传输游戏应用程序和资源文件的设备、应用程序和方法 |
CN110569220A (zh) * | 2019-09-12 | 2019-12-13 | 腾讯科技(深圳)有限公司 | 游戏资源文件的展示方法、装置、终端及存储介质 |
CN110704129A (zh) * | 2019-09-30 | 2020-01-17 | 北京金山安全软件有限公司 | 一种资源的实例化方法、装置、电子设备及存储介质 |
CN113656089A (zh) * | 2020-04-30 | 2021-11-16 | 华为技术有限公司 | 应用程序中的类验证方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101626391A (zh) * | 2008-07-08 | 2010-01-13 | 盛大计算机(上海)有限公司 | 网络游戏客户端资源处理方法 |
CN101729848A (zh) * | 2009-12-10 | 2010-06-09 | 四川长虹电器股份有限公司 | 基于机顶盒的游戏功能实现方法 |
CN102650946A (zh) * | 2012-03-22 | 2012-08-29 | 杭州梵艺科技有限公司 | 在手持终端加载显示图形界面的方法 |
CN102799456A (zh) * | 2012-07-24 | 2012-11-28 | 上海晨思电子科技有限公司 | 一种游戏引擎加载资源文件的方法、装置和计算机 |
-
2014
- 2014-12-22 CN CN201410806709.0A patent/CN104598270B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101626391A (zh) * | 2008-07-08 | 2010-01-13 | 盛大计算机(上海)有限公司 | 网络游戏客户端资源处理方法 |
CN101729848A (zh) * | 2009-12-10 | 2010-06-09 | 四川长虹电器股份有限公司 | 基于机顶盒的游戏功能实现方法 |
CN102650946A (zh) * | 2012-03-22 | 2012-08-29 | 杭州梵艺科技有限公司 | 在手持终端加载显示图形界面的方法 |
CN102799456A (zh) * | 2012-07-24 | 2012-11-28 | 上海晨思电子科技有限公司 | 一种游戏引擎加载资源文件的方法、装置和计算机 |
Non-Patent Citations (1)
Title |
---|
郭杰: ""基于OGRE框架的3D网络游戏资源管理系统设计与实现"", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105607901A (zh) * | 2015-12-11 | 2016-05-25 | Tcl集团股份有限公司 | 系统内存的优化方法、装置及终端设备 |
CN105607901B (zh) * | 2015-12-11 | 2019-12-13 | Tcl集团股份有限公司 | 系统内存的优化方法、装置及终端设备 |
CN105536252A (zh) * | 2015-12-23 | 2016-05-04 | 盛趣信息技术(上海)有限公司 | 客户端、服务器和数据传输系统及方法 |
CN105630556A (zh) * | 2015-12-25 | 2016-06-01 | 北京像素软件科技股份有限公司 | 一种加载资源的方法和系统 |
CN105630556B (zh) * | 2015-12-25 | 2019-02-19 | 北京像素软件科技股份有限公司 | 一种加载资源的方法和系统 |
CN109074616A (zh) * | 2016-03-29 | 2018-12-21 | 网石股份有限公司 | 传输游戏应用程序和资源文件的设备、应用程序和方法 |
CN109074616B (zh) * | 2016-03-29 | 2022-09-06 | 网石股份有限公司 | 传输游戏应用程序和资源文件的设备、应用程序和方法 |
CN106651747A (zh) * | 2016-12-30 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 一种应用中模拟对象的资源处理方法以及装置 |
CN106951067A (zh) * | 2017-02-13 | 2017-07-14 | 歌尔科技有限公司 | 一种虚拟现实场景的生成方法及设备 |
CN107122214A (zh) * | 2017-04-28 | 2017-09-01 | 广东欧珀移动通信有限公司 | 应用程序的预处理方法、装置及终端 |
CN107469352B (zh) * | 2017-07-12 | 2021-06-08 | 福建天晴数码有限公司 | 游戏前端的资源缓存方法、存储介质 |
CN107469352A (zh) * | 2017-07-12 | 2017-12-15 | 福建天晴数码有限公司 | 游戏前端的资源缓存方法、存储介质 |
CN108595553A (zh) * | 2018-04-10 | 2018-09-28 | 红云红河烟草(集团)有限责任公司 | 一种基于关系型数据库的工业数采时序数据压缩存储和解压查询方法 |
CN108595553B (zh) * | 2018-04-10 | 2022-02-08 | 红云红河烟草(集团)有限责任公司 | 一种基于关系型数据库的工业数采时序数据压缩存储和解压查询方法 |
CN108762838A (zh) * | 2018-05-21 | 2018-11-06 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及终端 |
CN110569220A (zh) * | 2019-09-12 | 2019-12-13 | 腾讯科技(深圳)有限公司 | 游戏资源文件的展示方法、装置、终端及存储介质 |
CN110569220B (zh) * | 2019-09-12 | 2023-01-06 | 腾讯科技(深圳)有限公司 | 游戏资源文件的展示方法、装置、终端及存储介质 |
CN110704129A (zh) * | 2019-09-30 | 2020-01-17 | 北京金山安全软件有限公司 | 一种资源的实例化方法、装置、电子设备及存储介质 |
CN113656089A (zh) * | 2020-04-30 | 2021-11-16 | 华为技术有限公司 | 应用程序中的类验证方法和装置 |
CN113656089B (zh) * | 2020-04-30 | 2023-02-28 | 华为技术有限公司 | 应用程序中的类验证方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104598270B (zh) | 2018-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104598270A (zh) | 一种多人网络游戏中资源加载的方法和装置 | |
WO2017185616A1 (zh) | 文件存储方法及电子设备 | |
KR102368299B1 (ko) | 게임 클립 인기 기반 제어 기법 | |
CN107506447A (zh) | 一种基于本地文件系统的小文件读写方法及系统 | |
CN113209633B (zh) | 镜像的处理方法、装置、电子设备及可读存储介质 | |
US10025702B1 (en) | Browser capable of saving and restoring content item state | |
WO2014194695A1 (en) | Method and server for pvp team matching in computer games | |
US20170308546A1 (en) | File storage method and electronic device | |
CN103678892A (zh) | 一种角色对象管理的方法和装置 | |
US11471770B2 (en) | Game program, game server, game system, and game device | |
CN109165091A (zh) | 一种优化应用运行质量的方法、移动终端及存储介质 | |
US9147435B2 (en) | Weighted playlist | |
US9104567B2 (en) | Memory-leak identification | |
US20170163705A1 (en) | Method and electronic device for implementing seamlessly continuous playing of video | |
CN106547425A (zh) | 一种处理智能终端的通知栏消息的方法和装置 | |
CN104536780A (zh) | 一种电子游戏资源高效加载方法及系统 | |
CN105677579B (zh) | 缓存系统中的数据访问方法和系统 | |
CN108763443A (zh) | 区块链账户处理方法与装置 | |
CN113672757B (zh) | 一种音频播放方法及装置 | |
CN103617039B (zh) | 一种访问用户空间文件系统的方法及装置 | |
CN104941182A (zh) | 一种游戏录像播放方法及系统 | |
CN106502793A (zh) | 一种游戏资源的调配方法和设备 | |
CN117130792B (zh) | 缓存对象的处理方法、装置、设备及存储介质 | |
CN112799737A (zh) | 游戏资源的处理方法、装置、处理器和存储介质 | |
US9149725B2 (en) | Method and server for PVP team matching in computer games |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |