一种多人网络游戏中资源加载的方法和装置的制造方法

文档序号:8282093阅读:578来源:国知局
一种多人网络游戏中资源加载的方法和装置的制造方法
【技术领域】
[0001]本申请涉及计算机网络技术领域,尤其涉及一种多人网络游戏中资源加载的方法和装置。
【背景技术】
[0002]在多人网络游戏中经常会出现多角色互动的情况,当任一玩家的视野中出现很多其他玩家的时候或者出现很多非玩家角色(NPC)的时候,就需要同时加载这些角色相关的资源。
[0003]现有技术中一种资源加载的方法是:资源全部存储在客户端的硬盘文件中,需要的时候再去加载资源。这种方式的优点在于可以节省内存空间、游戏启动速度快,然而会导致如下缺点:频繁加载资源会导致经常卡顿,流畅度大幅下降。
[0004]为了避免大量资源加载导致流畅度下降的情况,现有技术中还有一种资源加载的方式是资源全部提前加载到内存中,需要的时候从内存直接访问,其优点是访问速度快、流畅度大幅提高,然而缺点是内存空间占用多,对客户端的硬件要求过高,并且游戏启动速度慢。

【发明内容】

[0005]本申请提供了一种多人网络游戏中资源加载的方法及装置,能够提高资源访问速度,又有效地节省了内存空间的占用。
[0006]本申请实施例提供了一种多人网络游戏中资源加载的方法,包括:
[0007]A、确定需要预加载到内存的资源文件列表;
[0008]B、客户端启动初始化的时候,将资源文件列表中的资源文件加载在内存中;
[0009]C、判断是否客户端加载了资源文件列表之外的其他资源,若是,执行步骤D,否则执行步骤E ;
[0010]D、将所述被加载的其他资源文件名加入到资源引用计数列表中,并记录资源的使用次数和最近使用时间;
[0011]E、判断是否满足删除资源的条件,若是,删除资源引用计数列表中未被使用的时间超过第一阈值的资源,同时更新资源文件列表,删除下次客户端启动不需要预加载的资源。
[0012]较佳地,所述资源文件列表包括基础资源文件列表和临时资源文件列表;所述基础资源文件列表对于每一个客户端内容相同;临时资源文件列表初始为空,根据玩家的行为情况动态增加内容。
[0013]较佳地,所述基础资源文件列表中包括主角的相关资源文件。
[0014]较佳地,所述删除条件包括:发生特定事件;或者每隔预设的时间间隔则认为满足删除条件。
[0015]较佳地,所述特定事件为玩家进行场景转换或者发生特殊剧情播放动画。
[0016]较佳地,所述第一阈值为10分钟。
[0017]较佳地,该方法进一步包括:
[0018]判断是否关闭客户端,若是,对于资源引用计数列表中使用次数大于第二阈值的资源加入到临时资源文件列表中,否则返回步骤C。
[0019]较佳地,所述第二阈值为10次。
[0020]本申请实施例还提供了一种多人网络游戏中资源加载的装置,包括:
[0021]预加载模块,用于确定需要预加载到内存的资源文件列表;客户端启动初始化的时候,将资源文件列表中的资源文件加载在内存中;
[0022]判断模块,用于判断是否客户端加载了资源文件列表之外的其他资源,若是,使能资源引用计数模块,否则使能删除处理模块;
[0023]资源引用计数模块,将所述被加载的其他资源文件名加入到资源引用计数列表中,并记录资源的使用次数和最近使用时间,然后再使能删除处理模块;
[0024]删除处理模块,用于判断是否满足删除资源的条件,若是,删除资源引用计数列表中未被使用的时间超过第一阈值的资源,同时将资源引用计数列表中被删除的资源在资源文件列表中也同步删除。
[0025]较佳地,所述资源文件列表包括基础资源文件列表和临时资源文件列表;所述基础资源文件列表对于每一个客户端内容相同;临时资源文件列表初始为空,根据玩家的行为情况动态增加内容。
[0026]从以上技术方案可以看出,该方法较好地克服了完全内存加载和完全硬盘加载的弊端,只把访问频繁的资源提前加载到内存中,提高了资源访问速度,又有效节省了内存空间占用,在提高客户端流畅度的基础上也有很高的应用价值。同时,除了预加载主角这类通用资源外,还根据玩家自己的游戏行为预加载一些其他相关资源,进一步提高客户端流畅性并且增加了灵活性。
【附图说明】
[0027]图1为本申请实施例提供的多人网络游戏中资源加载的方法流程示意图。
【具体实施方式】
[0028]为使本申请技术方案的技术原理、特点以及技术效果更加清楚,以下结合具体实施例对本申请技术方案进行详细阐述。
[0029]本申请实施例提供的多人网络游戏中资源加载的方法流程如图1所示,包括如下步骤:
[0030]步骤101:确定需要预加载到内存的资源文件列表。
[0031]根据本申请的另一实施例,所述资源文件列表包括基础资源文件列表(PreResList)和临时资源文件列表(TempResList)。
[0032]主角的各种相关资源文件访问频繁,并且玩家之间的多人互动是比较普遍的情况,因此需要把主角的各种相关资源文件列举在PreResList中。
[0033]还有一些主角之外的资源文件(如怪物资源文件)对于玩家来说也可能是经常使用的资源,可以把这部分资源预加载到TempResList中,进一步提高客户端流畅性并且增加了灵活性。
[0034]PreResList和TempResList需要映射到客户端文件里,PreResList中的内容对于每个客户端都是一样的,TempResList中的内容则是随着客户端的不同而变化,TempResList最开始是没有内容的,根据玩家最近一段时间的行为情况,动态增减TempResList中的内容。
[0035]步骤102:客户端启动初始化的时候,将资源文件列表中的资源文件加载在内存中。
[0036]根据本申请的另一实施例,在客户端启动初始化时,把PreResList和TempResList里的资源文件加载到内存中。主角的资源文件相比其他资源所占的空间很小,但是访问非常频繁,因此这部分资源存储在PreResList中。此外,多人互动游戏中会经常需要加载其他玩家的角色,每个玩家的游戏行为的不同决定了每个玩家对其他资源也有频繁加载的情况,这部分资源的数量也不会很大,可以放置在TempResList中,作为PreResList 的补充。
[0037]步骤103:判断是否客户端加载了资源文件列表之外的其他资源,若是,执行步骤104,否则执行步骤105。
[0038]步骤104:将所述被加载的其他资源文件名加入到资源引用计数列表(CountResList)中,并记录资源的使用次数和最近使用时间。所述其他资源指的是除了主角之外的怪物、地图场景等资源。
[0039]步骤105:判断是否满足删除资源的条件,若是,执行步骤106,否则转至步骤107。
[0040]所述删除条件包括但不限于:
[0041]发生特定事件,如玩家进行场景转换,发生特殊剧情播放动画等。
[0042]或者每隔预设的时间间隔则认为满足删除条件。所述时间间隔可以根据实际
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1