CN113893532A - 技能画面的显示方法和装置、存储介质及电子设备 - Google Patents
技能画面的显示方法和装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113893532A CN113893532A CN202111163816.2A CN202111163816A CN113893532A CN 113893532 A CN113893532 A CN 113893532A CN 202111163816 A CN202111163816 A CN 202111163816A CN 113893532 A CN113893532 A CN 113893532A
- Authority
- CN
- China
- Prior art keywords
- skill
- node
- nodes
- data
- array
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000012545 processing Methods 0.000 claims abstract description 254
- 230000006870 function Effects 0.000 claims description 47
- 230000015654 memory Effects 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 25
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 38
- 239000008280 blood Substances 0.000 description 27
- 210000004369 blood Anatomy 0.000 description 27
- 230000006378 damage Effects 0.000 description 14
- 208000027418 Wounds and injury Diseases 0.000 description 11
- 208000014674 injury Diseases 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000013507 mapping Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
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/55—Controlling game characters or game objects based on the game progress
-
- 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/50—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 details of game servers
- A63F2300/53—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 details of game servers details of basic data processing
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种技能画面的显示方法和装置、存储介质及电子设备。其中,该方法包括:获取当前帧中待处理的第一组技能节点;在第一组技能节点中包括类型相同的多个技能节点时,对类型相同的多个技能节点进行并行处理,得到对应的多个处理结果;在当前帧中显示第一组处理结果对应的第一组技能画面。本发明解决了相关技术中技能释放时出现的画面卡顿的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种技能画面的显示方法和装置、存储介质及电子设备。
背景技术
在相关游戏场景中,多个玩家操控的虚拟角色同时使用游戏技能,这样在一帧游戏画面中需要同时显示多个虚拟角色使用的多个数量的技能。现有技术中是以技能为单位对游戏画面中的多个技能进行处理,每个技能在释放和显示动画效果时包括多个技能节点。例如,一帧游戏画面中包括虚拟角色1释放的技能A,以及虚拟角色2释放的技能2,其中,技能A中包括5个技能节点,技能2中包括10个技能节点。现有技术中,在对一帧游戏画面中的技能进行处理时,需要将技能A和技能B分别依次进行处理,例如,先依次处理技能A中的5个技能节点,再处理技能B中的10个技能节点。
然而在上述处理方式中,对于一帧游戏画面中包括的技能数量较多,或者,每个技能中包括的技能节点数过多的情况下,一帧游戏画面的技能处理时间较长,容易出现画面卡顿的现象。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种技能画面的显示方法和装置、存储介质及电子设备,以至少解决相关技术中技能释放时出现的画面卡顿的技术问题。
根据本发明实施例的一个方面,提供了一种技能画面的显示方法,包括:获取当前帧中待处理的第一组技能节点,其中,所述第一组技能节点中的每个技能节点是第一组技能中对应的技能包括的技能节点,所述第一组技能包括已释放的、且技能动画未显示完成的技能,所述第一组技能中的每个技能包括具有跳转关系的一组技能节点;在所述第一组技能节点中包括类型相同的多个技能节点时,对所述类型相同的多个技能节点进行并行处理,得到对应的多个处理结果;在所述当前帧中显示第一组处理结果对应的第一组技能画面,其中,所述第一组处理结果是对所述第一组技能节点中的每个技能节点进行处理所得到的处理结果,所述第一组处理结果包括所述多个处理结果。
可选地,在所述第一组技能节点中包括类型相同的多个技能节点时,对所述类型相同的多个技能节点进行并行处理,得到对应的多个处理结果,包括:在所述第一组技能节点中包括所述类型相同的多个技能节点时,将所述多个技能节点中的每个技能节点的节点数据放入到同一个目标数组中,其中,所述目标数组中的每个数组成员包括所述多个技能节点中对应的技能节点的节点数据,所述多个技能节点中的每个技能节点的节点数据的数据大小相同;对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果。
可选地,所述对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果,包括:通过目标指令对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果;或者通过多个进程对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果。
可选地,所述通过目标指令对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果,包括:在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的目标运算函数的输入参数时,通过相同的一条指令或多条指令对所述N个数组成员中的输入参数并行执行所述目标运算函数,得到N个运算结果,其中,N为大于或等于2的正整数,所述多个处理结果为所述N个运算结果;或者,在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的第一数据量时,通过相同的一条指令或多条指令读取数据大小为所述第一数据量的N组数据,其中,N为大于或等于2的正整数,所述多个处理结果为读取的N组数据;或者,在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的第二数据量时,通过相同的一条指令或多条指令写入数据大小为所述第二数据量的N组数据,其中,N为大于或等于2的正整数,所述多个处理结果为写入的N组数据。
可选地,所述通过目标指令对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果,包括:通过CPU的相同的一条硬件指令或多条硬件指令,对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果。
可选地,所述通过多个进程对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果,包括:在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的目标运算函数的输入参数时,通过M个进程对所述N个数组成员中的输入参数并行执行所述目标运算函数,得到N个运算结果,其中,M和N为大于或等于2的正整数,所述多个处理结果为所述N个运算结果;或者,在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的第一数据量时,通过M个进程读取数据大小为所述第一数据量的N组数据,其中,M和N为大于或等于2的正整数,所述多个处理结果为读取的N组数据;或者,在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的第二数据量时,通过M个进程写入数据大小为所述第二数据量的N组数据,其中,M和N为大于或等于2的正整数,所述多个处理结果为写入的N组数据。
可选地,所述方法还包括:将所述目标数组加载到目标缓存中;所述对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果,包括:从所述目标缓存中读取所述目标数组,并对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果。
可选地,所述方法还包括:获取所述第一组技能中的每个不同技能的技能描述信息,其中,对于所述每个不同技能,仅存储一份对应的技能描述信息,所述每个不同技能的技能描述信息包括跳转关系信息和技能节点信息,所述跳转关系信息用于表示所述每个不同技能包括的一组技能节点之间的跳转关系,所述技能节点信息包括所述每个不同技能包括的一组技能节点中的每个技能节点的节点数据;根据所述每个不同技能的技能描述信息,判断所述第一组技能节点中是否包括所述类型相同的多个技能节点。
可选地,所述根据所述每个不同技能的技能描述信息,判断所述第一组技能节点中是否包括所述类型相同的多个技能节点,包括:在第一技能节点和第二技能节点对应相同的技能描述信息、且所述相同的技能描述信息表示所述第一技能节点和所述第二技能节点是同一个技能中的相同技能节点时,判断出所述第一技能节点和所述第二技能节点是所述类型相同的技能节点,其中,所述第一组技能节点包括所述第一技能节点和所述第二技能节点;或者,在所述第一技能节点和所述第二技能节点对应不同的技能描述信息、且所述不同的技能描述信息表示所述第一技能节点的节点数据和所述第二技能节点的节点数据均包括相同的目标运算函数的输入参数时,判断出所述第一技能节点和所述第二技能节点是所述类型相同的技能节点,其中,所述第一组技能节点包括所述第一技能节点和所述第二技能节点;或者,在所述第一技能节点和所述第二技能节点对应不同的技能描述信息、且所述不同的技能描述信息表示所述第一技能节点的节点数据和所述第二技能节点的节点数据均包括相同的第一数据量时,判断出所述第一技能节点和所述第二技能节点是所述类型相同的技能节点,其中,所述第一组技能节点包括所述第一技能节点和所述第二技能节点,所述第一数据量是待读取数据的数据大小;或者,在所述第一技能节点和所述第二技能节点对应不同的技能描述信息、且所述不同的技能描述信息表示所述第一技能节点的节点数据和所述第二技能节点的节点数据均包括相同的第二数据量时,判断出所述第一技能节点和所述第二技能节点是所述类型相同的技能节点,其中,所述第一组技能节点包括所述第一技能节点和所述第二技能节点,所述第二数据量是待写入数据的数据大小。
可选地,所述方法还包括:获取目标帧中待处理的第二组技能节点,其中,所述目标帧是所述当前帧的下一帧,所述第二组技能节点中的每个技能节点是第二组技能中对应的技能包括的技能节点,所述第二组技能包括已释放的、且技能动画未显示完成的技能,所述第二组技能中的每个技能包括具有跳转关系的一组技能节点,所述第一组技能与所述第二组技能包括相同的技能;在所述第二组技能节点中包括类型相同的多个技能节点时,对所述第二组技能节点中类型相同的多个技能节点进行并行处理,得到对应的多个处理结果;在所述目标帧中显示第二组处理结果对应的第二组技能画面,其中,所述第二组处理结果是对所述第二组技能节点中的每个技能节点进行处理所得到的处理结果,所述第二组处理结果包括对所述第二组技能节点中类型相同的多个技能节点进行并行处理所得到的多个处理结果。
可选地,所述方法还包括:在所述目标帧中显示第三组技能画面,其中,所述第三组技能画面是所述第一组处理结果中的部分处理结果对应的待在所述目标帧中显示的技能画面,所述部分处理结果对应的技能画面包括在多帧上显示的技能画面。
根据本发明实施例的另一方面,还提供了一种技能画面的显示装置,包括:获取模块,用于获取当前帧中待处理的第一组技能节点,其中,所述第一组技能节点中的每个技能节点是第一组技能中对应的技能包括的技能节点,所述第一组技能包括已释放的、且技能动画未显示完成的技能,所述第一组技能中的每个技能包括具有跳转关系的一组技能节点;处理模块,用于在所述第一组技能节点中包括类型相同的多个技能节点时,对所述类型相同的多个技能节点进行并行处理,得到对应的多个处理结果;显示模块,用于在所述当前帧中显示第一组处理结果对应的第一组技能画面,其中,所述第一组处理结果是对所述第一组技能节点中的每个技能节点进行处理所得到的处理结果,所述第一组处理结果包括所述多个处理结果。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述技能画面的显示方法。
根据本申请实施例的又一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技能画面的显示方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的技能画面的显示方法。
在本发明实施例中,一帧游戏画面中需要显示的多个游戏技能对应一组技能节点,对于相同类型的技能节点通过并行的方式进行处理。这样对于不同游戏技能中的相同技能节点就可以同时进行处理。提升了不同游戏技能中技能节点的处理速度,提升了一帧游戏画面中多个游戏技能的处理速度,减少了耗时。进而解决了相关技术中技能释放时出现的画面卡顿的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的技能画面的显示方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的技能画面的显示方法流程图;
图3是根据本发明实施例的一种可选的技能节点示意图;
图4是根据本发明实施例的一种可选的游戏画面示意图一;
图5是根据本发明实施例的一种可选的目标数组结构示意图;
图6是根据本发明实施例的另一种可选的目标数组结构示意图;
图7是根据本发明实施例的另一种可选的目标数组结构示意图;
图8是根据本发明实施例的另一种可选的目标数组结构示意图;
图9是根据本发明实施例的另一种可选的目标数组结构示意图;
图10是根据本发明实施例的另一种可选的目标数组结构示意图;
图11是根据本发明实施例的另一种可选的目标数组结构示意图;
图12是根据本发明实施例的另一种可选的技能节点示意图;
图13是根据本发明实施例的另一种可选的技能运行时序图;
图14是根据本发明实施例的另一种可选的游戏画面的切换示意图;
图15是根据本发明实施例的另一种可选的游戏画面示意图;
图16是根据本发明实施例的一种可选的技能系统的整体框架图;
图17是根据本发明实施例的一种可选的CPU核读写数据的示意图;
图18是根据本发明实施例的一种可选的多级缓存示意图一;
图19是根据本发明实施例的一种可选的多级缓存示意图二;
图20是根据本发明实施例的一种可选的CPU芯片示意图;
图21是根据本发明实施例的一种可选的多级缓存示意图三;
图22是根据本发明实施例的一种可选的技能画面的显示装置的结构示意图;
图23是根据本发明实施例的一种可选的电子设备的结构示意图;
图24是根据本发明实施例的一种可选的电子设备的计算机系统结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种技能画面的显示方法,可选地,作为一种可选的实施方式,上述技能画面的显示方法可以但不限于应用于如图1所示的应用环境中。上述应用环境中包括:用户设备102和服务器112,其中,用户设备中包括存储器104、处理器106和显示器108,其中,存储器104用于存储游戏数据,包括但不限于上述当前帧游戏画面中的数据,例如技能节点。上述处理器106用于对游戏数据进行处理,包括但不限于对类型相同的多个技能节点进行并行处理。上述显示器108用于显示游戏画面,游戏画面中包括虚拟按键,通过虚拟按键获取玩家对虚拟角色的控制指令,上述游戏画面还可以显示当前帧游戏画面。
可选地,在本实施例中,上述用户设备可以是配置有目标客户端的终端设备,可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视等。目标客户端可以是视频客户端、即时通信客户端、浏览器客户端、游戏客户端等。上述网络110可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述服务器112可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述服务器中包括数据库114和处理引擎116,其中,数据库114用于存储游戏数据,包括但不限于上述当前帧游戏画面中的数据,例如技能节点。上述处理引擎116用于对游戏数据进行处理,包括但不限于对类型相同的多个技能节点进行并行处理。上述仅是一种示例,本实施例中对此不作任何限定。
可选地,作为一种可选的实施方式,如图2所示,上述技能画面的显示方法包括:
步骤S202,获取当前帧中待处理的第一组技能节点,其中,所述第一组技能节点中的每个技能节点是第一组技能中对应的技能包括的技能节点,所述第一组技能包括已释放的、且技能动画未显示完成的技能,所述第一组技能中的每个技能包括具有跳转关系的一组技能节点;
其中,上述当前帧可以是游戏应用中待显示的一帧游戏画面,游戏应用可以是现有技术中的任何游戏,例如射击类游戏、竞速类游戏等。该帧游戏画面中包括多个玩家操控的多个虚拟角色,多个虚拟角色在该帧游戏画面中可以同时使用游戏技能。如图3是技能编辑器中编辑的一个游戏技能,该游戏技能可以是现有技术中的任意游戏技能,例如,大招固定、冰冻、镰刀拉回、钩子、捆绑、射击、加速等游戏技能。图中每个元素(301至306)是一个技能节点,节点之间是有向连接的,执行该技能时,按照节点之间的连接方向依次执行。上述第一组技能中包括一个或多个游戏技能,多个游戏技能可以是当前帧游戏画面中待处理的多个虚拟角色分别使用的技能,每个技能包括多个技能节点。上述第一组技能中包括的技能是玩家已经释放,但还未在游戏画面中显示完成的技能。
步骤S204,在所述第一组技能节点中包括类型相同的多个技能节点时,对所述类型相同的多个技能节点进行并行处理,得到对应的多个处理结果;
其中,类型相同的多个技能节点包括但不限于节点的执行逻辑处理或执行的逻辑运算是相同的。例如,技能节点1执行的逻辑运算是计算虚拟角色A的剩余血量,技能节点2执行的逻辑运算是计算虚拟角色B的剩余血量,技能节点1和技能节点2均是用于计算虚拟角色的剩余血量,则技能节点1和技能节点2属于类型相同的技能节点。又例如,技能节点3执行的逻辑运算是计算虚拟角色A的伤害值,技能节点4执行的逻辑运算是计算虚拟角色B的伤害值,技能节点3和技能节点4执行的逻辑运算均值计算虚拟角色的伤害值,则技能节点3和技能节点4属于类型相同的技能节点。在本申请中,对于类型相同的技能节点进行并行处理,可以提高技能节点的处理速度,提升效率。
步骤S206,在所述当前帧中显示第一组处理结果对应的第一组技能画面,其中,所述第一组处理结果是对所述第一组技能节点中的每个技能节点进行处理所得到的处理结果,所述第一组处理结果包括所述多个处理结果。
其中,对第一组技能节点中的每个节点进行处理,得到相应的处理结果,其中相同类型的技能节点并行处理。第一组处理结果中包括每个技能节点的处理结果,在得到每个技能节点的处理结果后,在当前帧的游戏画面中显示每个处理结果对应的技能。如图4所示是根据本发明可选实施例的当前帧游戏画面示意图,在该图中显示了多个玩家操控的多个虚拟角色,多个虚拟角色使用不同的游戏技能,在该游戏画面中同时显示了多个虚拟角色释放的游戏技能。
可选地,在所述第一组技能节点中包括类型相同的多个技能节点时,对所述类型相同的多个技能节点进行并行处理,得到对应的多个处理结果,包括:在所述第一组技能节点中包括所述类型相同的多个技能节点时,将所述多个技能节点中的每个技能节点的节点数据放入到同一个目标数组中,其中,所述目标数组中的每个数组成员包括所述多个技能节点中对应的技能节点的节点数据,所述多个技能节点中的每个技能节点的节点数据的数据大小相同;对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果。
作为一个可选的实施方式,上述节点数据包括但不限于技能节点执行逻辑运算时的数据,例如:运算参数、描述信息等。假设当前帧游戏画面中的多个游戏技能中共包括4个技能节点,4个技能节点中的3个技能节点(技能节点1、技能节点2和技能节点3)的类型相同。假设3个技能节点所执行的逻辑运算均是计算虚拟角色的剩余血量。计算虚拟角色的剩余血量的计算逻辑是A-B=剩余血量,其中,A是总血量,B是伤害值。将类型相同的3个技能节点的节点数据(例如上述A和B)存储在同一个数组中。如图5所示,目标数组中包括数组成员1、数组成员2和数组成员3,每个数组成员中存储了对应技能节点的节点数据,例如,数组成员1中记录了技能节点1的节点数据,数组成员2中记录了技能节点2的节点数据,数组成员3中记录了技能节点3的节点数据。因为相同类型的技能节点执行的逻辑运算是相同的,运算参数的字节长度,以及描述信息是相同的(对应于上述数据大小相同),这样一方面可以节省数据的存储空间,另一方面在对类型相同的技能节点进行并行处理时,可以对数组中类型相同的技能节点的节点数据进行并行处理。
可选地,所述对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果,包括:通过目标指令对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果;或者,通过多个进程对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果。
作为一个可选的实施方式,上述目标指令可以是中央处理器CPU的硬件指令,例如SIMD指令。可以通过CPU的硬件指令访问目标数组中的各个数组成员,对访问的各个数组成员进行并行处理。如图6所示,中央处理器CPU通过向目标数组中的每个数组成员(数组成员1、数组成员2和数组成员3)发送SIMD指令,通过SIMD指令访问每个数组成员中的节点数据,实现目标数组中各个数组成员的并行处理,得到每个数组成员的相应处理结果,以此达到类型相同的技能节点可以并行处理的目的。
作为一个可选的实施方式,也可以通过多个进程实现并行处理。如图7所示,调用进程1、进程2和进程3,通过进程访问每个数组成员中的节点数据,实现目标数组中各个数组成员的并行处理,得到每个数组成员的相应处理结果,以此达到类型相同的技能节点可以并行处理的目的。
可选地,所述通过目标指令对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果,包括:在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的目标运算函数的输入参数时,通过相同的一条指令或多条指令对所述N个数组成员中的输入参数并行执行所述目标运算函数,得到N个运算结果,其中,N为大于或等于2的正整数,所述多个处理结果为所述N个运算结果;或者,在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的第一数据量时,通过相同的一条指令或多条指令读取数据大小为所述第一数据量的N组数据,其中,N为大于或等于2的正整数,所述多个处理结果为读取的N组数据;或者,在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的第二数据量时,通过相同的一条指令或多条指令写入数据大小为所述第二数据量的N组数据,其中,N为大于或等于2的正整数,所述多个处理结果为写入的N组数据。
作为一个可选的实施方式,上述目标运算函数包括但不限于加法、减法、乘法等现有技术中的运算函数。在本实施例中,确定包含相同运算函数的技能节点确定为类型相同的技能节点。例如,类型相同的技能节点A、技能节点B和技能节点C,技能节点A、技能节点B和技能节点C中包括的目标运算函数计算逻辑是A-B=C,其中,C是剩余血量,A是总血量,B是伤害值。在目标数组中包括数组成员A、数组成员B和数组成员C,其中,数组成员A中存储的是技能节点A的节点数据,数组成员B中存储的是技能节点B的节点数据,数组成员C中存储的是技能节点C的节点数据。如图8中所示,其中,A1、A2、A3均为总血量,A1、A2、A3的数值可以不同,例如,A1为虚拟角色1的总血量,A2为虚拟角色2的总血量、A3为虚拟角色3的总血量。同理B1、B2、B3均为伤害值,B1、B2、B3的数值可以不同,例如,B1为虚拟角色1的伤害值,B2为虚拟角色2的伤害值、B3为虚拟角色3的伤害值。C1、C2、C3均为剩余血量,C1、C2、C3的数值可以不同,例如,C1为虚拟角色1的剩余血量,C2为虚拟角色2的剩余血量、C3为虚拟角色3的剩余血量。可以通过一条或多条指令并行处理上述数组成员1、数组成员2和数组成员3中的运算函数。例如图8中通过一条SIMD实现数组成员1、数组成员2和数组成员3中的运算函数并行处理。
作为一个可选的实施方式,可以将包含数据量相同的技能节点作为类型相同的技能节点。如图9所示的数组成员1中存储的是技能节点1的节点数据,数组成员2中存储的是技能节点2的节点数据,数组成员3中存储的是技能节点3的节点数据。技能节点1、技能节点2和技能节点3是类型相同的技能节点。数组成员1、数组成员2和数组成员3中存储的数据的字节数相同,均是字节数为T(第一数据量)的数据,T值可以根据实际情况而定,例如8字节、16字节等。可以通过一条或多条指令读取数组成员1、数组成员2和数组成员3中的节点数据,如图9中通过一条SIMD指令同时读取数组成员1、数组成员2和数组成员3中的节点数据,以实现对数组成员1、数组成员2和数组成员3中的节点数据进行并行处理。
作为一个可选的实施方式,可以将包含数据量相同的技能节点作为类型相同的技能节点。如图9所示的数组成员1中存储的是技能节点1的节点数据,数组成员2中存储的是技能节点2的节点数据,数组成员3中存储的是技能节点3的节点数据。技能节点1、技能节点2和技能节点3是类型相同的技能节点。数组成员1、数组成员2和数组成员3中存储的数据的字节数相同,均是字节数为T(第二数据量)的数据,T值可以根据实际情况而定,例如8字节、16字节等。可以通过一条或多条指令读取数组成员1、数组成员2和数组成员3中的节点数据,如图9中通过一条SIMD指令同时写入数组成员1、数组成员2和数组成员3中的节点数据,以实现对数组成员1、数组成员2和数组成员3中的节点数据进行并行处理。
可选地,所述通过目标指令对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果,包括:通过CPU的相同的一条硬件指令或多条硬件指令,对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果。
作为一个可选的实施方式,上述硬件指令可以是CPU硬件指令,例如上述SIMD指令。
可选地,所述通过多个进程对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果,包括:在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的目标运算函数的输入参数时,通过M个进程对所述N个数组成员中的输入参数并行执行所述目标运算函数,得到N个运算结果,其中,M和N为大于或等于2的正整数,所述多个处理结果为所述N个运算结果;或者在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的第一数据量时,通过M个进程读取数据大小为所述第一数据量的N组数据,其中,M和N为大于或等于2的正整数,所述多个处理结果为读取的N组数据;或者在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的第二数据量时,通过M个进程写入数据大小为所述第二数据量的N组数据,其中,M和N为大于或等于2的正整数,所述多个处理结果为写入的N组数据。
作为一个可选的实施方式,上述目标运算函数包括但不限于加法、减法、乘法等现有技术中的运算函数。在本实施例中,确定包含相同运算函数的技能节点确定为类型相同的技能节点。例如,类型相同的技能节点A、技能节点B和技能节点C,技能节点A、技能节点B和技能节点C中包括的目标运算函数计算逻辑是A-B=C,其中,C是剩余血量,A是总血量,B是伤害值。在目标数组中包括数组成员A、数组成员B和数组成员C,其中,数组成员A中存储的是技能节点A的节点数据,数组成员B中存储的是技能节点B的节点数据,数组成员C中存储的是技能节点C的节点数据。如图10中所示,其中,A1、A2、A3均为总血量,A1、A2、A3的数值可以不同,例如,A1为虚拟角色1的总血量,A2为虚拟角色2的总血量、A3为虚拟角色3的总血量。同理B1、B2、B3均为伤害值,B1、B2、B3的数值可以不同,例如,B1为虚拟角色1的伤害值,B2为虚拟角色2的伤害值、B3为虚拟角色3的伤害值。C1、C2、C3均为剩余血量,C1、C2、C3的数值可以不同,例如,C1为虚拟角色1的剩余血量,C2为虚拟角色2的剩余血量、C3为虚拟角色3的剩余血量。可以通过M个进程并行处理上述数组成员1、数组成员2和数组成员3中的运算函数,其中,M可以等于N,也可以小于N。例如图10中通过3个进程并行处理上述数组成员1、数组成员2和数组成员3中的运算函数,以实现类型相同的技能节点的节点数据可以并行处理的目的。
作为一个可选的实施方式,可以将包含数据量相同的技能节点作为类型相同的技能节点。如图11所示的数组成员1中存储的是技能节点1的节点数据,数组成员2中存储的是技能节点2的节点数据,数组成员3中存储的是技能节点3的节点数据。技能节点1、技能节点2和技能节点3是类型相同的技能节点。数组成员1、数组成员2和数组成员3中存储的数据的字节数相同,均是字节数为T(第一数据量)的数据,T值可以根据实际情况而定,例如8字节、16字节等。可以通过M个进程并行读取上述数组成员1、数组成员2和数组成员3中的节点数,其中,M可以等于N,也可以小于N中据,如图11中通过3个进程同时读取数组成员1、数组成员2和数组成员3中的节点数据,以实现对数组成员1、数组成员2和数组成员3中的节点数据进行并行处理。
作为一个可选的实施方式,可以将包含数据量相同的技能节点作为类型相同的技能节点。如图11所示的数组成员1中存储的是技能节点1的节点数据,数组成员2中存储的是技能节点2的节点数据,数组成员3中存储的是技能节点3的节点数据。技能节点1、技能节点2和技能节点3是类型相同的技能节点。数组成员1、数组成员2和数组成员3中存储的数据的字节数相同,均是字节数为T(第二数据量)的数据,T值可以根据实际情况而定,例如8字节、16字节等。可以通过M个进程并行写入上述数组成员1、数组成员2和数组成员3中的节点数,其中,M可以等于N,也可以小于N中据,如图11中通过3个进程同时写入数组成员1、数组成员2和数组成员3中的节点数据,以实现对数组成员1、数组成员2和数组成员3中的节点数据进行并行处理。
可选地,所述方法还包括:将所述目标数组加载到目标缓存中;所述对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果,包括:从所述目标缓存中读取所述目标数组,并对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果。
作为一个可选的实施方式,CPU需要把目标数组加载进缓存,在对目标数组中的每个数组成员中记录的节点数据进行并行处理时,在缓存中读取目标数组,并目标数组中的各个数组成员进行并行处理。例如,上述目标数组中包括的数组成员1、数组成员2和数组成员3存储在缓存中,在缓存中读取数组成员1、数组成员2和数组成员3,对数组成员1、数组成员2和数组成员3中的节点数据进行并行处理。
可选地,所述方法还包括:获取所述第一组技能中的每个不同技能的技能描述信息,其中,对于所述每个不同技能,仅存储一份对应的技能描述信息,所述每个不同技能的技能描述信息包括跳转关系信息和技能节点信息,所述跳转关系信息用于表示所述每个不同技能包括的一组技能节点之间的跳转关系,所述技能节点信息包括所述每个不同技能包括的一组技能节点中的每个技能节点的节点数据;根据所述每个不同技能的技能描述信息,判断所述第一组技能节点中是否包括所述类型相同的多个技能节点。
作为一个可选的实施方式,每个技能对应一个技能描述信息,技能描述信息(Graph)由技能节点信息,跳转关系,只读数据三部分组成,运行时只存在唯一实例,由编辑器导出为xml或json文件保存。如图12所示是技能描述信息结构示意图,图中所述的技能包括技能节点1到技能节点n,其中,技能节点信息包括但不限于图中所示的Start、Cast、Hit等,其中,Start表示开始节点,Cast表示释放节点,Hit表示受击节点。节点信息中还包括节点数据,例如图中所示的节点2的属性集中的前摇时间、释放时间、打断时间等。技能描述信息(Graph)中还包括技能节点之间的跳转关系,例如图中所示的节点1出口列表为节点2,节点2出口列表节点3、4,技能节点之间的跳转关系可以用于表示每个技能包含的多个技能节点的连接顺序。
可选地,所述根据所述每个不同技能的技能描述信息,判断所述第一组技能节点中是否包括所述类型相同的多个技能节点,包括:在第一技能节点和第二技能节点对应相同的技能描述信息、且所述相同的技能描述信息表示所述第一技能节点和所述第二技能节点是同一个技能中的相同技能节点时,判断出所述第一技能节点和所述第二技能节点是所述类型相同的技能节点,其中,所述第一组技能节点包括所述第一技能节点和所述第二技能节点;或者在所述第一技能节点和所述第二技能节点对应不同的技能描述信息、且所述不同的技能描述信息表示所述第一技能节点的节点数据和所述第二技能节点的节点数据均包括相同的目标运算函数的输入参数时,判断出所述第一技能节点和所述第二技能节点是所述类型相同的技能节点,其中,所述第一组技能节点包括所述第一技能节点和所述第二技能节点;或者在所述第一技能节点和所述第二技能节点对应不同的技能描述信息、且所述不同的技能描述信息表示所述第一技能节点的节点数据和所述第二技能节点的节点数据均包括相同的第一数据量时,判断出所述第一技能节点和所述第二技能节点是所述类型相同的技能节点,其中,所述第一组技能节点包括所述第一技能节点和所述第二技能节点,所述第一数据量是待读取数据的数据大小;或者在所述第一技能节点和所述第二技能节点对应不同的技能描述信息、且所述不同的技能描述信息表示所述第一技能节点的节点数据和所述第二技能节点的节点数据均包括相同的第二数据量时,判断出所述第一技能节点和所述第二技能节点是所述类型相同的技能节点,其中,所述第一组技能节点包括所述第一技能节点和所述第二技能节点,所述第二数据量是待写入数据的数据大小。
作为一个可选的实施方式,在同一个技能中具有相同技能信息的技能节点作为相同类型的技能节点。例如在技能A中包括技能节点1和技能节点2,技能节点1和技能节点2的技能描述信息均为cast,则确定技能节点1和技能节点2是相同类型的技能节点,技能节点1和技能节点2可以并行处理,上述技能A可以是当前帧游戏画面中一个虚拟角色如图12所示,其中,技能描述信息包括但不限于图中所示的释放节点(cast)、搜索节点(search)、受击节点(Hit)、效果节点(Effect),以及动画节点(Play Anim)。如图中所示,对于描述信息相同的技能节点作为类型相同的技能节点并行进行处理,如图12中所示的游戏技能对应的技能描述信息示意图,假设该技能描述信息是技能A的技能描述信息,其中的1201和1202是相同的技能节点,确定1201和1202是类型相同的技能节点。
作为一个可选的实施方式,相同类型的技能节点也可能是不同技能描述信息中的技能节点。如图13中,释放节点(cast)、搜索节点(Search)、受击节点(Hit),以及效果节点(Effect)和动画节点(Play Anim)分别来自不同的技能描述信息(Graph)。假设上述释放节点(cast)对应的运算函数均为f1,搜索节点(Search)对应的运算函数为f2,受击节点(Hit)对应的运算函数为f3,效果节点(Effect)对应的运算函数是f4和动画节点(Play Anim)对应的运算函数为f5。不同技能描述信息中运算函数相同的释放节点(cast)可以并行处理,不同技能描述信息中运算函数相同的搜索节点(Search)可以并行处理。如图中所示的Graph1、Graph2和Graph3是不同的技能描述信息,不同技能描述信息中的释放节点(cast)可以并行处理,搜索节点(Search)可以并行处理。
作为一个可选的实施方式,对于不同技能描述信息中待读取数据的数据量相同的技能节点属于类型相同的技能节点,例如,Graph1中的技能节点1待读取数据的数据量是8比特,Graph2中的技能节点2待读取数据的数据量也是8比特,则Graph1中的技能节点1和Graph2中的技能节点2是相同类型的技能节点。
作为一个可选的实施方式,对于不同技能描述信息中待写入数据的数据量相同的技能节点属于类型相同的技能节点,例如,Graph1中的技能节点1待写入数据的数据量是8比特,Graph2中的技能节点2待写入数据的数据量也是8比特,则Graph1中的技能节点1和Graph2中的技能节点2是相同类型的技能节点。
可选地,所述方法还包括:获取目标帧中待处理的第二组技能节点,其中,所述目标帧是所述当前帧的下一帧,所述第二组技能节点中的每个技能节点是第二组技能中对应的技能包括的技能节点,所述第二组技能包括已释放的、且技能动画未显示完成的技能,所述第二组技能中的每个技能包括具有跳转关系的一组技能节点,所述第一组技能与所述第二组技能包括相同的技能;在所述第二组技能节点中包括类型相同的多个技能节点时,对所述第二组技能节点中类型相同的多个技能节点进行并行处理,得到对应的多个处理结果;在所述目标帧中显示第二组处理结果对应的第二组技能画面,其中,所述第二组处理结果是对所述第二组技能节点中的每个技能节点进行处理所得到的处理结果,所述第二组处理结果包括对所述第二组技能节点中类型相同的多个技能节点进行并行处理所得到的多个处理结果。
作为一个可选的实施方式,在当前帧游戏画面显示完成后,获取下一帧游戏画面的第二组技能节点,第二组技能中可以包括多个虚拟角色使用的技能,每个技能可以对应于多个技能节点。第二组技能节点中包括下一帧游戏画面中所有技能的技能节点。对应第二组技能节点中相同类型的技能节点可以并行处理,将第二组技能节点的处理结果显示在下一帧游戏画面。在本实施例中,相同类型的技能节点包括但不限于技能描述信息相同、技能节点中的运算函数相同,或者技能节点待读取数据的数量量相同,或者技能节点待写入数据的数据量相同。作为一个可选的实施方式,如图14所示是当前帧游戏画面和下一帧游戏画面的切换示意图。
可选地,所述方法还包括:在所述目标帧中显示第三组技能画面,其中,所述第三组技能画面是所述第一组处理结果中的部分处理结果对应的待在所述目标帧中显示的技能画面,所述部分处理结果对应的技能画面包括在多帧上显示的技能画面。
作为一个可选的实施方式,假设当前帧游戏画面是第一帧游戏画面,目标帧是上述第一帧游戏画面之前获取之后的任意一帧游戏画面,多帧包括上述目标帧,假设目标帧是第一帧游戏画面之后的第二帧游戏画面。对第一帧游戏画面的处理结果中包括技能A和技能B,若除第一帧游戏画面之外的多帧游戏画面(包括第二帧游戏画面)中也包括技能A和技能B,则可以将第一帧游戏画面的处理结果中包括技能A和技能B(技能A和技能B的画面为第三组技能画面)显示在第二帧游戏画面。如图15中所示,图中的第一帧游戏画面的处理结果包括技能A和技能B,若第二帧游戏画面和第三帧游戏画面(多帧游戏画面,目标帧可以是第二帧游戏画面或第三帧游戏画面)中也包括技能A和技能B,则在第二帧和第三帧游戏画面中显示技能A和技能B。
作为一个可选的实施方式,如图16所示是技能系统的整体框架图,其中技能描述包括全局只读参数和节点图,其中,节点图中包括技能节点开始节点(Start)、释放节点(Cast)、受击节点(Hit)和动画节点(Play Anim),在运行时,对于同一帧游戏画面对应的一组节点中的释放节点(Cast)作为相同类型的技能节点并行处理,受击节点(Hit)作为相同类型的技能节点并行处理,动画节点(Play Anim)作为相同类型的技能节点并行处理。
作为一个可选的实施方式,缓存是CPU的一种硬件优化。为了使CPU可以高效率快速执行代码,可以将内存或磁盘,以及其他数据提前加载到CPU内部的高速存储器里,从而进行快速读写,而不是直接在原数据上进行读写。比如,对于较大的文件,在读写文件时较慢,此种情况可以把文件的一部分缓存到内存中,能够显著提高访问速度。多级缓存可以提升CPU处理数据的速度,在硬件上为多级快速存储器。缓存级数越低,容量越小,但读写速度快;而高级别的缓存或者内存,虽然容量大,但读写速度会慢几个数量级。
如图17所示是根据本发明实施例的一种可选的CPU核读写数据的示意图,图17中给出了在线程写数据x,以及线程读数据x时,数据可能的流转路径,CPU的核在读写x数据的时候,会优先从核内寄存器开始读,如果访问不到会查询L1缓存,若再访问不到会继续顺序查询L2缓存、L3缓存,最后是内存,直到查询到为止。
在存在多级缓存的情况下,每一级的速度如图18所示是根据本发明实施例的一种可选的多级缓存示意图一,如图所示,越往下需要的时间越久,即越高级别的缓存需要的处理时间越久,因此尽量让数据保持在较低级的缓存内,以避免频繁切换,可以有效提升CPU执行效率。
以CPU为6核的计算机为例,如图19是根据本发明实施例的一种可选的多级缓存示意图二,图中为计算机中的CPU-Z画面,可以看到CPU-Z画面里每一级缓存中的内容。在图中可以看到笔记本的多级缓存,其中一级数据缓存和一级指令缓存对应为L1,二级缓存对应为L2,三级缓存对应为L3,在一级数据缓存、一级指令缓存和二级缓存的“大小”属性中都标记有x6标识,由于计算机的CPU是6核的,说明L1和L2的缓存是每个核独占的,而L3后面没有x6,说明是6个核心共享的。如图20是根据本发明实施例的一种可选的CPU芯片示意图,其中的Shared L3 Cache共计连接着4个内核Core,证实了L3的核心可以是共享的。需要说明的是,有些机器CPU中的L3是非共享的,比如有的机器将L3分成了4个,此时,多个核心就无法共享同一个L3。
如图21是根据本发明实施例的一种可选的多级缓存示意图三,可以看到图中缓存信息属性框图中,CPU的一级缓存(包括一级数据和一级指令),即L1的大小是32K,目前大部分CPU的L1大小都是16K以上的。当分配的内存是一个小于L1缓存大小的连续内存(比如数组),比如指定16384(16K)这样的大小,在访问时就可以显著提升程序的执行速度。因为CPU访问一块内存时,很大概率也会访问周围连续的内存,对于连续内存的访问CPU是有做特殊优化的,或手动通过Prefetch进行内存预取,可以显著降低cache miss的概率。因此,若直接来营造这样的环境,可以显著提升程序的性能,包括Unity的ECS以性能著称,内部的Architype分配Block时就是这样做的。可以看到图19中,每一级缓存框里后面的属性“描述”部分,有一个64-byte line size代表缓存行,也就是CPU读写一次存储数据的最小单位。大部分CPU都是64字节。UE提供了函数可以查询缓存行的大小(Windows),即GetCacheLineSize函数,甚至可以直接用Prefetch函数让系统预加载指定的缓存行(默认只有Windows)。也可以自己补__builtin_prefetch,让Arm CPU(手机游戏)得到支持。如图19中的n-way set associative代表当前这一缓存和下一级缓存或内存的映射方式,分为直接映射和全映射以及组映射,因为每级缓存大小不同,肯定会出现映射和淘汰的问题,这里的组映射就是兼顾了cache miss和访问性能的映射方式,而直接映射和全映射就是两个极端的方式。
可以从缓存角度对比面向对象和面向。在连续访问这4个数组成员时,假如只访问数组成员中的Position,对于面向对象的情况,需要先把数组成员1的内存加载进缓存内,但是,只访问其中Position部分,访问完成后如果缓存大小不够需要淘汰掉对应的数据,再把第二个数组成员2的内存加载进缓存,可能发生了4次缓存的切换,而实际只访问了Position这一个字段,缓存利用率很低。对于数据的情况,还是只访问Position,那么一开始就把Position数组加载进缓存,因为这些Position是连续的,所以不需要切换缓存,一次就可以读取到所有数组成员的Position,这时缓存利用率达到了100%,因此面向数据的设计,CPU的执行效率非常高。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述技能画面的显示方法的技能画面的显示装置。如图22所示,该装置包括:获取模块2202,用于获取当前帧中待处理的第一组技能节点,其中,所述第一组技能节点中的每个技能节点是第一组技能中对应的技能包括的技能节点,所述第一组技能包括已释放的、且技能动画未显示完成的技能,所述第一组技能中的每个技能包括具有跳转关系的一组技能节点;处理模块2204,用于在所述第一组技能节点中包括类型相同的多个技能节点时,对所述类型相同的多个技能节点进行并行处理,得到对应的多个处理结果;显示模块2206,用于在所述当前帧中显示第一组处理结果对应的第一组技能画面,其中,所述第一组处理结果是对所述第一组技能节点中的每个技能节点进行处理所得到的处理结果,所述第一组处理结果包括所述多个处理结果。
可选地,上述装置还用于在所述第一组技能节点中包括所述类型相同的多个技能节点时,将所述多个技能节点中的每个技能节点的节点数据放入到同一个目标数组中,其中,所述目标数组中的每个数组成员包括所述多个技能节点中对应的技能节点的节点数据,所述多个技能节点中的每个技能节点的节点数据的数据大小相同;对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果。
可选地,上述装置还用于通过目标指令对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果;通过多个进程对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果。
可选地,上述装置还用于在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的目标运算函数的输入参数时,通过相同的一条指令或多条指令对所述N个数组成员中的输入参数并行执行所述目标运算函数,得到N个运算结果,其中,N为大于或等于2的正整数,所述多个处理结果为所述N个运算结果;在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的第一数据量时,通过相同的一条指令或多条指令读取数据大小为所述第一数据量的N组数据,其中,N为大于或等于2的正整数,所述多个处理结果为读取的N组数据;在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的第二数据量时,通过相同的一条指令或多条指令写入数据大小为所述第二数据量的N组数据,其中,N为大于或等于2的正整数,所述多个处理结果为写入的N组数据。
可选地,上述装置还用于通过CPU的相同的一条硬件指令或多条硬件指令,对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果。
可选地,上述装置还用于在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的目标运算函数的输入参数时,通过M个进程对所述N个数组成员中的输入参数并行执行所述目标运算函数,得到N个运算结果,其中,M和N为大于或等于2的正整数,所述多个处理结果为所述N个运算结果;在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的第一数据量时,通过M个进程读取数据大小为所述第一数据量的N组数据,其中,M和N为大于或等于2的正整数,所述多个处理结果为读取的N组数据;在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的第二数据量时,通过M个进程写入数据大小为所述第二数据量的N组数据,其中,M和N为大于或等于2的正整数,所述多个处理结果为写入的N组数据。
可选地,上述装置还用于将所述目标数组加载到目标缓存中;从所述目标缓存中读取所述目标数组,并对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果。
可选地,上述装置还用于获取所述第一组技能中的每个不同技能的技能描述信息,其中,对于所述每个不同技能,仅存储一份对应的技能描述信息,所述每个不同技能的技能描述信息包括跳转关系信息和技能节点信息,所述跳转关系信息用于表示所述每个不同技能包括的一组技能节点之间的跳转关系,所述技能节点信息包括所述每个不同技能包括的一组技能节点中的每个技能节点的节点数据;根据所述每个不同技能的技能描述信息,判断所述第一组技能节点中是否包括所述类型相同的多个技能节点。
可选地,上述装置还用于在第一技能节点和第二技能节点对应相同的技能描述信息、且所述相同的技能描述信息表示所述第一技能节点和所述第二技能节点是同一个技能中的相同技能节点时,判断出所述第一技能节点和所述第二技能节点是所述类型相同的技能节点,其中,所述第一组技能节点包括所述第一技能节点和所述第二技能节点;在所述第一技能节点和所述第二技能节点对应不同的技能描述信息、且所述不同的技能描述信息表示所述第一技能节点的节点数据和所述第二技能节点的节点数据均包括相同的目标运算函数的输入参数时,判断出所述第一技能节点和所述第二技能节点是所述类型相同的技能节点,其中,所述第一组技能节点包括所述第一技能节点和所述第二技能节点;在所述第一技能节点和所述第二技能节点对应不同的技能描述信息、且所述不同的技能描述信息表示所述第一技能节点的节点数据和所述第二技能节点的节点数据均包括相同的第一数据量时,判断出所述第一技能节点和所述第二技能节点是所述类型相同的技能节点,其中,所述第一组技能节点包括所述第一技能节点和所述第二技能节点,所述第一数据量是待读取数据的数据大小;在所述第一技能节点和所述第二技能节点对应不同的技能描述信息、且所述不同的技能描述信息表示所述第一技能节点的节点数据和所述第二技能节点的节点数据均包括相同的第二数据量时,判断出所述第一技能节点和所述第二技能节点是所述类型相同的技能节点,其中,所述第一组技能节点包括所述第一技能节点和所述第二技能节点,所述第二数据量是待写入数据的数据大小。
可选地,上述装置还用于获取目标帧中待处理的第二组技能节点,其中,所述目标帧是所述当前帧的下一帧,所述第二组技能节点中的每个技能节点是第二组技能中对应的技能包括的技能节点,所述第二组技能包括已释放的、且技能动画未显示完成的技能,所述第二组技能中的每个技能包括具有跳转关系的一组技能节点,所述第一组技能与所述第二组技能包括相同的技能;在所述第二组技能节点中包括类型相同的多个技能节点时,对所述第二组技能节点中类型相同的多个技能节点进行并行处理,得到对应的多个处理结果;在所述目标帧中显示第二组处理结果对应的第二组技能画面,其中,所述第二组处理结果是对所述第二组技能节点中的每个技能节点进行处理所得到的处理结果,所述第二组处理结果包括对所述第二组技能节点中类型相同的多个技能节点进行并行处理所得到的多个处理结果。
可选地,上述装置还用于在所述目标帧中显示第三组技能画面,其中,所述第三组技能画面是所述第一组处理结果中的部分处理结果对应的待在所述目标帧中显示的技能画面,所述部分处理结果对应的技能画面包括在多帧上显示的技能画面。
根据本发明实施例的又一个方面,还提供了一种用于实施上述技能画面的显示方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为服务器为例来说明。如图23所示,该电子设备包括存储器2302和处理器2304,该存储器2302中存储有计算机程序,该处理器2304被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取当前帧中待处理的第一组技能节点,其中,所述第一组技能节点中的每个技能节点是第一组技能中对应的技能包括的技能节点,所述第一组技能包括已释放的、且技能动画未显示完成的技能,所述第一组技能中的每个技能包括具有跳转关系的一组技能节点;
S2,在所述第一组技能节点中包括类型相同的多个技能节点时,对所述类型相同的多个技能节点进行并行处理,得到对应的多个处理结果;
S3,在所述当前帧中显示第一组处理结果对应的第一组技能画面,其中,所述第一组处理结果是对所述第一组技能节点中的每个技能节点进行处理所得到的处理结果,所述第一组处理结果包括所述多个处理结果。
可选地,本领域普通技术人员可以理解,图23所示的结构仅为示意,电子装置电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图23其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图23中所示更多或者更少的组件(如网络接口等),或者具有与图23所示不同的配置。
其中,存储器2302可用于存储软件程序以及模块,如本发明实施例中的技能画面的显示方法和装置对应的程序指令/模块,处理器2304通过运行存储在存储器2302内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的技能画面的显示方法。存储器2302可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器2302可进一步包括相对于处理器2304远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器2302具体可以但不限于用于存储技能节点等信息。作为一种示例,如图23所示,上述存储器2302中可以但不限于包括上述技能画面的显示装置中的获取模块2202、处理模块2204、及显示模块2206。此外,还可以包括但不限于上述技能画面的显示装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置2306用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置2306包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置2306为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器2308,用于显示上述第一组处理结果对应的第一组技能画面;和连接总线2310,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序/指令,该计算机程序/指令包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分2409从网络上被下载和安装,和/或从可拆卸介质2411被安装。在该计算机程序被中央处理器2401执行时,执行本申请实施例提供的各种功能。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
图24示意性地示出了用于实现本申请实施例的电子设备的计算机系统结构框图。
需要说明的是,图24示出的电子设备的计算机系统2400仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图24所示,计算机系统2400包括中央处理器2401(Central Processing Unit,CPU),其可以根据存储在只读存储器2402(Read-Only Memory,ROM)中的程序或者从存储部分2408加载到随机访问存储器1903(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器2403中,还存储有系统操作所需的各种程序和数据。中央处理器2401、在只读存储器2402以及随机访问存储器2403通过总线2404彼此相连。输入/输出接口2405(Input/Output接口,即I/O接口)也连接至总线2404。
以下部件连接至输入/输出接口2405:包括键盘、鼠标等的输入部分2406;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分2407;包括硬盘等的存储部分2408;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分2409。通信部分2409经由诸如因特网的网络执行通信处理。驱动器2410也根据需要连接至输入/输出接口2405。可拆卸介质2411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器2410上,以便于从其上读出的计算机程序根据需要被安装入存储部分2408。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分2409从网络上被下载和安装,和/或从可拆卸介质2411被安装。在该计算机程序被中央处理器2401执行时,执行本申请的系统中限定的各种功能。
根据本申请的一个方面,提供了一种计算机可读存储介质,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取当前帧中待处理的第一组技能节点,其中,所述第一组技能节点中的每个技能节点是第一组技能中对应的技能包括的技能节点,所述第一组技能包括已释放的、且技能动画未显示完成的技能,所述第一组技能中的每个技能包括具有跳转关系的一组技能节点;
S2,在所述第一组技能节点中包括类型相同的多个技能节点时,对所述类型相同的多个技能节点进行并行处理,得到对应的多个处理结果;
S3,在所述当前帧中显示第一组处理结果对应的第一组技能画面,其中,所述第一组处理结果是对所述第一组技能节点中的每个技能节点进行处理所得到的处理结果,所述第一组处理结果包括所述多个处理结果。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种技能画面的显示方法,其特征在于,包括:
获取当前帧中待处理的第一组技能节点,其中,所述第一组技能节点中的每个技能节点是第一组技能中对应的技能包括的技能节点,所述第一组技能包括已释放的、且技能动画未显示完成的技能,所述第一组技能中的每个技能包括具有跳转关系的一组技能节点;
在所述第一组技能节点中包括类型相同的多个技能节点时,对所述类型相同的多个技能节点进行并行处理,得到对应的多个处理结果;
在所述当前帧中显示第一组处理结果对应的第一组技能画面,其中,所述第一组处理结果是对所述第一组技能节点中的每个技能节点进行处理所得到的处理结果,所述第一组处理结果包括所述多个处理结果。
2.根据权利要求1所述的方法,其特征在于,在所述第一组技能节点中包括类型相同的多个技能节点时,对所述类型相同的多个技能节点进行并行处理,得到对应的多个处理结果,包括:
在所述第一组技能节点中包括所述类型相同的多个技能节点时,将所述多个技能节点中的每个技能节点的节点数据放入到同一个目标数组中,其中,所述目标数组中的每个数组成员包括所述多个技能节点中对应的技能节点的节点数据,所述多个技能节点中的每个技能节点的节点数据的数据大小相同;
对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果。
3.根据权利要求2所述的方法,其特征在于,所述对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果,包括:
通过目标指令对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果;或者
通过多个进程对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果。
4.根据权利要求3所述的方法,其特征在于,所述通过目标指令对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果,包括:
在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的目标运算函数的输入参数时,通过相同的一条指令或多条指令对所述N个数组成员中的输入参数并行执行所述目标运算函数,得到N个运算结果,其中,N为大于或等于2的正整数,所述多个处理结果为所述N个运算结果;或者
在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的第一数据量时,通过相同的一条指令或多条指令读取数据大小为所述第一数据量的N组数据,其中,N为大于或等于2的正整数,所述多个处理结果为读取的N组数据;或者
在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的第二数据量时,通过相同的一条指令或多条指令写入数据大小为所述第二数据量的N组数据,其中,N为大于或等于2的正整数,所述多个处理结果为写入的N组数据。
5.根据权利要求3所述的方法,其特征在于,所述通过目标指令对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果,包括:
通过CPU的相同的一条硬件指令或多条硬件指令,对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果。
6.根据权利要求3所述的方法,其特征在于,所述通过多个进程对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果,包括:
在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的目标运算函数的输入参数时,通过M个进程对所述N个数组成员中的输入参数并行执行所述目标运算函数,得到N个运算结果,其中,M和N为大于或等于2的正整数,所述多个处理结果为所述N个运算结果;或者
在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的第一数据量时,通过M个进程读取数据大小为所述第一数据量的N组数据,其中,M和N为大于或等于2的正整数,所述多个处理结果为读取的N组数据;或者
在所述目标数组包括N个数组成员、所述N个数组成员包括类型相同的N个技能节点的节点数据、且所述N个技能节点中的每个技能节点的节点数据均包括相同的第二数据量时,通过M个进程写入数据大小为所述第二数据量的N组数据,其中,M和N为大于或等于2的正整数,所述多个处理结果为写入的N组数据。
7.根据权利要求2所述的方法,其特征在于,
所述方法还包括:将所述目标数组加载到目标缓存中;
所述对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果,包括:从所述目标缓存中读取所述目标数组,并对所述目标数组中的各数组成员进行并行处理,得到对应的所述多个处理结果。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述第一组技能中的每个不同技能的技能描述信息,其中,对于所述每个不同技能,仅存储一份对应的技能描述信息,所述每个不同技能的技能描述信息包括跳转关系信息和技能节点信息,所述跳转关系信息用于表示所述每个不同技能包括的一组技能节点之间的跳转关系,所述技能节点信息包括所述每个不同技能包括的一组技能节点中的每个技能节点的节点数据;
根据所述每个不同技能的技能描述信息,判断所述第一组技能节点中是否包括所述类型相同的多个技能节点。
9.根据权利要求8所述的方法,其特征在于,所述根据所述每个不同技能的技能描述信息,判断所述第一组技能节点中是否包括所述类型相同的多个技能节点,包括:
在第一技能节点和第二技能节点对应相同的技能描述信息、且所述相同的技能描述信息表示所述第一技能节点和所述第二技能节点是同一个技能中的相同技能节点时,判断出所述第一技能节点和所述第二技能节点是所述类型相同的技能节点,其中,所述第一组技能节点包括所述第一技能节点和所述第二技能节点;或者
在所述第一技能节点和所述第二技能节点对应不同的技能描述信息、且所述不同的技能描述信息表示所述第一技能节点的节点数据和所述第二技能节点的节点数据均包括相同的目标运算函数的输入参数时,判断出所述第一技能节点和所述第二技能节点是所述类型相同的技能节点,其中,所述第一组技能节点包括所述第一技能节点和所述第二技能节点;或者
在所述第一技能节点和所述第二技能节点对应不同的技能描述信息、且所述不同的技能描述信息表示所述第一技能节点的节点数据和所述第二技能节点的节点数据均包括相同的第一数据量时,判断出所述第一技能节点和所述第二技能节点是所述类型相同的技能节点,其中,所述第一组技能节点包括所述第一技能节点和所述第二技能节点,所述第一数据量是待读取数据的数据大小;或者
在所述第一技能节点和所述第二技能节点对应不同的技能描述信息、且所述不同的技能描述信息表示所述第一技能节点的节点数据和所述第二技能节点的节点数据均包括相同的第二数据量时,判断出所述第一技能节点和所述第二技能节点是所述类型相同的技能节点,其中,所述第一组技能节点包括所述第一技能节点和所述第二技能节点,所述第二数据量是待写入数据的数据大小。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括:
获取目标帧中待处理的第二组技能节点,其中,所述目标帧是所述当前帧的下一帧,所述第二组技能节点中的每个技能节点是第二组技能中对应的技能包括的技能节点,所述第二组技能包括已释放的、且技能动画未显示完成的技能,所述第二组技能中的每个技能包括具有跳转关系的一组技能节点,所述第一组技能与所述第二组技能包括相同的技能;
在所述第二组技能节点中包括类型相同的多个技能节点时,对所述第二组技能节点中类型相同的多个技能节点进行并行处理,得到对应的多个处理结果;
在所述目标帧中显示第二组处理结果对应的第二组技能画面,其中,所述第二组处理结果是对所述第二组技能节点中的每个技能节点进行处理所得到的处理结果,所述第二组处理结果包括对所述第二组技能节点中类型相同的多个技能节点进行并行处理所得到的多个处理结果。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
在所述目标帧中显示第三组技能画面,其中,所述第三组技能画面是所述第一组处理结果中的部分处理结果对应的待在所述目标帧中显示的技能画面,所述部分处理结果对应的技能画面包括在多帧上显示的技能画面。
12.一种技能画面的显示装置,其特征在于,包括:
获取模块,用于获取当前帧中待处理的第一组技能节点,其中,所述第一组技能节点中的每个技能节点是第一组技能中对应的技能包括的技能节点,所述第一组技能包括已释放的、且技能动画未显示完成的技能,所述第一组技能中的每个技能包括具有跳转关系的一组技能节点;
处理模块,用于在所述第一组技能节点中包括类型相同的多个技能节点时,对所述类型相同的多个技能节点进行并行处理,得到对应的多个处理结果;
显示模块,用于在所述当前帧中显示第一组处理结果对应的第一组技能画面,其中,所述第一组处理结果是对所述第一组技能节点中的每个技能节点进行处理所得到的处理结果,所述第一组处理结果包括所述多个处理结果。
13.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至11任一项中所述的方法。
14.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至11任一项所述方法的步骤。
15.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至11任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111163816.2A CN113893532A (zh) | 2021-09-30 | 2021-09-30 | 技能画面的显示方法和装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111163816.2A CN113893532A (zh) | 2021-09-30 | 2021-09-30 | 技能画面的显示方法和装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113893532A true CN113893532A (zh) | 2022-01-07 |
Family
ID=79190048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111163816.2A Pending CN113893532A (zh) | 2021-09-30 | 2021-09-30 | 技能画面的显示方法和装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113893532A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109697123A (zh) * | 2017-10-24 | 2019-04-30 | 腾讯科技(深圳)有限公司 | 游戏动画的渲染方法和装置、存储介质、电子装置 |
CN111068326A (zh) * | 2019-12-23 | 2020-04-28 | 上海米哈游天命科技有限公司 | 一种游戏技能配置方法、装置、服务器及存储介质 |
CN111773675A (zh) * | 2020-07-16 | 2020-10-16 | 网易(杭州)网络有限公司 | 游戏指令的处理方法和装置、存储介质及处理器 |
CN112156462A (zh) * | 2020-10-14 | 2021-01-01 | 网易(杭州)网络有限公司 | 一种游戏技能的动画处理方法和装置 |
CN112691377A (zh) * | 2021-01-15 | 2021-04-23 | 腾讯科技(深圳)有限公司 | 虚拟角色的控制方法、装置、电子设备及存储介质 |
EP3825986A1 (en) * | 2019-11-25 | 2021-05-26 | University of Tartu | A computer-implemented adaptive gameplay learning system and a method for adaptive gameplay learning |
-
2021
- 2021-09-30 CN CN202111163816.2A patent/CN113893532A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109697123A (zh) * | 2017-10-24 | 2019-04-30 | 腾讯科技(深圳)有限公司 | 游戏动画的渲染方法和装置、存储介质、电子装置 |
EP3825986A1 (en) * | 2019-11-25 | 2021-05-26 | University of Tartu | A computer-implemented adaptive gameplay learning system and a method for adaptive gameplay learning |
CN111068326A (zh) * | 2019-12-23 | 2020-04-28 | 上海米哈游天命科技有限公司 | 一种游戏技能配置方法、装置、服务器及存储介质 |
CN111773675A (zh) * | 2020-07-16 | 2020-10-16 | 网易(杭州)网络有限公司 | 游戏指令的处理方法和装置、存储介质及处理器 |
CN112156462A (zh) * | 2020-10-14 | 2021-01-01 | 网易(杭州)网络有限公司 | 一种游戏技能的动画处理方法和装置 |
CN112691377A (zh) * | 2021-01-15 | 2021-04-23 | 腾讯科技(深圳)有限公司 | 虚拟角色的控制方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106991011B (zh) | 基于cpu多线程与gpu多粒度并行及协同优化的方法 | |
CN110287010B (zh) | 一种面向Spark时间窗口数据分析的缓存数据预取方法 | |
CN114580344B (zh) | 测试激励生成方法、验证方法、验证系统及相关设备 | |
CN107291629A (zh) | 一种用于访问内存的方法和装置 | |
US11907164B2 (en) | File loading method and apparatus, electronic device, and storage medium | |
US20230403437A1 (en) | Graphics engine and graphics processing method applicable to player | |
CN111389014A (zh) | 游戏资源数据监控方法、装置、计算机设备和存储介质 | |
CN110232665B (zh) | 最大池化方法、装置、计算机设备及存储介质 | |
CN106681830B (zh) | 一种任务缓存空间监测方法和装置 | |
CN114443189B (zh) | 一种图像处理方法和电子设备 | |
CN111737166B (zh) | 数据对象的处理方法、装置及设备 | |
CN112948025B (zh) | 数据加载方法、装置及存储介质、计算设备、计算系统 | |
CN109783321A (zh) | 监控数据管理方法、装置、终端设备 | |
CN115129460A (zh) | 获取算子硬件时间的方法、装置、计算机设备和存储介质 | |
CN107305486A (zh) | 一种神经网络maxout层计算装置 | |
CN113893532A (zh) | 技能画面的显示方法和装置、存储介质及电子设备 | |
CN103514107B (zh) | 高性能数据缓存系统和方法 | |
CN115103713A (zh) | 跟踪用于即时玩视频游戏并用于客户端丢弃和预取游戏数据的文件系统读取操作 | |
US20230409476A1 (en) | Cache system simulating method, apparatus, device and storage medium | |
CN110383255A (zh) | 管理对物理设备的客户分区访问 | |
CN114327958A (zh) | 推理服务组件的运算方法和TensorRT推理服务组件 | |
AT&T | paper-submitted.pdf | |
CN110102054A (zh) | 行为树的执行优化方法、装置及存储介质 | |
CN104615499A (zh) | 一种基于Android平台图片处理方法 | |
CN116804915B (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 |