CN106201623A - 基于访问顺序排序的游戏资源文件加载方法和系统 - Google Patents

基于访问顺序排序的游戏资源文件加载方法和系统 Download PDF

Info

Publication number
CN106201623A
CN106201623A CN201610567588.8A CN201610567588A CN106201623A CN 106201623 A CN106201623 A CN 106201623A CN 201610567588 A CN201610567588 A CN 201610567588A CN 106201623 A CN106201623 A CN 106201623A
Authority
CN
China
Prior art keywords
file
resource file
game
packing
access
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
Application number
CN201610567588.8A
Other languages
English (en)
Other versions
CN106201623B (zh
Inventor
李茂�
陈汉辉
龙旨日
卢歆翮
陈镇秋
吴海权
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Xishanju Network Technology Co ltd
Zhuhai Kingsoft Digital Network Technology Co Ltd
Original Assignee
Western Hills Residence Guangzhou Shi You Network Technology Co Ltd
Zhuhai Kingsoft Online Game Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Western Hills Residence Guangzhou Shi You Network Technology Co Ltd, Zhuhai Kingsoft Online Game Technology Co Ltd filed Critical Western Hills Residence Guangzhou Shi You Network Technology Co Ltd
Priority to CN201610567588.8A priority Critical patent/CN106201623B/zh
Publication of CN106201623A publication Critical patent/CN106201623A/zh
Application granted granted Critical
Publication of CN106201623B publication Critical patent/CN106201623B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了基于访问顺序排序的游戏资源文件加载方法和系统,包括有以下步骤:A、使用一个默认的打包资源文件运行游戏,并将文件访问记录和文件加载时间记录到日志文件中;B、读入打包资源文件信息和日志文件数据,根据资源文件的访问频率和时间进行打包顺序的优化;C、根据优化后的顺序将资源文件打包。本发明通过对资源文件的二次排序后再进行打包,使游戏运行过程中加载资源文件的速度提升,尤其是在数据集庞大的大型游戏中使加载速度指数级提升,极大地增强用户的游戏体验。本发明作为基于访问顺序排序的游戏资源文件加载方法和系统可广泛应用于游戏领域。

Description

基于访问顺序排序的游戏资源文件加载方法和系统
技术领域
本发明涉及游戏领域,尤其是基于访问顺序排序的游戏资源文件加载方法和系统。
背景技术
一般的游戏中从存储媒介中加载资源时,当操作系统中存在大量文件的文件句柄,操作系统的运行速度就会变得非常慢。为了进行优化,很多游戏都只能从打包的资源文件中加载必需的资源。这些打包的资源文件就是一个个大型的文件数据库,以单个文件或一组文件的形式存在着。在这些数据库中,都保存着一个完整的目录层次信息。资源文件有效地解决了文件句柄开销过大的问题。但是又带来了另外一个严重的问题。这些资源文件的顺序通常就是硬盘上的目录结构的一个镜像。而游戏很少会按照资源文件在目录结构中的顺序来访问它们。相反,多数情况下,它们都会在资源文件中跳跃式地访问资源文件。这就成了一个主要的瓶颈。如果游戏使用的数据集十分大,那么其资源文件的布局中存在的这个弱点就会暴露出来。使得游戏的资源加载进度非常慢,严重影响了玩家的用户体验。
发明内容
为了解决上述技术问题,本发明的目的是:提供一种缩短游戏资源文件加载时间、增强游戏的体验和表现的游戏资源文件加载方法。
为了解决上述技术问题,本发明的另一目的是:提供一种缩短游戏资源文件加载时间、增强游戏的体验和表现的游戏资源文件加载系统。
本发明所采用的技术方案是:基于访问顺序排序的游戏资源文件加载方法,包括有以下步骤:
A、使用一个默认的打包资源文件运行游戏,并将文件访问记录和文件加载时间记录到日志文件中;
B、读入打包资源文件信息和日志文件数据,根据资源文件的访问频率和时间进行打包顺序的优化;
C、根据优化后的顺序将资源文件打包。
进一步,还包括有步骤D:使用步骤C中得到的打包资源文件运行游戏,并将文件访问记录和文件加载时间记录到日志文件中。
进一步,完成步骤D之后,重复执行步骤B和步骤C得到新的打包资源文件。
进一步,所述步骤A具体为:使用一个默认的打包资源文件运行游戏,并根据游戏的不同运行状态将文件访问记录和文件加载时间记录到日志文件中对应的各记录区中。
进一步,所述步骤B具体为:读入打包资源文件信息和日志文件中各记录区的数据,根据资源文件的访问频率和时间对游戏的不同运行状态中分别使用到的文件进行打包顺序的优化。
本发明所采用的另一技术方案是:基于访问顺序排序的游戏资源文件加载系统,包括有:
数据采集单元,使用打包资源文件运行游戏,并将文件访问记录和文件加载时间记录到数据记录单元中;
数据记录单元,用于记录数据采集单元采集到的数据;
打包顺序优化单元,读入打包资源文件信息和数据记录单元的数据,并根据资源文件的访问频率和时间进行打包顺序的优化;
文件打包单元,根据优化后的顺序将资源文件打包。
进一步,所述数据采集单元使用的打包资源文件为默认的打包资源文件或文件打包单元生成的优化后的打包资源文件。
进一步,所述数据记录单元包括有多个数据分区,用于记录游戏的不同运行状态时,数据采集单元采集到的文件访问记录和文件加载时间记录。
进一步,所述打包顺序优化单元用于读入打包资源文件信息和数据记录单元中多个数据分区的数据,并根据资源文件的访问频率和时间对游戏的不同运行状态中分别使用到的文件进行打包顺序的优化。
本发明的有益效果是:本发明方法通过对资源文件的二次排序后再进行打包,使游戏运行过程中加载资源文件的速度提升,尤其是在数据集庞大的大型游戏中使加载速度指数级提升,极大地增强用户的游戏体验。
本发明的另一有益效果是:本发明系统通过对资源文件的二次排序后再进行打包,使游戏运行过程中加载资源文件的速度提升,尤其是在数据集庞大的大型游戏中使加载速度指数级提升,极大地增强用户的游戏体验。
附图说明
图1为本发明方法步骤流程图;
图2为本发明方法进一步实施的步骤流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明:
上述背景技术详细说明了现有技术中游戏资源文件加载的缺陷,为了缩短游戏资源文件加载时间、增强代码可维护性与可重用性、增强游戏的体验和表现,需要能够多打包资源文件进行一定顺序地访问,从而更快速的加载必需的资源文件。
参照图1,基于访问顺序排序的游戏资源文件加载方法,包括有以下步骤:
A、使用一个默认的打包资源文件运行游戏,并将文件访问记录和文件加载时间记录到日志文件中;
由于游戏过程复杂,过程中使用文件的规律不明显,且这些组合完全取决于游戏项目使用资源的方式,因此上述默认的打包资源文件的打包顺序通常采用的都不是最佳顺序,从而需要在游戏过程中将打包资源文件中文件的访问记录和文件加载时间记录到日志文件中,用于后续过程中的处理,并作为基准来评估优化后的效果。
B、读入打包资源文件信息和日志文件数据,根据资源文件的访问频率和时间进行打包顺序的优化;
读入的打包资源文件信息包括有所有的通用数据以及游戏关卡专用的资源,针对游戏关卡进行打包顺序的优化。资源文件的访问频率越高、时间越早,则在顺序优化时排序越靠前。典型的通用数据例如:游戏中的用户界面文件、一个标准的武器系统文件或者是一个通用的着色程序库等,这些文件数据在各个不同的游戏关卡均需要使用到。
C、根据优化后的顺序将资源文件打包。
所使用的资源打包工具可以按照上述步骤B中得到的打包顺序,去打包资源文件。
参照图2,进一步作为优选的实施方式,还包括有步骤D:使用步骤C中得到的打包资源文件运行游戏,并将文件访问记录和文件加载时间记录到日志文件中。
利用新打包的资源文件再次运行游戏,并记录相应的文件访问记录和文件加载时间的记录,通过将日志文件中的信息可与原日志文件中的信息对比,验证经过优化后的资源打包文件是否使游戏过程中的加载时间缩短。
如下表1所示,本发明方法实际应用中采集的样本数据的加载用时:
表1:样本数据加载用时效果对比
文件系统 加载用时(单位:毫秒)
Windows文件系统(NTFS) 6077.858499
资源文件 1443.543244
优化后的资源文件 795.332088
从表上可看出,现有技术中采用标准的资源文件与使用windows文件系统相比,使用标准的资源文件的加载速度是其4倍有余;而本发明方法中采用优化后的资源文件,其加载速度是现有技术的近两倍。由于上述用于测试的样本数据量很小,表中实际的加载用时数量都非常小,因此优化后的提升也只有两倍;但是在对一个大型文件(大于1GB)进行的测试中,与一个目录交叉的资源文件相比,利用优化后的资源文件可实现加载速度的指数级别提升,可使加载时间从10秒提高到200毫秒,即加载速度提高20〜50倍,这是一个非常显著的速度提升。
在某些游戏加载模式中,最初访问的那些文件都是比较零散的,磁盘磁头需要多次的跳转;而通过对资源文件的二次排序,就可利用优化后的资源文件可以获得最佳的提升效果。
参照图2,进一步作为优选的实施方式,完成步骤D之后,重复执行步骤B和步骤C得到新的打包资源文件。
利用优化后的打包资源文件运行游戏,再次进行顺序优化,及重复执行步骤B和步骤C,可进一步获取更优化的打包顺序。
进一步作为优选的实施方式,所述步骤A具体为:使用一个默认的打包资源文件运行游戏,并根据游戏的不同运行状态将文件访问记录和文件加载时间记录到日志文件中对应的各记录区中。
通常游戏具有多个关卡,每个关卡中的场景、道具等资源都不相同,因此每个关卡中的游戏都处于不同的运行状态,因此还可针对每个给定的关卡,将该关卡内所有需要的资源文件打包,最后生成的每一个打包资源文件对应一个游戏关卡,因此更可靠的方法是在日志文件中建立多个记录区,根据游戏的不同运行状态将文件访问记录和文件加载时间记录到日志文件中对应的各记录区中,从而实现对若干组顺序加载的文件分别进行优化;优化工作最佳的起点是日志文件中那些所有关卡都要用到的通用数据。
进一步作为优选的实施方式,读入打包资源文件信息和日志文件中各记录区的数据,根据资源文件的访问频率和时间对游戏的不同运行状态中分别使用到的文件进行打包顺序的优化。
进一步作为优选的实施方式,根据资源文件被打包的方式,重新排列各个资源文件被加载的顺序。很多时候,在游戏中的某个固定的时间,需要加载一系列已知的文件。比如,在玩家进入游戏之前就加载一套标准配置的武器模型,这在第一人称的射击游戏中非常常见。通常来说,一个普通的武器系统要包括10〜20个带有纹理或材质的模型。在这种情况下所需要做的是在加载这些资源时,记录下来每个文件指针的位置,然后按照这些资源文件出现的顺序,对加载顺序重新排序,从而加快资源的加载速度。
基于访问顺序排序的游戏资源文件加载系统,包括有:
数据采集单元,使用打包资源文件运行游戏,并将文件访问记录和文件加载时间记录到数据记录单元中;
数据记录单元,用于记录数据采集单元采集到的数据,例如上述本发明方法中用到的日志文件;
打包顺序优化单元,读入打包资源文件信息和数据记录单元的数据,并根据资源文件的访问频率和时间进行打包顺序的优化;
文件打包单元,根据优化后的顺序将资源文件打包。
进一步作为优选的实施方式,所述数据采集单元使用的打包资源文件为默认的打包资源文件或文件打包单元生成的优化后的打包资源文件。
进一步作为优选的实施方式,所述数据记录单元包括有多个数据分区,用于记录游戏的不同运行状态时,数据采集单元采集到的文件访问记录和文件加载时间记录。
进一步作为优选的实施方式,所述打包顺序优化单元用于读入打包资源文件信息和数据记录单元中多个数据分区的数据,并根据资源文件的访问频率和时间对游戏的不同运行状态中分别使用到的文件进行打包顺序的优化。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可以作出种种的等同变换或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (9)

1.基于访问顺序排序的游戏资源文件加载方法,其特征在于:包括有以下步骤:
A、使用一个默认的打包资源文件运行游戏,并将文件访问记录和文件加载时间记录到日志文件中;
B、读入打包资源文件信息和日志文件数据,根据资源文件的访问频率和时间进行打包顺序的优化;
C、根据优化后的顺序将资源文件打包。
2.根据权利要求1所述的基于访问顺序排序的游戏资源文件加载方法,其特征在于:还包括有步骤D:使用步骤C中得到的打包资源文件运行游戏,并将文件访问记录和文件加载时间记录到日志文件中。
3.根据权利要求2所述的基于访问顺序排序的游戏资源文件加载方法,其特征在于:完成步骤D之后,重复执行步骤B和步骤C得到新的打包资源文件。
4.根据权利要求1所述的基于访问顺序排序的游戏资源文件加载方法,其特征在于:所述步骤A具体为:使用一个默认的打包资源文件运行游戏,并根据游戏的不同运行状态将文件访问记录和文件加载时间记录到日志文件中对应的各记录区中。
5.根据权利要求4所述的基于访问顺序排序的游戏资源文件加载方法,其特征在于:所述步骤B具体为:读入打包资源文件信息和日志文件中各记录区的数据,根据资源文件的访问频率和时间对游戏的不同运行状态中分别使用到的文件进行打包顺序的优化。
6.基于访问顺序排序的游戏资源文件加载系统,其特征在于:包括有:
数据采集单元,使用打包资源文件运行游戏,并将文件访问记录和文件加载时间记录到数据记录单元中;
数据记录单元,用于记录数据采集单元采集到的数据;
打包顺序优化单元,读入打包资源文件信息和数据记录单元的数据,并根据资源文件的访问频率和时间进行打包顺序的优化;
文件打包单元,根据优化后的顺序将资源文件打包。
7.根据权利要求6所述的基于访问顺序排序的游戏资源文件加载系统,其特征在于:所述数据采集单元使用的打包资源文件为默认的打包资源文件或文件打包单元生成的优化后的打包资源文件。
8.根据权利要求6所述的基于访问顺序排序的游戏资源文件加载系统,其特征在于:所述数据记录单元包括有多个数据分区,用于记录游戏的不同运行状态时,数据采集单元采集到的文件访问记录和文件加载时间记录。
9.根据权利要求8所述的基于访问顺序排序的游戏资源文件加载系统,其特征在于:所述打包顺序优化单元用于读入打包资源文件信息和数据记录单元中多个数据分区的数据,并根据资源文件的访问频率和时间对游戏的不同运行状态中分别使用到的文件进行打包顺序的优化。
CN201610567588.8A 2016-07-15 2016-07-15 基于访问顺序排序的游戏资源文件加载方法和系统 Active CN106201623B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610567588.8A CN106201623B (zh) 2016-07-15 2016-07-15 基于访问顺序排序的游戏资源文件加载方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610567588.8A CN106201623B (zh) 2016-07-15 2016-07-15 基于访问顺序排序的游戏资源文件加载方法和系统

Publications (2)

Publication Number Publication Date
CN106201623A true CN106201623A (zh) 2016-12-07
CN106201623B CN106201623B (zh) 2019-11-26

Family

ID=57493379

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610567588.8A Active CN106201623B (zh) 2016-07-15 2016-07-15 基于访问顺序排序的游戏资源文件加载方法和系统

Country Status (1)

Country Link
CN (1) CN106201623B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958790A (zh) * 2018-06-28 2018-12-07 北京金山安全软件有限公司 一种软件代码多线程打包方法及装置
CN111064712A (zh) * 2019-11-29 2020-04-24 珠海金山网络游戏科技有限公司 一种游戏资源打包方法及系统
CN111078271A (zh) * 2019-11-29 2020-04-28 珠海金山网络游戏科技有限公司 基于特征分类训练器的优化Unity打AB包的方法
CN111107062A (zh) * 2019-11-29 2020-05-05 珠海金山网络游戏科技有限公司 一种基于贪婪算法的游戏资源打包方法及系统
CN111346372A (zh) * 2020-03-08 2020-06-30 北京智明星通科技股份有限公司 一种基于数据备份的游戏登录加载方法、装置及服务器
CN111790160A (zh) * 2019-12-06 2020-10-20 厦门雅基软件有限公司 资源管理的方法、装置、设备及计算机可读存储介质
CN111790146A (zh) * 2019-12-06 2020-10-20 厦门雅基软件有限公司 资源管理的方法、装置、设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101626391A (zh) * 2008-07-08 2010-01-13 盛大计算机(上海)有限公司 网络游戏客户端资源处理方法
CN102799456A (zh) * 2012-07-24 2012-11-28 上海晨思电子科技有限公司 一种游戏引擎加载资源文件的方法、装置和计算机
CN103019784A (zh) * 2012-12-11 2013-04-03 大连创达技术交易市场有限公司 基于访问顺序的二次文件排序
CN103795761A (zh) * 2012-11-01 2014-05-14 腾讯科技(深圳)有限公司 一种网络游戏数据下载方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101626391A (zh) * 2008-07-08 2010-01-13 盛大计算机(上海)有限公司 网络游戏客户端资源处理方法
CN102799456A (zh) * 2012-07-24 2012-11-28 上海晨思电子科技有限公司 一种游戏引擎加载资源文件的方法、装置和计算机
CN103795761A (zh) * 2012-11-01 2014-05-14 腾讯科技(深圳)有限公司 一种网络游戏数据下载方法和系统
CN103019784A (zh) * 2012-12-11 2013-04-03 大连创达技术交易市场有限公司 基于访问顺序的二次文件排序

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958790A (zh) * 2018-06-28 2018-12-07 北京金山安全软件有限公司 一种软件代码多线程打包方法及装置
CN111064712A (zh) * 2019-11-29 2020-04-24 珠海金山网络游戏科技有限公司 一种游戏资源打包方法及系统
CN111078271A (zh) * 2019-11-29 2020-04-28 珠海金山网络游戏科技有限公司 基于特征分类训练器的优化Unity打AB包的方法
CN111107062A (zh) * 2019-11-29 2020-05-05 珠海金山网络游戏科技有限公司 一种基于贪婪算法的游戏资源打包方法及系统
CN111064712B (zh) * 2019-11-29 2022-03-18 珠海金山网络游戏科技有限公司 一种游戏资源打包方法及系统
CN111107062B (zh) * 2019-11-29 2022-04-05 珠海金山网络游戏科技有限公司 一种基于贪婪算法的游戏资源打包方法及系统
CN111790160A (zh) * 2019-12-06 2020-10-20 厦门雅基软件有限公司 资源管理的方法、装置、设备及计算机可读存储介质
CN111790146A (zh) * 2019-12-06 2020-10-20 厦门雅基软件有限公司 资源管理的方法、装置、设备及计算机可读存储介质
CN111790160B (zh) * 2019-12-06 2023-03-31 厦门雅基软件有限公司 资源管理的方法、装置、设备及计算机可读存储介质
CN111346372A (zh) * 2020-03-08 2020-06-30 北京智明星通科技股份有限公司 一种基于数据备份的游戏登录加载方法、装置及服务器

Also Published As

Publication number Publication date
CN106201623B (zh) 2019-11-26

Similar Documents

Publication Publication Date Title
CN106201623A (zh) 基于访问顺序排序的游戏资源文件加载方法和系统
Hauglid et al. DYFRAM: dynamic fragmentation and replica management in distributed database systems
US20090260016A1 (en) System and/or method for bulk loading of records into an ordered distributed database
CN105095247B (zh) 符号数据分析方法和系统
US7636740B2 (en) Database cache system
CA2875001A1 (en) Method and system for sorting data in a cloud-computing environment and other distributed computing environments
CN107590075A (zh) 一种软件测试方法及装置
CN106100883A (zh) 一种云服务评价方法及装置
CN107122126A (zh) 数据的迁移方法、装置和系统
CN106651575A (zh) 一种数据处理方法及装置
CN113177050B (zh) 一种数据均衡的方法、装置、查询系统及存储介质
CN109344135A (zh) 一种自动负载均衡的文件锁并行地震处理作业调度方法
CN108829802A (zh) 关联日志回放方法及装置
CN108241531A (zh) 一种在集群中为虚拟机分配资源的方法和装置
CN110287152A (zh) 一种数据管理的方法以及相关装置
CN107707680A (zh) 一种基于节点计算能力的分布式数据负载均衡方法和系统
Franco-Duran et al. Performance of resource-constrained scheduling heuristics
CN109325011A (zh) 基于区块链的数据存储、处理、分享方法及系统
CN108389152A (zh) 一种图结构感知的图处理方法及装置
CN107357721A (zh) 测试系统的方法及装置
CN110134646A (zh) 知识平台服务数据存储与集成方法及系统
CN110457398A (zh) 区块数据存储方法及装置
CN110362569A (zh) 数据表的校验方法及装置、电子设备、存储介质
CN105164629B (zh) 计算机系统及其层级存储的控制方法
CN106951338A (zh) 一种基于GlusterFS的高容错分布式存储方法

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329

Patentee after: Zhuhai Jinshan Digital Network Technology Co.,Ltd.

Patentee after: Guangzhou Xishanju Network Technology Co.,Ltd.

Address before: 519000 Jinshan software building, 8 Lanshan lane, Jida Jingshan Hill Road, Zhuhai, Guangdong

Patentee before: ZHUHAI KINGSOFT ONLINE GAME TECHNOLOGY Co.,Ltd.

Patentee before: GUANGZHOU SEASUN ENTERTAINMENT NETWORK TECHNOLOGY Co.,Ltd.