CN104536780B - 一种电子游戏资源高效加载方法及系统 - Google Patents

一种电子游戏资源高效加载方法及系统 Download PDF

Info

Publication number
CN104536780B
CN104536780B CN201410753185.3A CN201410753185A CN104536780B CN 104536780 B CN104536780 B CN 104536780B CN 201410753185 A CN201410753185 A CN 201410753185A CN 104536780 B CN104536780 B CN 104536780B
Authority
CN
China
Prior art keywords
loading
resource
thread
request
asynchronous
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.)
Active
Application number
CN201410753185.3A
Other languages
English (en)
Other versions
CN104536780A (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.)
Chengdu Xishanju Interactive Entertainment Technology Co Ltd
Zhuhai Kingsoft Digital Network Technology Co Ltd
Original Assignee
Zhuhai Kingsoft Online Game Technology Co Ltd
Chengdu Xishanju Interactive Entertainment 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 Zhuhai Kingsoft Online Game Technology Co Ltd, Chengdu Xishanju Interactive Entertainment Technology Co Ltd filed Critical Zhuhai Kingsoft Online Game Technology Co Ltd
Priority to CN201410753185.3A priority Critical patent/CN104536780B/zh
Publication of CN104536780A publication Critical patent/CN104536780A/zh
Application granted granted Critical
Publication of CN104536780B publication Critical patent/CN104536780B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种电子游戏资源高效加载方法及系统,方法包括:渲染线程接收加载资源请求,并查找资源管理器内是否已存在该资源,若是,则返回加载完成并结束;反之,则渲染线程创建存放该资源所需的内存,并根据加载资源请求的类型,读取对应的资源数据到内存中并返回加载状态。本发明通过将渲染线程和加载线程的功能进行分配,能最大程度消除渲染线程与加载线程之间的各种锁,并且能确保慢速的资源数据读取不会拖累到要求快速进行的渲染功能,从而能有效减少游戏体验过程中的卡顿现象,大大提升用户的游戏体验。本发明作为一种电子游戏资源高效加载方法及系统可广泛应用于计算机技术领域中。

Description

一种电子游戏资源高效加载方法及系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种电子游戏资源高效加载方法及系统。
背景技术
现在的各种电子游戏在运行过程中都需要加载各类游戏资源,同类游戏资源一般既有需要渲染线程同步加载的部分,也有可以通过加载线程进行异步加载的部分。但是现在大部分的技术方案中是在将整个加载功能中包含的各子功能作为一个整体,渲染线程和加载线程需要加载时都执行相同的流程,这样的话渲染线程和加载线程之间必然需要进行同步、互斥或加锁,因此这样比较容易导致加载线程会拖累渲染线程从而卡顿的现象。
发明内容
为了解决上述技术问题,本发明的目的是提供一种能有效减少卡顿现象,提升用户体验的一种电子游戏资源高效加载方法及系统。
本发明所采用的技术方案是:
一种电子游戏资源高效加载方法,包括以下步骤:
A、渲染线程接收加载资源请求,并查找资源管理器内是否已存在该资源,若是,则返回加载完成并结束;反之,则执行步骤B;
B、渲染线程创建存放该资源所需的内存;
C、根据加载资源请求的类型,读取对应的资源数据到内存中并返回加载状态。
作为所述的一种电子游戏资源高效加载方法的进一步改进,所述步骤C包括:
C1、判断加载资源请求是否是同步请求,若是,则渲染线程读取对应的资源数据到内存中,进而返回加载完成并结束;反之,则执行步骤C2;
C2、将加载资源请求添加至异步加载请求队列中,并返回等待加载状态;
C3、加载线程对异步加载请求队列中的加载资源请求进行处理,并返回加载状态。
作为所述的一种电子游戏资源高效加载方法的进一步改进,所述步骤C3包括:
C31、加载线程依次取出异步加载请求队列中的加载资源请求;
C32、根据取出的加载资源请求,加载线程读取对应的资源数据到内存中;
C33、返回加载完成并结束。
本发明所采用的另一技术方案是:
一种电子游戏资源高效加载系统,包括:
查找单元,用于渲染线程接收加载资源请求,并查找资源管理器内是否已存在该资源,若是,则返回加载完成并结束;反之,则执行创建单元;
创建单元,用于渲染线程创建存放该资源所需的内存;
加载单元,用于根据加载资源请求的类型,读取对应的资源数据到内存中并返回加载状态。
作为所述的一种电子游戏资源高效加载系统的进一步改进,所述加载单元包括:
判断单元,用于判断加载资源请求是否是同步请求,若是,则渲染线程读取对应的资源数据到内存中,进而返回加载完成并结束;反之,则执行异步队列添加单元;
异步队列添加单元,用于将加载资源请求添加至异步加载请求队列中,并返回等待加载状态;
加载线程处理单元,用于加载线程对异步加载请求队列中的加载资源请求进行处理,并返回加载状态。
作为所述的一种电子游戏资源高效加载系统的进一步改进,所述加载线程处理单元包括:
请求取出单元,用于加载线程依次取出异步加载请求队列中的加载资源请求;
数据读取单元,用于根据取出的加载资源请求,加载线程读取对应的资源数据到内存中;
状态返回单元,用于返回加载完成并结束。
本发明的有益效果是:
本发明一种电子游戏资源高效加载方法及系统通过将渲染线程和加载线程的功能进行分配,能最大程度消除渲染线程与加载线程之间的各种锁,并且能确保慢速的资源数据读取不会拖累到要求快速进行的渲染功能,从而能有效减少游戏体验过程中的卡顿现象,大大提升用户的游戏体验。
附图说明
下面结合附图对本发明的具体实施方式作进一步说明:
图1是本发明一种电子游戏资源高效加载方法的步骤流程图;
图2是本发明一种电子游戏资源高效加载方法步骤C的步骤流程图;
图3是本发明一种电子游戏资源高效加载方法步骤C3的步骤流程图;
图4是本发明一种电子游戏资源高效加载系统的模块方框图。
具体实施方式
参考图1,本发明一种电子游戏资源高效加载方法,包括以下步骤:
A、渲染线程接收加载资源请求,并查找资源管理器内是否已存在该资源,若是,则返回加载完成并结束;反之,则执行步骤B;
B、渲染线程创建存放该资源所需的内存;
C、根据加载资源请求的类型,读取对应的资源数据到内存中并返回加载状态。
参考图2,作为所述的一种电子游戏资源高效加载方法的进一步改进,所述步骤C包括:
C1、判断加载资源请求是否是同步请求,若是,则渲染线程读取对应的资源数据到内存中,进而返回加载完成并结束;反之,则执行步骤C2;
C2、将加载资源请求添加至异步加载请求队列中,并返回等待加载状态;
C3、加载线程对异步加载请求队列中的加载资源请求进行处理,并返回加载状态。
参考图3,作为所述的一种电子游戏资源高效加载方法的进一步改进,所述步骤C3包括:
C31、加载线程依次取出异步加载请求队列中的加载资源请求;
C32、根据取出的加载资源请求,加载线程读取对应的资源数据到内存中;
C33、返回加载完成并结束。
参考图4,本发明一种电子游戏资源高效加载系统,包括:
查找单元,用于渲染线程接收加载资源请求,并查找资源管理器内是否已存在该资源,若是,则返回加载完成并结束;反之,则执行创建单元;
创建单元,用于渲染线程创建存放该资源所需的内存;
加载单元,用于根据加载资源请求的类型,读取对应的资源数据到内存中并返回加载状态。
作为所述的一种电子游戏资源高效加载系统的进一步改进,所述加载单元包括:
判断单元,用于判断加载资源请求是否是同步请求,若是,则渲染线程读取对应的资源数据到内存中,进而返回加载完成并结束;反之,则执行异步队列添加单元;
异步队列添加单元,用于将加载资源请求添加至异步加载请求队列中,并返回等待加载状态;
加载线程处理单元,用于加载线程对异步加载请求队列中的加载资源请求进行处理,并返回加载状态。
作为所述的一种电子游戏资源高效加载系统的进一步改进,所述加载线程处理单元包括:
请求取出单元,用于加载线程依次取出异步加载请求队列中的加载资源请求;
数据读取单元,用于根据取出的加载资源请求,加载线程读取对应的资源数据到内存中;
状态返回单元,用于返回加载完成并结束。
本发明的具体实施例的流程为:
S1、渲染线程接收加载资源请求,并查找资源管理器内是否已存在该资源,若是,则返回加载完成并结束;反之,则执行步骤S2;
S2、渲染线程创建存放该资源所需的内存;
S3、判断加载资源请求是否是同步请求,若是,则渲染线程读取对应的资源数据到内存中,进而返回加载完成并结束;反之,则执行步骤S4;
S4、将加载资源请求添加至异步加载请求队列中,并返回等待加载状态;
S5、加载线程依次取出异步加载请求队列中的加载资源请求;
S6、根据取出的加载资源请求,加载线程读取对应的资源数据到内存中;
S7、返回加载完成并结束。
在《剑侠情缘网络版叁》游戏中,通过采用本发明,将渲染线程和加载线程专职化,分别进行查找、创建和加载的功能,仅通过异步加载请求队列进行通信,进行了快慢分离,使得卡顿现象大大减少,fps提升约10帧,性能提升接近30%。
在基于智能手机的手游中,采用本发明方案,在各种资源受限的情况下,通过渲染线程和加载线程各司其职并仅通过异步加载请求队列通信,能有效明显减少卡顿现象,提升了用户的游戏体验。
本发明一种电子游戏资源高效加载方法及系统通过将渲染线程和加载线程的功能进行分配,能最大程度消除渲染线程与加载线程之间的各种锁,并且能确保慢速的资源数据读取不会拖累到要求快速进行的渲染功能,从而能有效减少游戏体验过程中的卡顿现象,大大提升用户的游戏体验。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (4)

1.一种电子游戏资源高效加载方法,其特征在于,包括以下步骤:
A、渲染线程接收加载资源请求,并查找资源管理器内是否已存在该资源,若是,则返回加载完成并结束;反之,则执行步骤B;
B、渲染线程创建存放该资源所需的内存;
C、根据加载资源请求的类型,读取对应的资源数据到内存中并返回加载状态;
所述步骤C包括:
C1、判断加载资源请求是否是同步请求,若是,则渲染线程读取对应的资源数据到内存中,进而返回加载完成并结束;反之,则执行步骤C2;
C2、将加载资源请求添加至异步加载请求队列中,并返回等待加载状态;
C3、加载线程对异步加载请求队列中的加载资源请求进行处理,并返回加载状态。
2.根据权利要求1所述的一种电子游戏资源高效加载方法,其特征在于:所述步骤C3包括:
C31、加载线程依次取出异步加载请求队列中的加载资源请求;
C32、根据取出的加载资源请求,加载线程读取对应的资源数据到内存中;
C33、返回加载完成并结束。
3.一种电子游戏资源高效加载系统,其特征在于,包括:
查找单元,用于渲染线程接收加载资源请求,并查找资源管理器内是否已存在该资源,若是,则返回加载完成并结束;反之,则执行创建单元;
创建单元,用于渲染线程创建存放该资源所需的内存;
加载单元,用于根据加载资源请求的类型,读取对应的资源数据到内存中并返回加载状态;
所述加载单元包括:
判断单元,用于判断加载资源请求是否是同步请求,若是,则渲染线程读取对应的资源数据到内存中,进而返回加载完成并结束;反之,则执行异步队列添加单元;
异步队列添加单元,用于将加载资源请求添加至异步加载请求队列中,并返回等待加载状态;
加载线程处理单元,用于加载线程对异步加载请求队列中的加载资源请求进行处理,并返回加载状态。
4.根据权利要求3所述的一种电子游戏资源高效加载系统,其特征在于:所述加载线程处理单元包括:
请求取出单元,用于加载线程依次取出异步加载请求队列中的加载资源请求;
数据读取单元,用于根据取出的加载资源请求,加载线程读取对应的资源数据到内存中;
状态返回单元,用于返回加载完成并结束。
CN201410753185.3A 2014-12-09 2014-12-09 一种电子游戏资源高效加载方法及系统 Active CN104536780B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410753185.3A CN104536780B (zh) 2014-12-09 2014-12-09 一种电子游戏资源高效加载方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410753185.3A CN104536780B (zh) 2014-12-09 2014-12-09 一种电子游戏资源高效加载方法及系统

Publications (2)

Publication Number Publication Date
CN104536780A CN104536780A (zh) 2015-04-22
CN104536780B true CN104536780B (zh) 2018-04-20

Family

ID=52852312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410753185.3A Active CN104536780B (zh) 2014-12-09 2014-12-09 一种电子游戏资源高效加载方法及系统

Country Status (1)

Country Link
CN (1) CN104536780B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630556B (zh) * 2015-12-25 2019-02-19 北京像素软件科技股份有限公司 一种加载资源的方法和系统
CN106547595A (zh) * 2016-10-27 2017-03-29 霍尔果斯霹雳互动网络科技有限公司 一种ui资源加载方法和系统
CN107015871A (zh) * 2016-12-07 2017-08-04 阿里巴巴集团控股有限公司 一种数据处理方法和装置
CN106807087B (zh) * 2017-01-23 2018-07-06 腾讯科技(深圳)有限公司 一种应用中模拟对象处理的方法以及移动终端
CN110018889B (zh) * 2018-01-10 2021-06-15 武汉斗鱼网络科技有限公司 动画队列的排队方法、存储介质、设备及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631565A (zh) * 2013-11-13 2014-03-12 北京像素软件科技股份有限公司 场景资源的加载方法和加载装置
CN104102488A (zh) * 2014-07-18 2014-10-15 无锡梵天信息技术股份有限公司 一种基于多线程并行化的3d引擎系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150331836A9 (en) * 2011-10-17 2015-11-19 Opera Software Asa Graceful degradation of level-of-detail in document rendering

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631565A (zh) * 2013-11-13 2014-03-12 北京像素软件科技股份有限公司 场景资源的加载方法和加载装置
CN104102488A (zh) * 2014-07-18 2014-10-15 无锡梵天信息技术股份有限公司 一种基于多线程并行化的3d引擎系统

Also Published As

Publication number Publication date
CN104536780A (zh) 2015-04-22

Similar Documents

Publication Publication Date Title
CN104536780B (zh) 一种电子游戏资源高效加载方法及系统
CN103827818B (zh) Fifo加载指令
KR20140032924A (ko) 어플리케이션의 상호운용성을 촉진시키기 위한 방법 및 장치
US20140222947A1 (en) Method and apparatus for browsings webpages, and storage medium
CN104793973A (zh) 一种移动终端图片文件的加载方法及系统
US20180307700A1 (en) Method and apparatus for scanning files and intelligent terminal
CN104750620B (zh) 一种内存迁移方法及装置
CN103902318A (zh) 基于Android平台的图片加载方法
CN107526645A (zh) 一种通信优化方法及系统
CN107589990B (zh) 一种基于线程池的数据通讯的方法及系统
WO2017219524A1 (zh) 一种页面保存的方法及电子设备
CN107798039B (zh) 一种数据同步方法和装置
CN104035921B (zh) 一种信息处理方法及电子设备
CN106777170A (zh) 增强服务器访问速度的医疗信息化文件处理系统及方法
CN112306959B (zh) 一种移动存储设备的文件扫描方法、存储介质及设备终端
CN106933702A (zh) 一种智能终端存储空间管理的方法、装置及智能终端
CN106874020A (zh) 启动插件的方法及装置
CN105630583A (zh) 一种数据处理方法和装置
US9990369B2 (en) Method and apparatus for scanning files
CN110083355A (zh) 一种app页面的处理方法及装置
CN105630556A (zh) 一种加载资源的方法和系统
CN106201442B (zh) 应用程序的执行方法及装置
CN102609240B (zh) 处理器电路及读取数据的方法
CN115673610A (zh) 数字化焊接加工方法、系统及计算机设备
CN108920246A (zh) 表单草稿组件共享方法及装置、终端设备及可读存储介质

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: CHENGDU XISHANJU INTERACTIVE ENTERTAINMENT 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: CHENGDU XISHANJU INTERACTIVE ENTERTAINMENT TECHNOLOGY Co.,Ltd.