CN111773704B - 游戏数据处理方法、装置、存储介质、处理器及电子装置 - Google Patents
游戏数据处理方法、装置、存储介质、处理器及电子装置 Download PDFInfo
- Publication number
- CN111773704B CN111773704B CN202010760382.3A CN202010760382A CN111773704B CN 111773704 B CN111773704 B CN 111773704B CN 202010760382 A CN202010760382 A CN 202010760382A CN 111773704 B CN111773704 B CN 111773704B
- Authority
- CN
- China
- Prior art keywords
- game
- interface
- data
- data packet
- vertex
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000009877 rendering Methods 0.000 claims abstract description 112
- 238000000034 method Methods 0.000 claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 26
- 239000000872 buffer Substances 0.000 claims description 47
- 230000008569 process Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 19
- 239000012634 fragment Substances 0.000 claims description 14
- 230000006978 adaptation Effects 0.000 claims description 8
- 238000000638 solvent extraction Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000004806 packaging method and process Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 239000003086 colorant Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/30—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
- A63F2300/308—Details of the user interface
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Image Generation (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种游戏数据处理方法、装置、存储介质、处理器及电子装置。该方法包括:将待加载的游戏数据划分为多个数据包,其中,多个数据包至少包括:第一数据包和第二数据包,第一数据包中携带的内容包括:登录场景资源、配置文件,第二数据包中携带的内容包括:游戏逻辑代码、引擎代码,第一数据包的加载顺序优先于第二数据包的加载顺序;通过加载第一数据包,对第一游戏界面进行离屏渲染和绘制,其中,第一游戏界面为游戏声明界面;通过加载第二数据包,从第一游戏界面与第二游戏界面中确定待渲染的游戏界面,其中,第二游戏界面为游戏登录界面。本发明解决了相关技术中所涉及的分包策略受主包包体大小影响而导致首屏出现时间过长的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种游戏数据处理方法、装置、存储介质、处理器及电子装置。
背景技术
以社交软件平台为代表的小游戏具有无需下载,即点即玩的特性,受到诸多游戏玩家的青睐。此处无需下载是指不需要提前下载全部游戏资源,而只需要下载一个很小的游戏初始包体。因此,社交软件平台对于这个初始包体的大小具有非常严格的限制。由于小游戏在冷启动时需要将该初始包体全部下载完毕才能够开始启动游戏,因此初始包体的大小将会直接影响游戏玩家的游戏体验。随着小游戏行业的蓬勃发展,目前大部分平台均可以提供分包加载策略。在分包加载过程中,只需要将主包下载完毕之后便可以启动游戏,即,将分包下载时长分散到游戏运行中。因此,原则上主包的包体越小,游戏启动时长越短,游戏玩家体验更好。
发明内容
本发明至少部分实施例提供了一种游戏数据处理方法、装置、存储介质、处理器及电子装置,以至少解决相关技术中所涉及的分包策略受主包包体大小影响而导致首屏出现时间过长的技术问题。
根据本发明其中一实施例,提供了一种游戏数据处理方法,包括:
将待加载的游戏数据划分为多个数据包,其中,多个数据包至少包括:第一数据包和第二数据包,第一数据包中携带的内容包括:登录场景资源、配置文件,第二数据包中携带的内容包括:游戏逻辑代码、引擎代码,第一数据包的加载顺序优先于第二数据包的加载顺序;通过加载第一数据包,对第一游戏界面进行离屏渲染和绘制,其中,第一游戏界面为游戏声明界面;通过加载第二数据包,从第一游戏界面与第二游戏界面中确定待渲染的游戏界面,其中,第二游戏界面为游戏登录界面。
可选地,将待加载的游戏数据划分为多个数据包包括:从待加载的游戏数据选取第一部分游戏数据,并为第一部分游戏数据配置标识信息,其中,标识信息用于触发对第一部分游戏数据进行加载;将待加载的游戏数据中除第一部分游戏数据之外的第二部分游戏数据配置为第一数据包,以及将第一部分游戏数据配置为第二数据包。
可选地,对第一游戏界面进行离屏渲染和绘制包括:利用第一接口在离屏渲染画布上对第一游戏界面进行绘制,得到离屏渲染结果,其中,第一接口为二维绘图接口;利用第二接口对离屏渲染结果进行绘制,其中,第二接口为三维绘图接口。
可选地,利用第一接口对第一游戏界面进行离屏渲染,得到离屏渲染结果包括:利用第一接口创建离屏渲染画布;基于目标显示界面进行参数适配,得到配置结果;利用第一接口在离屏渲染画布上,将第一游戏界面中待绘制内容按照配置结果进行绘制,得到离屏渲染结果。
可选地,利用第二接口对离屏渲染结果进行绘制包括:构造与第二接口对应的第一缓冲区、第二缓冲区和着色器,其中,第一缓冲区用于存储顶点信息,第二缓冲区用于存储顶点索引,着色器包括:顶点着色器和片元着色器;基于离屏渲染结果确定第一缓冲区中存储的顶点信息以及第二缓冲区中存储的顶点索引;通过顶点着色器对初始顶点属性进行修改,得到目标顶点属性,其中,初始顶点属性由顶点信息和顶点索引确定;在对目标顶点属性进行光栅化处理之后,通过片元着色器计算待显示的像素颜色。
可选地,从第一游戏界面与第二游戏界面中确定待渲染的游戏界面包括:确定在对第一游戏界面进行离屏渲染的过程中配置有窗口对象属性标记,其中,窗口对象属性标记用于表示当前正在绘制第一游戏界面中待绘制内容;调用第一数据包中与待绘制内容对应的绘制逻辑,将第一游戏界面确定为待渲染的游戏界面。
可选地,上述方法还包括:在登录场景资源加载完毕之后,从第一游戏界面切换至第二游戏界面。
可选地,上述方法还包括:在登录场景资源加载完毕之后,清除窗口对象属性标记。
可选地,从第一游戏界面与第二游戏界面中确定待渲染的游戏界面包括:确定在对第一游戏界面进行离屏渲染的过程中未配置有窗口对象属性标记,其中,窗口对象属性标记用于表示当前正在绘制第一游戏界面中待绘制内容;调用预先设定的引擎渲染逻辑,将第二游戏界面确定为待渲染的游戏界面。
根据本发明其中一实施例,还提供了一种游戏数据处理装置,包括:
划分模块,用于将待加载的游戏数据划分为多个数据包,其中,多个数据包至少包括:第一数据包和第二数据包,第一数据包中携带的内容包括:登录场景资源、配置文件,第二数据包中携带的内容包括:游戏逻辑代码、引擎代码,第一数据包的加载顺序优先于第二数据包的加载顺序;处理模块,用于通过加载第一数据包,对第一游戏界面进行离屏渲染和绘制,其中,第一游戏界面为游戏声明界面;确定模块,用于通过加载第二数据包,从第一游戏界面与第二游戏界面中确定待渲染的游戏界面,其中,第二游戏界面为游戏登录界面。
可选地,划分模块,用于从待加载的游戏数据选取第一部分游戏数据,并为第一部分游戏数据配置标识信息,其中,标识信息用于触发对第一部分游戏数据进行加载;将待加载的游戏数据中除第一部分游戏数据之外的第二部分游戏数据配置为第一数据包,以及将第一部分游戏数据配置为第二数据包。
可选地,处理模块,用于利用第一接口在离屏渲染画布上对第一游戏界面进行绘制,得到离屏渲染结果,其中,第一接口为二维绘图接口;利用第二接口对离屏渲染结果进行绘制,其中,第二接口为三维绘图接口。
可选地,处理模块,用于利用第一接口创建离屏渲染画布;基于目标显示界面进行参数适配,得到配置结果;利用第一接口在离屏渲染画布上,将第一游戏界面中待绘制内容按照配置结果进行绘制,得到离屏渲染结果。
可选地,处理模块,用于构造与第二接口对应的第一缓冲区、第二缓冲区和着色器,其中,第一缓冲区用于存储顶点信息,第二缓冲区用于存储顶点索引,着色器包括:顶点着色器和片元着色器;基于离屏渲染结果确定第一缓冲区中存储的顶点信息以及第二缓冲区中存储的顶点索引;通过顶点着色器对初始顶点属性进行修改,得到目标顶点属性,其中,初始顶点属性由顶点信息和顶点索引确定;在对目标顶点属性进行光栅化处理之后,通过片元着色器计算待显示的像素颜色。
可选地,确定模块,用于确定在对第一游戏界面进行离屏渲染的过程中配置有窗口对象属性标记,其中,窗口对象属性标记用于表示当前正在绘制第一游戏界面中待绘制内容;调用第一数据包中与待绘制内容对应的绘制逻辑,将第一游戏界面确定为待渲染的游戏界面。
可选地,上述装置还包括:切换模块,用于在登录场景资源加载完毕之后,从第一游戏界面切换至第二游戏界面。
可选地,上述装置还包括:清除模块,用于在登录场景资源加载完毕之后,清除窗口对象属性标记。
可选地,确定模块,用于确定在对第一游戏界面进行离屏渲染的过程中未配置有窗口对象属性标记,其中,窗口对象属性标记用于表示当前正在绘制第一游戏界面中待绘制内容;调用预先设定的引擎渲染逻辑,将第二游戏界面确定为待渲染的游戏界面。
根据本发明其中一实施例,还提供了一种存储介质,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项中的游戏数据处理方法。
根据本发明其中一实施例,还提供了一种处理器,处理器用于运行程序,其中,程序被设置为运行时执行上述任一项中的游戏数据处理方法。
根据本发明其中一实施例,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项中的游戏数据处理方法。
在本发明至少部分实施例中,采用将待加载的游戏数据划分为多个数据包,多个数据包至少包括第一数据包和第二数据包,第一数据包中携带的内容包括登录场景资源、配置文件,第二数据包中携带的内容包括游戏逻辑代码、引擎代码,第一数据包的加载顺序优先于第二数据包的加载顺序的方式,通过加载第一数据包,对第一游戏界面进行离屏渲染和绘制以及通过加载第二数据包从第一游戏界面与第二游戏界面中确定待渲染的游戏界面,达到了对第一数据包的大小进行最大程度最小化的目的,从而实现了不但保留分包加载过程中游戏逻辑代码的拓展空间,而且还有效地减少分包加载所消耗时长的技术效果,进而解决了相关技术中所涉及的分包策略受主包包体大小影响而导致首屏出现时间过长的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明其中一实施例的游戏数据处理方法的流程图;
图2是根据本发明其中一可选实施例的主包与分包无缝渲染时序示意图;
图3是根据本发明其中一实施例的游戏数据处理装置的结构框图;
图4是根据本发明其中一可选实施例的游戏数据处理装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
(1)小游戏是指基于超文本标记语言(HTML)5技术的一种小型页游,其特点在于:即点即玩,无需下载安装,体验轻便。在通常情况下,小游戏依托社交平台。
(2)冷启动是指如果首次开启小程序或者在小程序销毁之后被重新开启,此时小程序需要重新加载启动。即,该过程被称为冷启动。
(3)热启动是指如果小程序已经开启,在经过一段时间被再次开启,此时小程序并未被销毁,只是从后台运行状态进入前台运行状态。即,该过程被称为热启动。
(4)分包加载是指按照预设规则将待加载的游戏数据拆分为多个数据包,在首次启动时优先下载必要的数据包,这些必要的数据包被称为“主包”,在主包内触发其它分包的下载,从而将首次启动的下载耗时分散到游戏运行中。在以下实施例中,第一数据包即为主包,而第二数据包即为分包。
主包通常可以包括但不限于:登录界面资源,闪屏资源和引擎代码,由此可以在加载主包之后显示闪屏和登录界面,以及后台下载分包中的游戏逻辑代码。
当采用一些简短且可读性较差的字符来替换代码中的声明和引用的变量,引擎代码和逻辑代码合并成一个文件时,由于引擎变量的声明和引用在同一个文件,因此便于替换和压缩。当引擎文件和逻辑代码分开时,逻辑代码中引用的引擎变量是外部变量,此时无法被压缩替换。而引擎文件则更无法压缩替换。作为第三方库,一旦独立被压缩替换,其变量和模块无法被引用的模块识别。
因此,在将引擎代码和逻辑代码分开之后,主包中的引擎代码难以混淆和压缩,由此导致引擎代码所占用空间变大。在通常情况下,不同类型的引擎代码在未压缩状态下的大小存在一定差异。以Laya引擎为例,引擎代码大小在未压缩状态下约为2.5M。如果在此基础上再增加渠道配置和登录界面资源,主包大小会超过3M,从优化主包大小为目标角度来看,优化效果并不明显。
根据本发明其中一实施例,提供了一种游戏数据处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,该移动终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,简称为MID)、PAD等终端设备。移动终端可以包括一个或多个处理器(处理器可以包括但不限于中央处理器(CPU)、图形处理器(GPU)、数字信号处理(DSP)芯片、微处理器(MCU)、可编程逻辑器件(FPGA)、神经网络处理器(NPU)、张量处理器(TPU)、人工智能(AI)类型处理器等的处理装置)和用于存储数据的存储器。可选地,上述移动终端还可以包括用于通信功能的传输设备、输入输出设备以及显示设备。本领域普通技术人员可以理解,上述结构描述仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比上述结构描述更多或者更少的组件,或者具有与上述结构描述不同的配置。
存储器可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的游戏数据处理方法对应的计算机程序,处理器通过运行存储在存储器内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的游戏数据处理方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
显示设备可以例如触摸屏式的液晶显示器(LCD)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与移动终端的用户界面进行交互。在一些实施例中,上述移动终端具有图形用户界面(GUI),用户可以通过触摸触敏表面上的手指接触和/或手势来与GUI进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
在本实施例中提供了一种运行于上述移动终端的游戏数据处理方法,图1是根据本发明其中一实施例的游戏数据处理方法的流程图,如图1所示,该方法可以包括如下步骤:
步骤S11,将待加载的游戏数据划分为多个数据包,其中,多个数据包至少包括:第一数据包和第二数据包,第一数据包中携带的内容包括:登录场景资源、配置文件,第二数据包中携带的内容包括:游戏逻辑代码、引擎代码,第一数据包的加载顺序优先于第二数据包的加载顺序;
步骤S12,通过加载第一数据包,对第一游戏界面进行离屏渲染和绘制,其中,第一游戏界面为游戏声明界面;
步骤S13,通过加载第二数据包,从第一游戏界面与第二游戏界面中确定待渲染的游戏界面,其中,第二游戏界面为游戏登录界面。
通过上述步骤,可以采用将待加载的游戏数据划分为多个数据包,多个数据包至少包括第一数据包和第二数据包,第一数据包中携带的内容包括登录场景资源、配置文件,第二数据包中携带的内容包括游戏逻辑代码、引擎代码,第一数据包的加载顺序优先于第二数据包的加载顺序的方式,通过加载第一数据包,对第一游戏界面(即首屏)进行离屏渲染(其是指在游戏运行时将游戏场景或者游戏画面渲染至帧缓冲对象)和绘制以及通过加载第二数据包从第一游戏界面与第二游戏界面中确定待渲染的游戏界面,达到了对第一数据包的大小进行最大程度最小化的目的,从而实现了不但保留分包加载过程中游戏逻辑代码的拓展空间,而且还有效地减少分包加载所消耗时长的技术效果,进而解决了相关技术中所涉及的分包策略受主包包体大小影响而导致首屏出现时间过长的技术问题。
上述第一游戏界面为游戏声明界面(即游戏闪屏界面),该游戏声明界面用于声明游戏的出处,例如:开发公司logo,或者一些必要的政策性声明,例如:适度游戏,注意休息。上述第二游戏界面为游戏登录界面。
在一个可选实施例中,主包只需要包括渠道必要配置文件,由此使得主包大小得到最大程度最小化。渠道必要配置文件可以包括但不限于:
(1)平台配置文件、游戏标识、分包配置等游戏特征配置信息;
(2)平台环境配置,用于适配HTML5环境;
(3)一些代理渠道的软件开发工具包(SDK)。
可选地,在步骤S11中,将待加载的游戏数据划分为多个数据包可以包括以下执行步骤:
步骤S111,从待加载的游戏数据选取第一部分游戏数据,并为第一部分游戏数据配置标识信息,其中,标识信息用于触发对第一部分游戏数据进行加载;
步骤S112,将待加载的游戏数据中除第一部分游戏数据之外的第二部分游戏数据配置为第一数据包,以及将第一部分游戏数据配置为第二数据包。
在对待加载的游戏数据进行划分的过程中,可以从待加载的游戏数据选取第一部分游戏数据,并为第一部分游戏数据配置标识信息。该标识信息用于触发对第一部分游戏数据进行加载。然后,再将待加载的游戏数据中除第一部分游戏数据之外的第二部分游戏数据配置为第一数据包以及将第一部分游戏数据配置为第二数据包。
在一个可选示例中,小游戏配置文件可以包括但不限于如下文件:
(1)tm_sdk文件;
(2)wxlocal文件;
(3)code.js文件;
(4)dom.js文件;
(5)dom.parser.js文件;
(6)game.js文件;
……
其中,tm_sdk文件为第三方代理sdk,其需要放置在主包中,wxlocal为登录界面资源,code.js文件包含有引擎代码、第三方库以及游戏逻辑代码,其余则为配置文件。
为此,通过配置一个分包(subpackages),其分包名称为stage1(即上述标识信息),分包内容为code.js文件(即上述第一部分游戏数据)。而除了code.js文件之外的其余文件(即上述第二部分游戏数据)则构成主包内容。在主包加载完毕之后,可以通过stage1来触发分包的加载。如果分包也加载成功,则游戏开始正常运行。
与相关技术中所提供的技术方案相比,如果相关技术中所提供的分包加载方式将引擎代码放入主包中,则包体大小分布为:主包3.7MB,其可以包括引擎代码2.5MB、登录界面资源0.6MB以及配置文件0.6MB;而分包则包含游戏逻辑代码2.5MB。
在采用本发明实施例所提供的技术方案之后,如果将引擎代码放入分包中,则包体大小分布为:主包1.2MB,其可以包括登录界面资源0.6MB和配置文件0.6MB;而分包则包含游戏逻辑代码与引擎代码,总共3.4MB。
由此可见,如果将引擎代码与游戏逻辑代码分别放置在主包和分包中,则无法进行混淆和压缩,分别需要占用2.5MB的包体大小。然而,在将游戏逻辑代码与引擎代码整合至分包之后,可以对游戏逻辑代码与引擎代码进行混淆和压缩,从而所占用的包体大小缩减为3.4MB。此外,为了保留分包中游戏逻辑代码的拓展空间并减少分包加载时长,仍然将登录界面资源放入主包中。但是,即便如此,主包的也包体大小只有1.2MB,其与主包3.7MB相比,仍然缩减了2.5MB,同时还能够有效地确保主包与分包在渲染方面无缝切换。
可选地,在步骤S12中,对第一游戏界面进行离屏渲染和绘制可以包括以下执行步骤:
步骤S121,利用第一接口在离屏渲染画布上对第一游戏界面进行绘制,得到离屏渲染结果,其中,第一接口为二维绘图接口;
步骤S122,利用第二接口对离屏渲染结果进行绘制,其中,第二接口为三维绘图接口。
在一个可选示例中,上述第一接口为CanvasRendering2D接口,上述第二接口为webgl接口。在加载主包之后,通过调用CanvasRendering2D接口在离屏渲染画布上对游戏闪屏界面进行绘制,得到离屏渲染结果,由此可以展示游戏闪屏功能。然后,再通过webgl接口对离屏渲染结果加以绘制,从而通过此种方式来使用Canvas 2D context绘制游戏闪屏界面,同时又能够保留Canvas的webgl特性。
需要说明的是,为了节省资源,可以通过接口绘制方法来制作游戏闪屏界面而无需使用图片纹理。考虑到使用主Canvas的2D接口直接绘制会使得主Canvas webgl接口失效(即一个Canvas只能具有一个context,如果获取到2D的context,则webgl context便会失效)。为了不影响游戏性能,可以使用离线Canvas的2D接口离屏渲染游戏闪屏界面,然后再使用主Canvas的webgl接口来绘制离屏渲染结果。
可选地,在步骤S121中,利用第一接口对第一游戏界面进行离屏渲染,得到离屏渲染结果可以包括以下执行步骤:
步骤S1211,利用第一接口创建离屏渲染画布;
步骤S1212,基于目标显示界面进行参数适配,得到配置结果;
步骤S1213,利用第一接口在离屏渲染画布上,将第一游戏界面中待绘制内容按照配置结果进行绘制,得到离屏渲染结果。
Canvas为HTML5中一个重要特征,其实质是一个画布。在主包渲染逻辑中,可以使用CanvasRendering2D(其为一种二维绘图接口)接口离屏渲染游戏闪屏界面。简单的闪屏内容可以通过2D接口绘制,由此节省纹理开销。当离屏渲染游戏闪屏界面时,首先,需要创建离屏渲染Canvas;其次,需要基于目标显示界面(即不同品牌、不同型号的移动终端分别具有不同尺寸的显示界面)进行参数适配以得到配置结果;然后,再利用CanvasRendering2D接口在离屏渲染Canvas上,将游戏闪屏界面中待绘制内容按照配置结果进行绘制以得到离屏渲染结果。
可选地,在步骤S122中,利用第二接口对离屏渲染结果进行绘制可以包括以下执行步骤:
步骤S1221,构造与第二接口对应的第一缓冲区、第二缓冲区和着色器,其中,第一缓冲区用于存储顶点信息,第二缓冲区用于存储顶点索引,着色器包括:顶点着色器和片元着色器;
步骤S1222,基于离屏渲染结果确定第一缓冲区中存储的顶点信息以及第二缓冲区中存储的顶点索引;
步骤S1223,通过顶点着色器对初始顶点属性进行修改,得到目标顶点属性,其中,初始顶点属性由顶点信息和顶点索引确定;
步骤S1224,在对目标顶点属性进行光栅化处理之后,通过片元着色器计算待显示的像素颜色。
在离屏渲染完毕之后,分别构造顶点缓冲区(即上述第一缓冲区,vertexbuffer),索引缓冲区(即上述第二缓冲区,index buffer)以及着色器(shader)内容。由于使用webgl 3d绘制的基本元素为三角形面片,因此,可以采用vertex buffer存储顶点信息,以及采用index buffer来存储三角形面片的顶点索引(即三角形面片是由哪些顶点构成)。shader是webgl管线中可编程模块,其可以分为顶点shader和片元shader。基于离屏渲染结果可以确定vertex buffer中存储的顶点信息以及index buffer中存储的顶点索引。在vertex buffer和index buffer传入GPU之后,可以通过顶点shader来修改每个顶点的属性,并在光栅化处理之后通过片元shader来计算每个像素的颜色,进而通过webgl接口对离屏渲染结果进行绘制。
需要说明的是,此处未采用CanvasRendering2D接口直接绘制在主Canvas上并直接显示,而是选择先离屏渲染然后再采用webgl接口进行绘制的原因在于:确保主Canvas的webgl特性。基于如果获取主Canvas的CanvasRendering2D context,那么主cavas将无法再获取其他context,由此会导致失去webgl特性,从而造成游戏中后续所有绘制操作均由CanvasRendering2D来完成,进而极大地影响游戏显示性能。
可选地,在步骤S13中,从第一游戏界面与第二游戏界面中确定待渲染的游戏界面可以包括以下执行步骤:
步骤S131,确定在对第一游戏界面进行离屏渲染的过程中配置有窗口对象属性标记,其中,窗口对象属性标记用于表示当前正在绘制第一游戏界面中待绘制内容;
步骤S132,调用第一数据包中与待绘制内容对应的绘制逻辑,将第一游戏界面确定为待渲染的游戏界面。
在对第一游戏界面进行离屏渲染的过程中,可以通过配置窗口(window)对象属性标记,来表示当前正在绘制第一游戏界面中待绘制内容。如果确定在对第一游戏界面进行离屏渲染的过程中配置有窗口对象属性标记,则可以调用第一数据包中与待绘制内容对应的绘制逻辑,将第一游戏界面确定为待渲染的游戏界面。
图2是根据本发明其中一可选实施例的主包与分包无缝渲染时序示意图,如图2所示,为了实现主包与分包之间的无缝切换,首先需要完成主包加载,其次通过上述方式绘制游戏闪屏界面,然后再调用接口触发分包加载。在分包加载完毕之后,便可以开始进行引擎初始化等工作,并在登录界面资源加载完毕之后进入游戏逻辑。在引擎初始化过程中会对Canvas进行重置,先前所绘制的闪屏内容会被清除,由此易造成黑屏现象。该黑屏现象将会一直持续到登录界面资源加载完毕之后开始渲染游戏内容。
为了解决上述黑屏现象,可以设置窗口对象属性标记来表示当前正在绘制闪屏内容,例如:当检测到window对象的mainCanvas属性(其相当于上述窗口对象属性标记)时,表示正在绘制游戏闪屏内容。考虑到主包与分包相对独立,如果分包希望访问主包中的闪屏绘制逻辑,则需要将闪屏绘制逻辑通过window对象传递给分包,以使分包可以访问主包中的闪屏绘制逻辑。
在一个可选实施例中,draw表示使用webgl接口绘制闪屏逻辑函数,即:
window.mainCanvasRender=draw。
通过修改引擎渲染帧,如果检测到window.mainCanvas标记,则确定需要绘制游戏闪屏界面。如果需要绘制游戏闪屏界面,则可以通过window.mainCanvasRender来绘制游戏闪屏界面。
可选地,上述方法还可以包括以下执行步骤:
步骤S14,在登录场景资源加载完毕之后,从第一游戏界面切换至第二游戏界面。
当登录界面资源加载完毕时,便可以渲染游戏登录界面。此时,需要控制目标显示界面中的显示内容从游戏闪屏界面切换至游戏登录界面。
可选地,上述方法还可以包括以下执行步骤:
步骤S15,在登录场景资源加载完毕之后,清除窗口对象属性标记。
当登录界面资源加载完毕,可以直接渲染游戏登录界面时,无需再渲染游戏闪屏界面,此时便可以将window.mainCanvas标记加以清除。
可选地,在步骤S13中,从第一游戏界面与第二游戏界面中确定待渲染的游戏界面可以包括以下执行步骤:
步骤S131,确定在对第一游戏界面进行离屏渲染的过程中未配置有窗口对象属性标记,其中,窗口对象属性标记用于表示当前正在绘制第一游戏界面中待绘制内容;
步骤S132,调用预先设定的引擎渲染逻辑,将第二游戏界面确定为待渲染的游戏界面。
通过修改引擎渲染帧,如果未能检测到window.mainCanvas标记,则无需绘制游戏闪屏界面,而是运行引擎渲染逻辑(其包括:游戏登录界面的渲染以及后续游戏运行过程中游戏画面的渲染)。由此,在分包加载成功之后,通过修改引擎渲染逻辑能够使得游戏从游戏闪屏界面无缝切换到游戏登录界面,而不会因为初始化引擎清理Canvas状态而出现黑屏和闪烁的表现。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种游戏数据处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明其中一实施例的游戏数据处理装置的结构框图,如图3所示,该装置包括:划分模块10,用于将待加载的游戏数据划分为多个数据包,其中,多个数据包至少包括:第一数据包和第二数据包,第一数据包中携带的内容包括:登录场景资源、配置文件,第二数据包中携带的内容包括:游戏逻辑代码、引擎代码,第一数据包的加载顺序优先于第二数据包的加载顺序;处理模块20,用于通过加载第一数据包,对第一游戏界面进行离屏渲染和绘制,其中,第一游戏界面为游戏声明界面;确定模块30,用于通过加载第二数据包,从第一游戏界面与第二游戏界面中确定待渲染的游戏界面,其中,第二游戏界面为游戏登录界面。
可选地,划分模块10,用于从待加载的游戏数据选取第一部分游戏数据,并为第一部分游戏数据配置标识信息,其中,标识信息用于触发对第一部分游戏数据进行加载;将待加载的游戏数据中除第一部分游戏数据之外的第二部分游戏数据配置为第一数据包,以及将第一部分游戏数据配置为第二数据包。
可选地,处理模块20,用于利用第一接口在离屏渲染画布上对第一游戏界面进行绘制,得到离屏渲染结果,其中,第一接口为二维绘图接口;利用第二接口对离屏渲染结果进行绘制,其中,第二接口为三维绘图接口。
可选地,处理模块20,用于利用第一接口创建离屏渲染画布;基于目标显示界面进行参数适配,得到配置结果;利用第一接口在离屏渲染画布上,将第一游戏界面中待绘制内容按照配置结果进行绘制,得到离屏渲染结果。
可选地,处理模块20,用于构造与第二接口对应的第一缓冲区、第二缓冲区和着色器,其中,第一缓冲区用于存储顶点信息,第二缓冲区用于存储顶点索引,着色器包括:顶点着色器和片元着色器;基于离屏渲染结果确定第一缓冲区中存储的顶点信息以及第二缓冲区中存储的顶点索引;通过顶点着色器对初始顶点属性进行修改,得到目标顶点属性,其中,初始顶点属性由顶点信息和顶点索引确定;在对目标顶点属性进行光栅化处理之后,通过片元着色器计算待显示的像素颜色。
可选地,确定模块30,用于确定在对第一游戏界面进行离屏渲染的过程中配置有窗口对象属性标记,其中,窗口对象属性标记用于表示当前正在绘制第一游戏界面中待绘制内容;调用第一数据包中与待绘制内容对应的绘制逻辑,将第一游戏界面确定为待渲染的游戏界面。
可选地,图4是根据本发明其中一可选实施例的游戏数据处理装置的结构框图,如图4所示,该装置除包括图3所示的所有模块外,上述装置还包括:切换模块40,用于在登录场景资源加载完毕之后,从第一游戏界面切换至第二游戏界面。
可选地,如图4所示,上述装置还包括:清除模块50,用于在登录场景资源加载完毕之后,清除窗口对象属性标记。
可选地,确定模块30,用于确定在对第一游戏界面进行离屏渲染的过程中未配置有窗口对象属性标记,其中,窗口对象属性标记用于表示当前正在绘制第一游戏界面中待绘制内容;调用预先设定的引擎渲染逻辑,将第二游戏界面确定为待渲染的游戏界面。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,将待加载的游戏数据划分为多个数据包,其中,多个数据包至少包括:第一数据包和第二数据包,第一数据包中携带的内容包括:登录场景资源、配置文件,第二数据包中携带的内容包括:游戏逻辑代码、引擎代码,第一数据包的加载顺序优先于第二数据包的加载顺序;
S2,通过加载第一数据包,对第一游戏界面进行离屏渲染和绘制,其中,第一游戏界面为游戏声明界面;
S3,通过加载第二数据包,从第一游戏界面与第二游戏界面中确定待渲染的游戏界面,其中,第二游戏界面为游戏登录界面。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,将待加载的游戏数据划分为多个数据包,其中,多个数据包至少包括:第一数据包和第二数据包,第一数据包中携带的内容包括:登录场景资源、配置文件,第二数据包中携带的内容包括:游戏逻辑代码、引擎代码,第一数据包的加载顺序优先于第二数据包的加载顺序;
S2,通过加载第一数据包,对第一游戏界面进行离屏渲染和绘制,其中,第一游戏界面为游戏声明界面;
S3,通过加载第二数据包,从第一游戏界面与第二游戏界面中确定待渲染的游戏界面,其中,第二游戏界面为游戏登录界面。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (17)
1.一种游戏数据处理方法,其特征在于,包括:
将待加载的游戏数据划分为多个数据包,其中,所述多个数据包至少包括:第一数据包和第二数据包,所述第一数据包中携带的内容包括:登录场景资源、配置文件,所述第二数据包中携带的内容包括:游戏逻辑代码、引擎代码,所述第一数据包的加载顺序优先于所述第二数据包的加载顺序;
通过加载所述第一数据包,对第一游戏界面进行离屏渲染和绘制,其中,所述第一游戏界面为游戏声明界面;
通过加载所述第二数据包,从所述第一游戏界面与第二游戏界面中确定待渲染的游戏界面,其中,所述第二游戏界面为游戏登录界面;
其中,从所述第一游戏界面与所述第二游戏界面中确定所述待渲染的游戏界面包括:确定在对所述第一游戏界面进行离屏渲染的过程中配置有窗口对象属性标记,其中,所述窗口对象属性标记用于表示当前正在绘制所述第一游戏界面中待绘制内容;调用所述第一数据包中与所述待绘制内容对应的绘制逻辑,将所述第一游戏界面确定为所述待渲染的游戏界面;或
确定在对所述第一游戏界面进行离屏渲染的过程中配置有窗口对象属性标记,其中,所述窗口对象属性标记用于表示当前正在绘制所述第一游戏界面中待绘制内容;调用所述第一数据包中与所述待绘制内容对应的绘制逻辑,将所述第一游戏界面确定为所述待渲染的游戏界面。
2.根据权利要求1所述的方法,其特征在于,将所述待加载的游戏数据划分为所述多个数据包包括:
从所述待加载的游戏数据选取第一部分游戏数据,并为所述第一部分游戏数据配置标识信息,其中,所述标识信息用于触发对所述第一部分游戏数据进行加载;
将所述待加载的游戏数据中除所述第一部分游戏数据之外的第二部分游戏数据配置为所述第一数据包,以及将所述第一部分游戏数据配置为所述第二数据包。
3.根据权利要求1所述的方法,其特征在于,对所述第一游戏界面进行离屏渲染和绘制包括:
利用第一接口在离屏渲染画布上对所述第一游戏界面进行绘制,得到离屏渲染结果,其中,所述第一接口为二维绘图接口;
利用第二接口对所述离屏渲染结果进行绘制,其中,所述第二接口为三维绘图接口。
4.根据权利要求3所述的方法,其特征在于,利用所述第一接口对所述第一游戏界面进行离屏渲染,得到所述离屏渲染结果包括:
利用所述第一接口创建所述离屏渲染画布;
基于目标显示界面进行参数适配,得到配置结果;
利用所述第一接口在所述离屏渲染画布上,将所述第一游戏界面中待绘制内容按照所述配置结果进行绘制,得到所述离屏渲染结果。
5.根据权利要求3所述的方法,其特征在于,利用所述第二接口对所述离屏渲染结果进行绘制包括:
构造与所述第二接口对应的第一缓冲区、第二缓冲区和着色器,其中,所述第一缓冲区用于存储顶点信息,所述第二缓冲区用于存储顶点索引,所述着色器包括:顶点着色器和片元着色器;
基于所述离屏渲染结果确定所述第一缓冲区中存储的所述顶点信息以及所述第二缓冲区中存储的所述顶点索引;
通过所述顶点着色器对初始顶点属性进行修改,得到目标顶点属性,其中,所述初始顶点属性由所述顶点信息和所述顶点索引确定;
在对所述目标顶点属性进行光栅化处理之后,通过所述片元着色器计算待显示的像素颜色。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述登录场景资源加载完毕之后,从所述第一游戏界面切换至所述第二游戏界面。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述登录场景资源加载完毕之后,清除所述窗口对象属性标记。
8.一种游戏数据处理装置,其特征在于,包括:
划分模块,用于将待加载的游戏数据划分为多个数据包,其中,所述多个数据包至少包括:第一数据包和第二数据包,所述第一数据包中携带的内容包括:登录场景资源、配置文件,所述第二数据包中携带的内容包括:游戏逻辑代码、引擎代码,所述第一数据包的加载顺序优先于所述第二数据包的加载顺序;
处理模块,用于通过加载所述第一数据包,对第一游戏界面进行离屏渲染和绘制,其中,所述第一游戏界面为游戏声明界面;
确定模块,用于通过加载所述第二数据包,从所述第一游戏界面与第二游戏界面中确定待渲染的游戏界面,其中,所述第二游戏界面为游戏登录界面;
其中,所述确定模块,用于确定在对所述第一游戏界面进行离屏渲染的过程中配置有窗口对象属性标记,其中,所述窗口对象属性标记用于表示当前正在绘制所述第一游戏界面中待绘制内容;调用所述第一数据包中与所述待绘制内容对应的绘制逻辑,将所述第一游戏界面确定为所述待渲染的游戏界面;
所述确定模块,还用于确定在对所述第一游戏界面进行离屏渲染的过程中未配置有窗口对象属性标记,其中,所述窗口对象属性标记用于表示当前正在绘制所述第一游戏界面中待绘制内容;调用预先设定的引擎渲染逻辑,将所述第二游戏界面确定为所述待渲染的游戏界面。
9.根据权利要求8所述的装置,其特征在于,所述划分模块,用于从所述待加载的游戏数据选取第一部分游戏数据,并为所述第一部分游戏数据配置标识信息,其中,所述标识信息用于触发对所述第一部分游戏数据进行加载;将所述待加载的游戏数据中除所述第一部分游戏数据之外的第二部分游戏数据配置为所述第一数据包,以及将所述第一部分游戏数据配置为所述第二数据包。
10.根据权利要求8所述的装置,其特征在于,所述处理模块,用于利用第一接口在离屏渲染画布上对所述第一游戏界面进行绘制,得到离屏渲染结果,其中,所述第一接口为二维绘图接口;利用第二接口对所述离屏渲染结果进行绘制,其中,所述第二接口为三维绘图接口。
11.根据权利要求10所述的装置,其特征在于,所述处理模块,用于利用所述第一接口创建所述离屏渲染画布;基于目标显示界面进行参数适配,得到配置结果;利用所述第一接口在所述离屏渲染画布上,将所述第一游戏界面中待绘制内容按照所述配置结果进行绘制,得到所述离屏渲染结果。
12.根据权利要求10所述的装置,其特征在于,所述处理模块,用于构造与所述第二接口对应的第一缓冲区、第二缓冲区和着色器,其中,所述第一缓冲区用于存储顶点信息,所述第二缓冲区用于存储顶点索引,所述着色器包括:顶点着色器和片元着色器;基于所述离屏渲染结果确定所述第一缓冲区中存储的所述顶点信息以及所述第二缓冲区中存储的所述顶点索引;通过所述顶点着色器对初始顶点属性进行修改,得到目标顶点属性,其中,所述初始顶点属性由所述顶点信息和所述顶点索引确定;在对所述目标顶点属性进行光栅化处理之后,通过所述片元着色器计算待显示的像素颜色。
13.根据权利要求8所述的装置,其特征在于,所述装置还包括:
切换模块,用于在所述登录场景资源加载完毕之后,从所述第一游戏界面切换至所述第二游戏界面。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
清除模块,用于在所述登录场景资源加载完毕之后,清除所述窗口对象属性标记。
15.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的游戏数据处理方法。
16.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序被设置为运行时执行所述权利要求1至7任一项中所述的游戏数据处理方法。
17.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的游戏数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010760382.3A CN111773704B (zh) | 2020-07-31 | 2020-07-31 | 游戏数据处理方法、装置、存储介质、处理器及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010760382.3A CN111773704B (zh) | 2020-07-31 | 2020-07-31 | 游戏数据处理方法、装置、存储介质、处理器及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111773704A CN111773704A (zh) | 2020-10-16 |
CN111773704B true CN111773704B (zh) | 2024-02-23 |
Family
ID=72766546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010760382.3A Active CN111773704B (zh) | 2020-07-31 | 2020-07-31 | 游戏数据处理方法、装置、存储介质、处理器及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111773704B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112631689A (zh) * | 2021-01-04 | 2021-04-09 | 北京字节跳动网络技术有限公司 | 一种应用程序加载的方法、装置以及计算机存储介质 |
CN112784200A (zh) * | 2021-01-28 | 2021-05-11 | 百度在线网络技术(北京)有限公司 | 页面数据处理方法、装置、设备、介质和计算机程序产品 |
CN113617022B (zh) * | 2021-08-09 | 2024-04-05 | 在线途游(北京)科技有限公司 | 一种加快游戏应用启动速度的方法及装置 |
CN114327675B (zh) * | 2021-12-23 | 2023-08-01 | 广东明创软件科技有限公司 | 小游戏应用的启动方法及相关装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1439462A2 (en) * | 2003-01-17 | 2004-07-21 | Microsoft Corporation | Converting XML code to binary format |
CN103186399A (zh) * | 2011-12-31 | 2013-07-03 | 深圳市快播科技有限公司 | 大型游戏包的下载方法及装置 |
CN103246529A (zh) * | 2012-02-13 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 更新和推送导航栏的方法、设备和*** |
CN105094920A (zh) * | 2015-08-14 | 2015-11-25 | 网易(杭州)网络有限公司 | 一种游戏渲染方法和装置 |
WO2019015591A1 (zh) * | 2017-07-21 | 2019-01-24 | 腾讯科技(深圳)有限公司 | 游戏渲染方法、游戏资源文件的生成方法、装置及设备 |
CN110090436A (zh) * | 2019-04-23 | 2019-08-06 | 深圳易帆互动科技有限公司 | H5小游戏资源缓存方法 |
-
2020
- 2020-07-31 CN CN202010760382.3A patent/CN111773704B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1439462A2 (en) * | 2003-01-17 | 2004-07-21 | Microsoft Corporation | Converting XML code to binary format |
CN103186399A (zh) * | 2011-12-31 | 2013-07-03 | 深圳市快播科技有限公司 | 大型游戏包的下载方法及装置 |
CN103246529A (zh) * | 2012-02-13 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 更新和推送导航栏的方法、设备和*** |
CN105094920A (zh) * | 2015-08-14 | 2015-11-25 | 网易(杭州)网络有限公司 | 一种游戏渲染方法和装置 |
WO2019015591A1 (zh) * | 2017-07-21 | 2019-01-24 | 腾讯科技(深圳)有限公司 | 游戏渲染方法、游戏资源文件的生成方法、装置及设备 |
CN110090436A (zh) * | 2019-04-23 | 2019-08-06 | 深圳易帆互动科技有限公司 | H5小游戏资源缓存方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111773704A (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111773704B (zh) | 游戏数据处理方法、装置、存储介质、处理器及电子装置 | |
JP6901623B2 (ja) | ゲームレンダリング方法、ゲームリソースファイルの生成方法、その方法を実現する装置及びデバイス | |
CA2814420C (en) | Load balancing between general purpose processors and graphics processors | |
CN112988400B (zh) | 显存优化方法、装置、电子设备以及可读存储介质 | |
US10949226B2 (en) | Display method of multi-application based on Android system, and terminal device | |
JP2006209108A (ja) | フォントキャッシュとメタフォント | |
CN110559659A (zh) | 一种游戏渲染优化方法、装置、设备及存储介质 | |
CN108211352A (zh) | 一种调节画质的方法及终端 | |
CN111722885B (zh) | 程序运行方法、装置以及电子设备 | |
CN112799801B (zh) | 一种模拟鼠标指针绘制方法、装置、设备和介质 | |
CN101336122B (zh) | 游戏装置及游戏装置的控制方法 | |
WO2022033162A1 (zh) | 一种模型加载方法以及相关装置 | |
CN110908762A (zh) | 一种动态壁纸实现方法及设备 | |
CN112023402B (zh) | 游戏数据处理方法、装置、设备以及介质 | |
WO2023197762A1 (zh) | 图像渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN115309516A (zh) | 一种应用生命周期的检测方法、装置及计算机设备 | |
CN112423111A (zh) | 图形引擎和适用于播放器的图形处理方法 | |
CN114254305A (zh) | Android***应用隔离方法及装置 | |
CN113360200A (zh) | 一种目标程序植入页面运行的方法和装置 | |
CN111773679B (zh) | 游戏中图标的处理方法及装置 | |
CN115120966A (zh) | 流体效果的渲染方法和装置 | |
CN114155334A (zh) | 一种场景渲染方法、装置、计算机设备及存储介质 | |
CN108390916B (zh) | 一种图片下载的方法及终端 | |
CN111243069A (zh) | 一种Unity3D引擎的场景切换方法和*** | |
CN114816629B (zh) | 绘制显示对象的方法、装置、存储介质及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |