CN108289246A - 数据处理方法、装置、存储介质和电子装置 - Google Patents
数据处理方法、装置、存储介质和电子装置 Download PDFInfo
- Publication number
- CN108289246A CN108289246A CN201711243155.8A CN201711243155A CN108289246A CN 108289246 A CN108289246 A CN 108289246A CN 201711243155 A CN201711243155 A CN 201711243155A CN 108289246 A CN108289246 A CN 108289246A
- Authority
- CN
- China
- Prior art keywords
- frame
- logical
- per
- sub
- time
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44012—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/485—End-user interface for client configuration
- H04N21/4854—End-user interface for client configuration for modifying image parameters, e.g. image brightness, contrast
Abstract
本发明公开了一种数据处理方法、装置、存储介质和电子装置。其中,该方法包括:获取多个客户端在运行过程中的渲染帧率和逻辑帧率;在渲染帧率和逻辑帧率符合目标条件的情况下,将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧;在执行渲染帧率对应的多帧渲染帧时,将多帧子逻辑帧分别在每帧渲染帧中交替执行,其中,每帧渲染帧执行的时间包括一个子逻辑帧执行的时间。本发明解决了相关技术中存在的客户端的帧率不平衡的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种数据处理方法、装置、存储介质和电子装置。
背景技术
目前,在数据处理中,会对客户端在运行过程中的数据帧进行分帧处理。但是单纯分帧会很容易造成帧率的不平衡。比如,在渲染帧率为30帧/秒、且逻辑帧率为15帧/秒的设计下,理想的情况是在对每两帧进行渲染一次时,就执行一帧逻辑。
图1是根据相关技术中的一种逻辑帧同步分帧方法的示意图。如图1所示,每一个编号的黑框小格子可以代表显示设备刷新一次对应的数据帧的时间,蓝色指示框部分用于表示逻辑计算耗时,红色指示框部分用于表示渲染耗时。假设渲染帧率为30帧/秒,那么每个格子就表示时间轴上的33.3毫秒。逻辑帧率会被分配到这些渲染帧之内进行执行。图1中的第一个渲染帧就被插入了一个逻辑帧,所以这一帧会先执行插入的逻辑帧的计算,然后再执行既定的渲染计算。如果在一个渲染帧在执行时能够允许的时间(渲染帧60帧模式为16.6毫秒,渲染帧30帧模式为33.3毫秒)内不能完成所有的计算,择会导致丢帧现象,从显示设备的显示画面上看,就会发生卡顿现象。比如,图1中的第3帧,由于没有能够按时完成全部的逻辑帧和渲染帧的计算,从而导致第4帧丢失。传统的逻辑分帧方案往往会预先设置逻辑帧率为渲染帧率可以被整除的帧率,比如,在渲染帧率为30帧/秒时,则将逻辑帧率设置为15帧/秒,每执行两次渲染帧,就执行一次逻辑帧。
但是,上述单纯分帧会非常容易造成帧率的不平衡,会造成每一帧的耗时非常不均衡,如图2所示。其中,图2是根据相关技术中的一种同步分帧效果的示意图,纵坐标表示的帧率随横坐标时间的推移出现了锯齿形的抖动,出现一帧高,一帧低的现象,最后的结果就是耗时高的那一帧很容易超出单帧的时间限制,比如,超出33.3毫秒,从而造成用户看到的显示设备的画面卡顿,降低了用户体验。
针对上述的客户端的帧率不平衡的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据处理方法、装置、存储介质和电子装置,以至少解决相关技术中存在的客户端的帧率不平衡的技术问题。
根据本发明实施例的一个方面,提供了一种数据处理方法。该数据处理方法包括:获取多个客户端在运行过程中的渲染帧率和逻辑帧率;在渲染帧率和逻辑帧率符合目标条件的情况下,将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧;在执行渲染帧率对应的多帧渲染帧时,将多帧子逻辑帧分别在每帧渲染帧中交替执行,其中,每帧渲染帧执行的时间包括一个子逻辑帧执行的时间。
根据本发明实施例的另一方面,还提供了一种数据处理装置。该数据处理装置包括:获取单元,用于获取多个客户端在运行过程中的渲染帧率和逻辑帧率;划分单元,用于在渲染帧率和逻辑帧率符合目标条件的情况下,将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧;执行单元,用于在执行渲染帧率对应的多帧渲染帧时,将多帧子逻辑帧分别在每帧渲染帧中交替执行,其中,每帧渲染帧执行的时间包括一个子逻辑帧执行的时间。
在本发明实施例中,采用获取多个客户端在运行过程中的渲染帧率和逻辑帧率;在渲染帧率和逻辑帧率符合目标条件的情况下,将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧;在执行渲染帧率对应的多帧渲染帧时,将多帧子逻辑帧分别在每帧渲染帧中交替执行,每帧渲染帧执行的时间包括一个子逻辑帧执行的时间。由于将逻辑帧分成了多个部分的子逻辑帧,然后将多个部分的子逻辑帧在渲染帧中交替执行,这样就能把逻辑帧的逻辑计算分散在多帧渲染帧中,以达到平衡客户端的帧率的目的,从而实现了平衡客户端的帧率的技术效果,进而解决了相关技术中存在的客户端的帧率不平衡的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术中的一种逻辑帧同步分帧方法的示意图;
图2是根据相关技术中的一种同步分帧效果的示意图;
图3是根据本发明实施例的一种数据处理方法的硬件环境的示意图;
图4是根据本发明实施例的一种数据处理方法的流程图;
图5是根据本发明实施例的一种数据的分帧方法的示意图;
图6是根据本发明实施例的一帧数据补帧方法的示意图;
图7是根据本发明实施例的另一种数据处理的方法的流程图;
图8是根据本发明实施例的一种数据处理方法的处理效果的示意图;
图9是根据本发明实施例的一种据处理装置的示意图;以及
图10是根据本发明实施例的一种电子装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种数据处理方法的实施例。
可选地,在本实施例中,上述数据处理方法可以应用于如图3所示的由服务器302和终端304所构成的硬件环境中。图3是根据本发明实施例的一种数据处理方法的硬件环境的示意图。如图3所示,服务器302通过网络与终端304进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端304并不限定于PC、手机、平板电脑等。本发明实施例的数据处理方法可以由服务器302来执行,也可以由终端304来执行,还可以是由服务器302和终端304共同执行。其中,终端304执行本发明实施例的数据处理方法也可以是由安装在其上的第一客户端来执行。
S1,获取多个客户端在运行过程中的渲染帧率和逻辑帧率,其中,渲染帧率用于指示每个客户端的游戏画面在刷新时的频率,逻辑帧率用于指示每个客户端的游戏逻辑在计算时的频率。
S2,在渲染帧率和逻辑帧率符合目标条件的情况下,将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧,其中,逻辑帧为每个客户端的游戏逻辑在计算时使用到的数据帧,在每个逻辑帧中,每个客户端具有相同的初始状态。
S3,在执行渲染帧率对应的多帧渲染帧时,将多帧子逻辑帧分别在每帧渲染帧中交替执行,其中,每帧渲染帧执行的时间包括一个子逻辑帧执行的时间,渲染帧为每个客户端的游戏画面在刷新时使用到的数据帧。
图4是根据本发明实施例的一种数据处理方法的流程图。如图4所示,该方法可以包括以下步骤:
步骤S402,获取多个客户端在运行过程中的渲染帧率和逻辑帧率。
在本申请上述步骤S402提供的技术方案中,获取多个客户端在运行过程中的渲染帧率和逻辑帧率,其中,渲染帧率用于指示每个客户端的显示画面在刷新时的频率,逻辑帧率用于指示每个客户端的处理逻辑在计算时的频率。
在该实施例中,客户端可以为游戏客户端,可以通过显示设备显示游戏客户端在运行过程中产生的游戏画面。该客户端还可以为地图客户端、导航客户端等,可以安装在终端上,比如,安装在移动终端上,此处不做任何限制。
该实施例的客户端在运行过程中,可以通过渲染帧率来指示每个客户端的显示画面在刷新时的频率,其中,包含了动画的采样频率、屏幕的刷新频率等所有与视觉相关的处理频率。当渲染帧率越高时,显示画面越平滑,当渲染帧率越低时,显示画面抖动的感觉就越明显。可选地,在移动终端上安装的游戏客户端的渲染帧率可以包括30帧/秒和60帧/秒这两种。
该实施例的客户端还可以通过逻辑帧率来指示每个客户端的处理逻辑在计算时的频率,比如,指示每个游戏客户端中涉及人工智能(Artificial Intelligence,简称为AI)的行为、寻路等功能中的处理逻辑在计算时的频率,该处理逻辑可以为游戏逻辑。该逻辑帧率可以和渲染帧不一致,尤其是对于性能消耗较大、又没有较强实时性需求的计算,比如,AI等,会在运行过程中较低逻辑帧率以节省客户端的性能。
获取多个客户端在运行过程中的上述渲染帧率和逻辑帧率,该实施例的处理逻辑完全在客户端侧进行计算。在每一个逻辑帧中,每个客户端都具有相同的初始状态,可以根据相同的输入数据进行计算,从而能够得到完全一致的计算结果,并将该计算结果作为下一个逻辑帧在处理时的初始状态,实现帧同步,这可以适用于网络游戏中的帧同步技术。帧同步技术具有同步数据量小、同步精准等优势,可以被作为即时战略游戏(Real-TimeStrategy Game,简称为RTS)、多人在线战术竞技游戏(Multiplayer Online Battle ArenaGames,简称为MOBA)等需要频繁操作,并且对实时性要求较高的网络游戏的数据同步方案。此外,帧同步还要求不同的客户端之间具有相同的逻辑帧率,可以对渲染帧率不做要求。
步骤S404,在渲染帧率和逻辑帧率符合目标条件的情况下,将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧。
在本申请上述步骤S404提供的技术方案中,在渲染帧率和逻辑帧率符合目标条件的情况下,将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧,其中,逻辑帧为每个客户端的处理逻辑在计算时使用到的数据帧,在每个逻辑帧中,每个客户端具有相同的初始状态。
在获取多个客户端在运行过程中的渲染帧率和逻辑帧率之后,判断渲染帧率和逻辑帧率是否符合目标条件,比如,判断逻辑帧率是否为渲染帧率可以被整除的帧率,可以判断渲染帧率是否符合达到30帧/秒、且逻辑帧率是否达到15帧/秒的条件。如果判断出渲染帧率和逻辑帧率符合目标条件,则将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧,比如,如果判断出渲染帧率符合30帧/秒、且逻辑帧率达到15帧/秒,则将逻辑帧率对应的逻辑帧划分为两帧子逻辑帧,可以用A逻辑帧和B逻辑帧表示两帧子逻辑帧。该实施例的逻辑帧为每个客户端的处理逻辑在计算时使用到的数据帧,在每个逻辑帧中,每个客户端都具有相同的初始状态。
可选地,在逻辑帧率为渲染帧率可以被整除的帧率的情况下,将逻辑帧率对应的逻辑帧划分为的多帧子逻辑帧的数量,可以根据渲染帧率除以逻辑帧率得到的倍数进行确定。比如,在逻辑帧率为30帧/秒、渲染帧率为15帧/秒的情况下,可以将逻辑帧划分为2部分子逻辑帧;在逻辑帧率为30帧/秒、渲染帧率为10帧/秒的情况下,可以将逻辑帧划分为3部分子逻辑帧。
可选地,该实施例将逻辑帧率对应的逻辑帧划分为的多帧子逻辑帧分别在执行时的耗时时间尽量接近,从而进一步保证每一帧的耗时就不容易出现一高一低的情况。
步骤S406,在执行渲染帧率对应的多帧渲染帧时,将多帧子逻辑帧分别在每帧渲染帧中交替执行。
在本申请上述步骤S406提供的技术方案中,在执行渲染帧率对应的多帧渲染帧时,将多帧子逻辑帧分别在每帧渲染帧中交替执行,其中,每帧渲染帧执行的时间包括一个子逻辑帧执行的时间,渲染帧为每个客户端的显示画面在刷新时使用到的数据帧。
在将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧之后,在执行渲染帧率对应的多帧渲染帧时,可以将上述多帧子逻辑分别在每帧渲染帧中交替执行,比如,在执行第一个渲染帧时,执行划分逻辑帧得到的第一个子逻辑帧,在执行第二个渲染帧时,执行划分逻辑帧得到的第二个子逻辑帧,如果划分逻辑帧总共有两个子逻辑帧,则在执行第三个渲染帧时再次执行第一个子逻辑帧,在执行第四个渲染帧时,再次执行第二个子逻辑帧,从而实现将第一个子逻辑帧和第二个子逻辑帧在渲染帧中交替执行的目的,这样每一数据帧在执行时的耗时都不会出现一帧高和一帧低的情况,避免客户端的帧率不平衡的问题,进而使得游戏客户端的显示画面比较平稳。
通过上述步骤S402至步骤S406,采用获取多个客户端在运行过程中的渲染帧率和逻辑帧率,渲染帧率用于指示每个客户端的显示画面在刷新时的频率,逻辑帧率用于指示每个客户端的处理逻辑在计算时的频率;在渲染帧率和逻辑帧率符合目标条件的情况下,将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧,逻辑帧为每个客户端的处理逻辑在计算时使用到的数据帧,在每个逻辑帧中,每个客户端具有相同的初始状态;在执行渲染帧率对应的多帧渲染帧时,将多帧子逻辑帧分别在每帧渲染帧中交替执行,每帧渲染帧执行的时间包括一个子逻辑帧执行的时间,渲染帧为每个客户端的显示画面在刷新时使用到的数据帧。由于将逻辑帧分成了多个部分的子逻辑帧,然后将多个部分的子逻辑帧在渲染帧中交替执行,这样就能把逻辑帧的逻辑计算分散在多帧渲染帧中,以达到平衡客户端的帧率的目的,从而实现了平衡客户端的帧率的技术效果,进而解决了相关技术中存在的客户端的帧率不平衡的技术问题。
作为一种可选的实施方式,步骤S404,在渲染帧率和逻辑帧率符合目标条件的情况下,将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧包括:在渲染帧率和逻辑帧率符合第一条件的情况下,将逻辑帧率对应的逻辑帧划分为第一子逻辑帧和第二子逻辑帧,其中,目标条件包括第一条件;在执行渲染帧率对应的多帧渲染帧时,将多帧子逻辑帧分别在每帧渲染帧中交替执行包括:在执行渲染帧率对应的多帧渲染帧时,将第一子逻辑帧和第二子逻辑帧分别在每帧渲染帧中交替执行,其中,每帧渲染帧在执行时需要的最大时间包括第一子逻辑帧或第二子逻辑帧执行的时间。
在该实施例中,目标条件包括第一条件,该第一条件为将逻辑帧划分为两部分的条件,比如,第一条件为渲染帧率是逻辑帧率两倍的条件,其中,渲染帧率可以为30帧/秒,也即,每秒处理30个渲染帧,逻辑帧率可以为15帧/秒,也即,每秒处理15个渲染帧。在渲染帧率和逻辑帧率符合第一条件的情况下,将逻辑帧率对应的逻辑帧划分为第一子逻辑帧和第二子逻辑帧。可选地,第一子逻辑帧由逻辑帧中的A部分逻辑帧表示,第二子逻辑帧由逻辑帧中的B部分逻辑帧表示。
可选地,该实施例的第一子逻辑帧和第二子逻辑帧在执行时的耗时接近或者相等,从而在执行渲染帧率对应的多帧渲染帧时,将第一子逻辑帧和第二子逻辑帧分别在每帧渲染帧中交替执行,每帧渲染帧在执行时需要的最大时间包括第一子逻辑帧或第二子逻辑帧执行的时间,从而使得每一数据帧的耗时不容易出现一高一低的情况,实现了平衡客户端的帧率的效果,从而保证客户端的显示画面比较平稳。
作为一种可选的实施方式,在执行渲染帧率对应的多帧渲染帧时,将第一子逻辑帧和第二子逻辑帧分别在每帧渲染帧中交替执行包括:在当前目标时间之内,在执行渲染帧率对应的多帧渲染帧中的一帧渲染帧之前,执行第一子逻辑帧,其中,在一帧渲染帧在执行时需要的最大时间包括第一子逻辑帧执行的时间的情况下,当前目标时间为一帧渲染帧在执行时需要的最大时间;在执行完第一子逻辑帧之后,执行一帧渲染帧;在执行完一帧渲染帧,且在当前目标时间之后,在下一个目标时间之内,在执行一帧渲染帧的下一帧渲染帧之前,执行第二子逻辑帧,其中,在下一帧渲染帧在执行时需要的最大时间包括第二子逻辑帧执行的时间的情况下,下一个目标时间为下一帧渲染帧在执行时需要的最大时间;在执行完第二子逻辑帧之后,执行下一帧渲染帧。
在该实施例中,目标时间为一帧渲染帧在执行时需要的最大时间,也即,客户端对应的显示设备在刷新一次画面时需要的时间。比如,当渲染帧的帧率为60帧/秒时,目标时间可以为16.6毫秒,当渲染帧的帧率为30帧/秒时,目标时间可以为33.3毫秒。在将第一子逻辑帧和第二子逻辑帧分别在每帧渲染帧中交替执行时,可以在当前目标时间之内,在执行渲染帧率对应的多帧渲染帧中的一帧渲染帧之前,比如,在执行第一个帧渲染帧之前,就执行第一子逻辑帧,比如,执行逻辑帧中的A部分逻辑帧。在执行完第一子逻辑帧之后,可以继续执行一帧渲染帧。在执行完一帧渲染帧之后,执行第一子逻辑帧的时间和执行渲染帧的时间总和可以未超过目标时间,则目标时间中除第一子逻辑帧执行的时间和除第二子逻辑帧执行的时间之外的时间为空闲时间。
在当前目标时间之后,在下一个目标时间之内,且在执行一帧渲染帧的下一帧渲染帧之前,执行第二子逻辑帧,其中,在下一帧渲染帧在执行时需要的最大时间包括第二子逻辑帧执行的时间的情况下,下一个目标时间为下一帧渲染帧在执行时需要的最大时间,比如,执行逻辑帧中B部分逻辑帧。其中,一帧渲染帧的下一帧渲染帧为多个渲染帧中上次执行的一帧渲染帧的下一帧渲染帧。在执行完第二子逻辑帧之后,再执行下一帧渲染帧,该下一帧渲染帧为多个渲染帧中上次执行的一帧渲染帧的下一帧渲染帧。如此执行,在每个目标时间内交替执行第一子逻辑帧和第二子逻辑帧。这样,在渲染帧率为30帧/秒,逻辑帧率为15帧/秒的情况下,可以将15帧的逻辑帧分散在30帧的渲染帧中进行执行,以达到平衡客户端的帧率的目的,从而优化客户端的画面显示的流畅性,优化用户的使用手感。
作为一种可选的实施方式,在执行渲染帧率对应的多帧渲染帧时,将第一子逻辑帧和第二子逻辑帧分别在每帧渲染帧中交替执行包括:在当前目标时间之内,执行一帧逻辑帧,其中,目标时间为一帧渲染帧在执行时需要的最大时间;在一帧逻辑帧中的第一子逻辑帧执行完成的情况下,执行一帧逻辑帧中的第二子逻辑帧;在执行完第二子逻辑帧之后,在目标时间的剩余时间足够执行完一帧渲染帧的情况下,执行一帧渲染帧,其中,剩余时间为目标时间之内除执行完第一子逻辑帧需要的第一时间和执行完第二子逻辑帧需要的第二时间之外的时间。
在该实施例中,在将第一子逻辑帧和第二子逻辑帧分别在每帧渲染帧中交替执行时,可以在当前目标时间之内,在确定推进一帧逻辑帧的情况下,也即,在可以执行一帧逻辑帧的情况下,执行一帧逻辑帧。比如,逻辑帧的帧率为15帧/秒,逻辑帧中的子逻辑帧上次执行完的时间距离当前时间在1/15秒之内,则可以推进一帧逻辑帧,执行逻辑帧中的第一子逻辑帧,如果逻辑帧中的子逻辑帧在上次执行完的时间距离当前时间超过1/15秒,则此时不能推进一帧逻辑帧。该目标时间为一帧渲染帧在执行时需要的最大时间,也即,为客户端对应的显示设备在刷新一次画面时需要的时间。
可选地,在执行一帧逻辑帧时,在一帧逻辑帧中的第一子逻辑帧在上次已经完成执行的情况下,则本次直接执行一帧逻辑帧中的第二子逻辑帧,实现对第一子逻辑帧和第二子逻辑帧的交替执行。在执行完第二子逻辑帧之后,在目标时间的剩余时间足够执行完一帧渲染帧的情况下,可以执行多帧渲染帧中的一帧渲染帧,其中,剩余时间为目标时间之内除执行完第一子逻辑帧需要的第一时间和执行完第二子逻辑帧需要的第二时间之外的时间,实现了对渲染帧的执行。
作为一种可选的实施方式,在执行完第二子逻辑帧之后,该方法还包括:在目标时间的剩余时间不够执行完一帧渲染帧的情况下,在下一个目标时间之内,执行下一帧逻辑帧。
在该实施例中,执行一帧渲染帧需要的时间可以根据之前执行的渲染帧需要的时间进行估计。在执行完第二子逻辑帧之后,判断目标时间的剩余时间是否足够执行完本次的一帧渲染帧。如果判断出目标时间的剩余时间不够执行本次的一帧渲染帧,则在下一个目标时间之内,判断是否可以推进一帧逻辑帧,如果可以推进一帧逻辑帧,则执行一帧逻辑帧中的子逻辑帧,比如,逻辑帧中的子逻辑帧上次执行完的时间距离当前时间在1/15秒之内,则可以推进一帧逻辑帧,执行一帧逻辑帧中的子逻辑帧。
作为一种可选的实施方式,在执行一帧渲染帧之后,该方法还包括:在下一个目标时间之内,执行下一帧逻辑帧。
在该实施例中,在执行一帧渲染帧之后,在下一个目标时间之内,判断是否可以推进一帧逻辑帧。如果判断出可以执行下一帧逻辑帧,则执行下一帧逻辑帧,比如,逻辑帧中的子逻辑帧上次执行完的时间距离当前时间在1/15秒之内,则可以推进一帧逻辑帧,执行下一帧逻辑帧。
在执行下一帧逻辑帧时,在下一帧逻辑帧中的第一子逻辑帧在上次已经完成执行的情况下,则本次直接执行下一帧逻辑帧中的第二子逻辑帧。在执行完下一帧逻辑帧中的第二子逻辑帧之后,在目标时间的剩余时间足够执行完下一帧渲染帧的情况下,可以执行下一帧渲染帧,该剩余时间为目标时间之内除下一帧逻辑帧中的执行完第一子逻辑帧需要的第一时间和执行完第二子逻辑帧需要的第二时间之外的时间,从而实现了对渲染帧的执行。
如果判断出目标时间的剩余时间不够执行下一帧渲染帧,则判断是否可以继续推进一帧逻辑帧,如果可以继续推进一帧逻辑帧,则执行推进的一帧逻辑帧中的子逻辑帧,从而按照上述方法循环推进一帧逻辑帧,实现将逻辑帧分散在渲染帧中执行的目的,以达到帧率的平滑。
作为一种可选的实施方式,在执行一帧逻辑帧之前,该方法还包括:在当前目标时间之内,在未执行一帧逻辑帧的情况下,执行一帧渲染帧。
在该实施例中,在当前目标时间之内执行一帧逻辑帧之前,在当前目标时间之内,在不允许推进一帧逻辑帧的情况下,比如,在逻辑帧中的子逻辑帧上次执行完的时间距离当前时间超过1/15秒,则不推进一帧逻辑帧,从而未执行一帧逻辑帧,此时直接执行多帧渲染帧中的一帧渲染帧,在一帧渲染帧执行完之后,就可以在下一个目标时间之内,执行下一帧逻辑帧。
作为一种可选的实施方式,在获取多个客户端在运行过程中的渲染帧率和逻辑帧率之后,该方法还包括:在渲染帧率和逻辑帧率不符合第一条件的情况下,获取执行完第一子逻辑帧需要的第一时间、执行完第二子逻辑帧需要的第二时间、两次执行完渲染帧需要的第三时间;在执行完一帧逻辑帧中的第一子逻辑帧之后,如果第一时间、第二时间和第三时间之和超过渲染帧在执行时需要的最大时间的两倍情况下,则执行第二子逻辑帧;在执行完第二子逻辑帧之后,执行一帧渲染帧。
在该实施例中,帧同步要求不同客户端执行的逻辑帧完全一致,所以如果一个客户端由于性能不足,逻辑帧在执行时达不到预定的帧率的情况下,比如,在达不到15帧/秒的情况下,就会产生逻辑滞后的问题。因而,为了避免产生逻辑滞后的情况,当客户端的性能不足的时候,降低渲染帧率,从而将更多的中央处理器(Central Processing Unit,简称为CPU)性能留给逻辑帧,以保证逻辑帧率能够达到要求。
在获取多个客户端在运行过程中的渲染帧率和逻辑帧率之后,在渲染帧率和逻辑帧率不符合第一条件的情况下,比如,渲染帧率和逻辑帧率不满足整数倍数关系时,则无法在多这个渲染帧中交替执行逻辑帧中的子逻辑帧,比如,在渲染帧的帧率不足30帧/秒,逻辑帧的帧率不足15帧/秒,且渲染帧率和逻辑帧率不满足整数倍数关系的情况下,则无法再将15个逻辑帧在1秒之内按照A部分逻辑帧和B部分逻辑帧以交替执行的方式平均分配到30个渲染帧之中。
该实施例在渲染帧率和逻辑帧率不符合第一条件的情况下,获取执行完第一子逻辑帧需要的第一时间、执行完第二子逻辑帧需要的第二时间、两次执行完渲染帧需要的第三时间,比如,在执行完一次完整的A部分逻辑帧以及B部分逻辑帧之后,统计A部分逻辑帧和B部分逻辑帧以及渲染帧在客户端上执行分别所需要的耗时。如果执行完一帧逻辑帧中的第一子逻辑帧之后,在第一时间、第二时间和第三时间之和超过渲染帧在执行时需要的最大时间的两倍,则执行第二子逻辑帧,比如,如果在A部分逻辑帧执行完之后,A部分逻辑帧消耗的时间加上之前统计的B部分逻辑帧以及2个渲染帧在执行时的耗时超过了2个渲染帧在执行时需要的最大时间(2×33.3ms)时,就开始进行动态合帧,执行第二子逻辑帧。执行完第二子逻辑帧之后,再执行一帧渲染帧。
举例而言,在第1数据帧和第2数据帧,A部分逻辑帧加B部分逻辑帧的时间是44ms,而假定之前统计的渲染的耗时是16ms,那么就必须将A部分逻辑帧和B部分逻辑帧合并执行完之后,再执行一帧渲染帧,然后紧接着计算下一帧逻辑帧中的A部分逻辑帧,以此执行,最后实际结果是在6个理想渲染帧的时间段里,提交了4个渲染帧(原来6个渲染帧)。使得渲染帧率降低到了之前的三分之二,而依然保证了3个逻辑帧按时完成,从而将更多的CPU性能留给逻辑帧,以保证逻辑帧率能够达到要求,以达到平衡客户端的帧率的目的,优化客户端的画面显示的流畅性。
可选地,在执行一帧渲染帧之后,执行下一帧逻辑帧中的第一子逻辑帧;在第一时间、第二时间和第三时间之和不超过渲染帧需要执行的最大时间的两倍的情况下,可以执行下一帧渲染帧,在执行完下一帧渲染帧之后,再执行一帧逻辑帧中的第二子逻辑帧。
作为一种可选的实施方式,在将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧之前,该方法还包括:在渲染帧率达到目标渲染帧率、且逻辑帧率达到目标逻辑帧率的情况下,确定渲染帧率和逻辑帧率符合目标条件;在渲染帧率未达到目标渲染帧率、和/或逻辑帧率未达到目标逻辑帧率的情况下,确定渲染帧率和逻辑帧率不符合目标条件。
在该实施例中,在将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧之前,在渲染帧率达到目标渲染帧率、且逻辑帧率达到目标逻辑帧率的情况下,确定渲染帧率和逻辑帧率符合目标条件,比如,目标渲染帧率为30帧/秒,目标逻辑帧率为15帧/秒,在渲染帧率达到30帧/秒、且逻辑帧率达到15帧/秒的情况下,确定渲染帧率和逻辑帧率符合目标条件。在渲染帧率未达到目标渲染帧率、和/或逻辑帧率未达到目标逻辑帧率的情况下,确定渲染帧率和逻辑帧率不符合目标条件,比如,在渲染帧率未达到30帧/秒、和/或逻辑帧率未达到15帧/秒的情况下,确定渲染帧率和逻辑帧率不符合目标条件。在渲染帧率和逻辑帧率不符合目标条件的情况下,就会发生逻辑滞后的情况。因而,为了避免这种情况,当客户端的性能不足的时候,采用降低渲染帧率,将更多的CPU性能留给逻辑帧,从而保证逻辑帧率能够达到客户端的画面显示平滑性的要求。
作为一种可选的实施方式,步骤S404,将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧包括:按照渲染帧率和逻辑帧率之间的倍数关系将逻辑帧划分为多帧子逻辑帧。
在该实施例中,在将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧时,可以按照渲染帧率和逻辑帧率之间的倍数关系将逻辑帧划分为多帧子逻辑帧,比如,渲染帧率为30帧/秒,也即,1秒内执行30帧的渲染帧,逻辑帧率为15帧/秒,也即,1秒内执行15帧的逻辑帧,则渲染帧率为逻辑帧率的2倍,可以将逻辑帧划分为两部分的子逻辑帧,从而再将15个逻辑帧在1秒之内按照两部分的子逻辑帧交替执行的方式平均分配到30个渲染帧之中,这样每一帧的耗时就不容易出现一高一低的情况,从而实现了平衡客户端的帧率的技术效果,实现了客户端的显示画面比较平稳的目的。
作为一种可选的实施方式,多帧子逻辑帧在执行时所需要的时间之差在目标阈值范围内。
在该实施例中,在将逻辑帧划分为多帧子逻辑帧时,可以将逻辑帧按照执行的时间平均划分,或者使多个子逻辑帧在执行时的时间接近,差值在目标阈值范围内,从而进一步保证每一数据帧的耗时不容易出现一高一低的情况。
作为一种可选的实施例,在执行一帧渲染帧之后,该方法还包括:执行下一帧逻辑帧中的第一子逻辑帧;在第一时间、第二时间和执行两次渲染帧需要的第三时间之和不超过两个渲染帧需要执行的最大时间的情况下,执行下一帧渲染帧;在执行完下一帧渲染帧之后,执行一帧逻辑帧中的第二子逻辑帧。
该实施例实现了客户端的动态平衡CPU时间的逻辑帧率分帧算法,能够根据当前设备的性能情况,动态调整逻辑帧率的分布,可以用于解决传统的降低逻辑帧率方法带来的每帧耗时不平衡,影响画面流畅性的问题,进而达到优化用户使用手感的目的。
下面结合优选的实施例对本发明的技术方案进行说明。具体以客户端为游戏客户端进行举例说明。
该实施例可以将一个逻辑帧分成了A部分逻辑帧和B部分逻辑帧,可选地,该A部分逻辑帧和B部分逻辑帧在执行时的时间相等或者接近。然后将A部分逻辑帧和B部分逻辑帧交替执行,这样就可以将逻辑帧的计算分散在渲染帧中,比如,逻辑帧的帧率为15帧/秒,渲染帧的帧率为30帧/秒,这样就将15帧的逻辑帧的计算分散在30帧的渲染帧中,避免每一数据帧的耗时非常不均衡,出现一帧耗时高,而一帧耗时低的情况,以达到帧率的平滑,进而优化显示画面和手感。
下面对本发明实施例的技术方案进行举例说明。
图5是根据本发明实施例的一种数据的分帧方法的示意图。如图5所示,每一个编号的黑框小格子可以用于表示渲染帧在执行时需要的最大时间,也即,显示设备刷新一次的时间,蓝色指示框用于表示A部分逻辑帧,红色指示框部分用于表示渲染耗时,黄色指示框用于表示B部分逻辑帧,白色指示框部分用于表示执行的空闲时间。A部分逻辑帧和B部分逻辑帧交替插入在渲染帧之中执行,这样每一帧的耗时就不容易出现一帧耗时高,一帧耗时低的情况,使得客户端的显示画面比较平稳。
图6是根据本发明实施例的一帧数据补帧方法的示意图。如图6所示,每一个编号的黑框小格子可以用于表示渲染帧在执行时需要的最大时间,也即,显示设备刷新一次的时间,蓝色指示框用于表示A部分逻辑帧,红色指示框部分用于表示渲染耗时,黄色指示框用于表示B部分逻辑帧,白色指示框部分用于表示执行的空闲时间。
帧同步在游戏中需要不同客户端执行的逻辑帧完全一致,所以如果一个客户端由于性能不足,在逻辑帧执行不到预定的帧率的情况下(假定预定的帧率为15帧/秒),就会导致逻辑滞后的情况。所以为了避免这种情况的发生,当客户端的性能不足的时候,需要降低渲染帧率,将更多的CPU性能留给逻辑,以保证逻辑帧率能够达到要求。
可选地,在该实施例中,当渲染帧率不足30帧/秒的时候,将无法再将15个逻辑帧在1秒之内按照A部分逻辑帧和B部分逻辑帧以交替执行的方式平均分配到30个渲染帧之中。因而该实施例在执行完一次完整的A部分逻辑帧和B部分逻辑帧之后,可以统计A部分逻辑帧、B部分逻辑帧以及渲染部分在设备上执行时分别所需要的耗时。如果在A部分逻辑帧执行完之后,A部分逻辑帧消耗的时间加上之前统计的B部分逻辑帧消耗的时间以及2次渲染帧消耗的时间超过了2个渲染帧的最大时间(2×33.3ms),就开始进行动态合帧。如图6所示,对于第1数据帧和第2数据帧,A部分逻辑帧加B部分逻辑帧的时间是44ms,而假定之前统计的渲染帧的耗时是16ms,则需要将A部分和B部分合并执行完之后,再执行一帧渲染帧。需要说明的是,在保证逻辑帧执行的情况下,要尽量提高渲染帧的执行次数。然后紧接着计算下一帧的A部分逻辑帧。最后执行的实际结果是在6个理想渲染帧执行的时间段里,执行了4个渲染帧(原来6个渲染帧)。渲染帧率降低到了之前的三分之二,而依然保证了3个逻辑帧的按时完成,减少了跳帧和丢帧的现象,提高了游戏画面的流畅性,实现了平衡游戏客户端的帧率的技术效果。
图7是根据本发明实施例的另一种数据处理的方法的流程图。如图7所示,该方法包括以下步骤:
步骤S701,判断是否推进一帧数据帧。
在该实施例中,首先判断是否应该推进一帧数据帧,比如,逻辑帧的帧率为15帧/秒,逻辑帧中的子逻辑帧在上次执行完的时间距离当前时间在1/15秒之内,则可以推进一帧逻辑帧,执行逻辑帧中的第一子逻辑帧,如果逻辑帧中的子逻辑帧上次执行完的时间距离当前时间超过1/15秒,则此时不能推进一帧逻辑帧。如果判断出推进一帧数据帧,执行步骤S702,如果判断出不推进一帧数据帧,则执行步骤S706。
步骤S702,判断上一次执行过程中,逻辑帧中的A部分逻辑帧是否已经执行完成。
在判断是否推进一帧数据帧之后,如果判断出推进一帧数据帧,判断上一次执行过程中,逻辑帧中的A部分逻辑帧是否已经执行完成,如果判断出上一次执行过程中,逻辑帧中的A部分逻辑帧已经执行完成,执行步骤S703,如果判断出上一次执行过程中,逻辑帧中的A部分逻辑帧未完成,执行步骤S704,以实现逻辑帧中的A部分逻辑帧和B部分逻辑帧在渲染帧中可以交替执行。
步骤S703,执行逻辑帧中的B部分逻辑帧。
在判断上一次执行过程中,逻辑帧中的A部分逻辑帧是否已经执行完成之后,如果判断出上一次执行过程中,逻辑帧中的A部分逻辑帧已经执行完成,执行逻辑帧中的B部分逻辑帧。
步骤S704,执行逻辑帧中的A部分逻辑帧。
在判断上一次执行过程中,逻辑帧中的A部分逻辑帧是否已经执行完成之后,如果判断出上一次执行过程中,逻辑帧中的A部分逻辑帧未完成,执行逻辑帧中的A部分逻辑帧。
步骤S705,判断剩余时间是否足够执行一个渲染帧。
在执行逻辑帧中的B部分逻辑帧,或者在执行逻辑帧中的A部分逻辑帧之后,判断渲染帧允许执行的最大时间中的剩余时间是否足够再执行一个渲染帧。如果判断出剩余时间足够执行一个渲染帧,则执行步骤S706,如果判断出剩余时间不够执行一个渲染帧,则执行步骤S701。
步骤S706,执行一个渲染帧。
在判断出不推进一帧数据帧时,执行一个渲染帧,或者在判断剩余时间是否足够执行一个渲染帧之后,执行一个渲染帧。在执行一个渲染帧之后,重新开始执行步骤S701,从而实现了将逻辑帧的计算分散在渲染帧中,以达到客户端的帧率的平滑,从而优化客户端的显示画面和使用手感。
图8是根据本发明实施例的一种数据处理方法的处理效果的示意图。如图8所示,测试环境是在移动终端上,测试场景可以是游戏场景中的对战模式,测试移动终端的性能正好处在能够流畅运行游戏客户端的临界区。可以看到,相比于图2所示的采取传统分帧模式,纵坐标表示的帧率随横坐标时间的推移出现了锯齿形的抖动,而本发明实施例的分帧模式,使帧率平滑度明显提升,可以将纵坐标表示的帧率稳定在30帧/秒左右,从而提高了显示画面的流畅性,减少了跳帧和丢帧的现象。
需要说明的是,该实施例的数据处理方案不仅可以使用在游戏方面,还可以应用于导航、地图等涉及数据帧处理的领域。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明实施例的另一方面,还提供了一种用于实施上述数据处理方法的数据处理装置。图9是根据本发明实施例的一种据处理装置的示意图。如图9所示,该装置可以包括:获取单元10、划分单元20和执行单元30。
获取单元10,用于获取多个客户端在运行过程中的渲染帧率和逻辑帧率,其中,渲染帧率用于指示每个客户端的显示画面在刷新时的频率,逻辑帧率用于指示每个客户端的处理逻辑在计算时的频率。
划分单元20,用于在渲染帧率和逻辑帧率符合目标条件的情况下,将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧,其中,逻辑帧为每个客户端的处理逻辑在计算时使用到的数据帧,在每个逻辑帧中,每个客户端具有相同的初始状态。
执行单元30,用于在执行渲染帧率对应的多帧渲染帧时,将多帧子逻辑帧分别在每帧渲染帧中交替执行,其中,每帧渲染帧执行的时间包括一个子逻辑帧执行的时间,渲染帧为每个客户端的显示画面在刷新时使用到的数据帧。
需要说明的是,该实施例中的获取单元10可以用于执行本申请实施例中的步骤S402,该实施例中的划分单元20可以用于执行本申请实施例中的步骤S404,该实施例中的执行单元30可以用于执行本申请实施例中的步骤S406。
该实施例通过获取单元10获取多个客户端在运行过程中的渲染帧率和逻辑帧率,渲染帧率用于指示每个客户端的显示画面在刷新时的频率,逻辑帧率用于指示每个客户端的处理逻辑在计算时的频率,通过划分单元20在渲染帧率和逻辑帧率符合目标条件的情况下,将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧,逻辑帧为每个客户端的处理逻辑在计算时使用到的数据帧,在每个逻辑帧中,每个客户端具有相同的初始状态,通过执行单元30在执行渲染帧率对应的多帧渲染帧时,将多帧子逻辑帧分别在每帧渲染帧中交替执行,每帧渲染帧执行的时间包括一个子逻辑帧执行的时间,渲染帧为每个客户端的显示画面在刷新时使用到的数据帧。由于将逻辑帧分成了多个部分的子逻辑帧,然后将多个部分的子逻辑帧在渲染帧中交替执行,这样就能把逻辑帧的逻辑计算分散在多帧渲染帧中,以达到平衡客户端的帧率的目的,从而实现了平衡客户端的帧率的技术效果,进而解决了相关技术中存在的客户端的帧率不平衡的技术问题。
此处需要说明的是,上述单元与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述单元作为装置的一部分可以运行在如图3所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本发明实施例的另一方面,还提供了一种用于实施上述数据处理方法的电子装置。
图10是根据本发明实施例的一种电子装置的结构框图。如图10所示,该的电子装置可以包括:一个或多个(图中仅示出一个)处理器101、存储器103。可选地,如图10所示,该电子装置还可以包括传输装置105。
其中,存储器103可用于存储软件程序以及模块,如本发明实施例中的数据处理方法和装置对应的程序指令/模块,处理器101通过运行存储在存储器103内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。存储器103可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器103可进一步包括相对于处理器101远程设置的存储器,这些远程存储器可以通过网络连接至电子装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置105用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置105包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置105为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器103用于存储应用程序。
处理器101可以通过传输装置105调用存储器103存储的应用程序,以执行下述步骤:
获取多个客户端在运行过程中的渲染帧率和逻辑帧率,其中,渲染帧率用于指示每个客户端的显示画面在刷新时的频率,逻辑帧率用于指示每个客户端的处理逻辑在计算时的频率;
在渲染帧率和逻辑帧率符合目标条件的情况下,将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧,其中,逻辑帧为每个客户端的处理逻辑在计算时使用到的数据帧,在每个逻辑帧中,每个客户端具有相同的初始状态;
在执行渲染帧率对应的多帧渲染帧时,将多帧子逻辑帧分别在每帧渲染帧中交替执行,其中,每帧渲染帧执行的时间包括一个子逻辑帧执行的时间,渲染帧为每个客户端的显示画面在刷新时使用到的数据帧。
处理器101还用于执行下述步骤:在渲染帧率和逻辑帧率符合第一条件的情况下,将逻辑帧率对应的逻辑帧划分为第一子逻辑帧和第二子逻辑帧,其中,目标条件包括第一条件;在执行渲染帧率对应的多帧渲染帧时,将多帧子逻辑帧分别在每帧渲染帧中交替执行包括:在执行渲染帧率对应的多帧渲染帧时,将第一子逻辑帧和第二子逻辑帧分别在每帧渲染帧中交替执行,其中,每帧渲染帧在执行时需要的最大时间包括第一子逻辑帧或第二子逻辑帧执行的时间。
处理器101还用于执行下述步骤:在当前目标时间之内,在执行渲染帧率对应的多帧渲染帧中的一帧渲染帧之前,执行第一子逻辑帧,其中,在一帧渲染帧在执行时需要的最大时间包括第一子逻辑帧执行的时间的情况下,当前目标时间为一帧渲染帧在执行时需要的最大时间;在执行完第一子逻辑帧之后,执行一帧渲染帧;在执行完一帧渲染帧,且在当前目标时间之后,在下一个目标时间之内,在执行一帧渲染帧的下一帧渲染帧之前,执行第二子逻辑帧,其中,在下一帧渲染帧在执行时需要的最大时间包括第二子逻辑帧执行的时间的情况下,下一个目标时间为下一帧渲染帧在执行时需要的最大时间;在执行完第二子逻辑帧之后,执行下一帧渲染帧。
处理器101还用于执行下述步骤:在当前目标时间之内,执行一帧逻辑帧,其中,目标时间为一帧渲染帧在执行时需要的最大时间;在一帧逻辑帧中的第一子逻辑帧执行完成的情况下,执行一帧逻辑帧中的第二子逻辑帧;在执行完第二子逻辑帧之后,在目标时间的剩余时间足够执行完一帧渲染帧的情况下,执行一帧渲染帧,其中,剩余时间为目标时间之内除执行完第一子逻辑帧需要的第一时间和执行完第二子逻辑帧需要的第二时间之外的时间。
处理器101还用于执行下述步骤:在执行完第二子逻辑帧之后,在目标时间的剩余时间不够执行完一帧渲染帧的情况下,在下一个目标时间之内,执行下一帧逻辑帧。
处理器101还用于执行下述步骤:在执行一帧渲染帧之后,在下一个目标时间之内,执行下一帧逻辑帧。
处理器101还用于执行下述步骤:在执行一帧逻辑帧之前,在当前目标时间之内,在未执行一帧逻辑帧的情况下,执行一帧渲染帧。
处理器101还用于执行下述步骤:在获取多个客户端在运行过程中的渲染帧率和逻辑帧率之后,在渲染帧率和逻辑帧率不符合第一条件的情况下,获取执行完第一子逻辑帧需要的第一时间、执行完第二子逻辑帧需要的第二时间、两次执行完渲染帧需要的第三时间;在执行完一帧逻辑帧中的第一子逻辑帧之后,如果第一时间、第二时间和第三时间之和超过渲染帧在执行时需要的最大时间的两倍,则执行第二子逻辑帧;在执行完第二子逻辑帧之后,执行一帧渲染帧。
处理器101还用于执行下述步骤:在将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧之前,在渲染帧率达到目标渲染帧率、且逻辑帧率达到目标逻辑帧率的情况下,确定渲染帧率和逻辑帧率符合目标条件;在渲染帧率未达到目标渲染帧率、和/或逻辑帧率未达到目标逻辑帧率的情况下,确定渲染帧率和逻辑帧率不符合目标条件。
处理器101还用于执行下述步骤:按照渲染帧率和逻辑帧率之间的倍数关系将逻辑帧划分为多帧子逻辑帧。
采用本发明实施例,提供了一种数据处理方法的方案。通过获取多个客户端在运行过程中的渲染帧率和逻辑帧率,渲染帧率用于指示每个客户端的显示画面在刷新时的频率,逻辑帧率用于指示每个客户端的处理逻辑在计算时的频率;在渲染帧率和逻辑帧率符合目标条件的情况下,将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧,逻辑帧为每个客户端的处理逻辑在计算时使用到的数据帧,在每个逻辑帧中,每个客户端具有相同的初始状态;在执行渲染帧率对应的多帧渲染帧时,将多帧子逻辑帧分别在每帧渲染帧中交替执行,每帧渲染帧执行的时间包括一个子逻辑帧执行的时间,渲染帧为每个客户端的显示画面在刷新时使用到的数据帧。由于将逻辑帧分成了多个部分的子逻辑帧,然后将多个部分的子逻辑帧在渲染帧中交替执行,这样就能把逻辑帧的逻辑计算分散在多帧渲染帧中,以达到平衡客户端的帧率的目的,从而实现了平衡客户端的帧率的技术效果,进而解决了相关技术中存在的客户端的帧率不平衡的技术问题。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等电子装置。图10其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图10中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图10所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令电子装置相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行数据处理方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
获取多个客户端在运行过程中的渲染帧率和逻辑帧率,其中,渲染帧率用于指示每个客户端的显示画面在刷新时的频率,逻辑帧率用于指示每个客户端的处理逻辑在计算时的频率;
在渲染帧率和逻辑帧率符合目标条件的情况下,将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧,其中,逻辑帧为每个客户端的处理逻辑在计算时使用到的数据帧,在每个逻辑帧中,每个客户端具有相同的初始状态;
在执行渲染帧率对应的多帧渲染帧时,将多帧子逻辑帧分别在每帧渲染帧中交替执行,其中,每帧渲染帧执行的时间包括一个子逻辑帧执行的时间,渲染帧为每个客户端的显示画面在刷新时使用到的数据帧。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在渲染帧率和逻辑帧率符合第一条件的情况下,将逻辑帧率对应的逻辑帧划分为第一子逻辑帧和第二子逻辑帧,其中,目标条件包括第一条件;在执行渲染帧率对应的多帧渲染帧时,将多帧子逻辑帧分别在每帧渲染帧中交替执行包括:在执行渲染帧率对应的多帧渲染帧时,将第一子逻辑帧和第二子逻辑帧分别在每帧渲染帧中交替执行,其中,每帧渲染帧在执行时需要的最大时间包括第一子逻辑帧或第二子逻辑帧执行的时间。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在当前目标时间之内,在执行渲染帧率对应的多帧渲染帧中的一帧渲染帧之前,执行第一子逻辑帧,其中,在一帧渲染帧在执行时需要的最大时间包括第一子逻辑帧执行的时间的情况下,当前目标时间为一帧渲染帧在执行时需要的最大时间;在执行完第一子逻辑帧之后,执行一帧渲染帧;在执行完一帧渲染帧,且在当前目标时间之后,在下一个目标时间之内,在执行一帧渲染帧的下一帧渲染帧之前,执行第二子逻辑帧,其中,在下一帧渲染帧在执行时需要的最大时间包括第二子逻辑帧执行的时间的情况下,下一个目标时间为下一帧渲染帧在执行时需要的最大时间;在执行完第二子逻辑帧之后,执行下一帧渲染帧。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在当前目标时间之内,执行一帧逻辑帧,其中,目标时间为一帧渲染帧在执行时需要的最大时间;在一帧逻辑帧中的第一子逻辑帧执行完成的情况下,执行一帧逻辑帧中的第二子逻辑帧;在执行完第二子逻辑帧之后,在目标时间的剩余时间足够执行完一帧渲染帧的情况下,执行一帧渲染帧,其中,剩余时间为目标时间之内除执行完第一子逻辑帧需要的第一时间和执行完第二子逻辑帧需要的第二时间之外的时间。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在执行完第二子逻辑帧之后,在目标时间的剩余时间不够执行完一帧渲染帧的情况下,在下一个目标时间之内,执行下一帧逻辑帧。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在执行一帧渲染帧之后,在下一个目标时间之内,执行下一帧逻辑帧。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在执行一帧逻辑帧之前,在当前目标时间之内,在未执行一帧逻辑帧的情况下,执行一帧渲染帧。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在获取多个客户端在运行过程中的渲染帧率和逻辑帧率之后,在渲染帧率和逻辑帧率不符合第一条件的情况下,获取执行完第一子逻辑帧需要的第一时间、执行完第二子逻辑帧需要的第二时间、两次执行完渲染帧需要的第三时间;在执行完一帧逻辑帧中的第一子逻辑帧之后,在第一时间、第二时间和第三时间之和超过渲染帧在执行时需要的最大时间的两倍,则执行第二子逻辑帧;在执行完第二子逻辑帧之后,执行一帧渲染帧。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在将逻辑帧率对应的逻辑帧划分为多帧子逻辑帧之前,在渲染帧率达到目标渲染帧率、且逻辑帧率达到目标逻辑帧率的情况下,确定渲染帧率和逻辑帧率符合目标条件;在渲染帧率未达到目标渲染帧率、和/或逻辑帧率未达到目标逻辑帧率的情况下,确定渲染帧率和逻辑帧率不符合目标条件。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:按照渲染帧率和逻辑帧率之间的倍数关系将逻辑帧划分为多帧子逻辑帧。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的第一客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种数据处理方法,其特征在于,包括:
获取多个客户端在运行过程中的渲染帧率和逻辑帧率;
在所述渲染帧率和所述逻辑帧率符合目标条件的情况下,将所述逻辑帧率对应的逻辑帧划分为多帧子逻辑帧;
在执行所述渲染帧率对应的多帧渲染帧时,将多帧所述子逻辑帧分别在每帧所述渲染帧中交替执行,其中,每帧所述渲染帧执行的时间包括一个所述子逻辑帧执行的时间。
2.根据权利要求1所述的方法,其特征在于,
在所述渲染帧率和所述逻辑帧率符合所述目标条件的情况下,将所述逻辑帧率对应的所述逻辑帧划分为多帧所述子逻辑帧包括:在所述渲染帧率和所述逻辑帧率符合第一条件的情况下,将所述逻辑帧率对应的逻辑帧划分为第一子逻辑帧和第二子逻辑帧,其中,所述目标条件包括所述第一条件;
在执行所述渲染帧率对应的多帧所述渲染帧时,将多帧所述子逻辑帧分别在每帧所述渲染帧中交替执行包括:在执行所述渲染帧率对应的多帧所述渲染帧时,将所述第一子逻辑帧和所述第二子逻辑帧分别在每帧所述渲染帧中交替执行,其中,每帧所述渲染帧在执行时需要的最大时间包括所述第一子逻辑帧或所述第二子逻辑帧执行的时间。
3.根据权利要求2所述的方法,其特征在于,在执行所述渲染帧率对应的多帧所述渲染帧时,将所述第一子逻辑帧和所述第二子逻辑帧分别在每帧所述渲染帧中交替执行包括:
在当前目标时间之内,在执行一帧所述渲染帧之前,执行所述第一子逻辑帧,其中,在一帧所述渲染帧在执行时需要的最大时间包括所述第一子逻辑帧执行的时间的情况下,当前所述目标时间为一帧所述渲染帧在执行时需要的最大时间;
在执行完所述第一子逻辑帧之后,执行一帧所述渲染帧;
在执行完一帧所述渲染帧,且在当前所述目标时间之后,在下一个所述目标时间之内,在执行一帧所述渲染帧的下一帧所述渲染帧之前,执行所述第二子逻辑帧,其中,在下一帧所述渲染帧在执行时需要的最大时间包括所述第二子逻辑帧执行的时间的情况下,下一个所述目标时间为下一帧所述渲染帧在执行时需要的最大时间;
在执行完所述第二子逻辑帧之后,执行下一帧所述渲染帧。
4.根据权利要求2所述的方法,其特征在于,在执行所述渲染帧率对应的多帧所述渲染帧时,将所述第一子逻辑帧和所述第二子逻辑帧分别在每帧所述渲染帧中交替执行包括:
在当前目标时间之内,执行一帧所述逻辑帧,其中,所述目标时间为一帧所述渲染帧在执行时需要的最大时间;
在一帧所述逻辑帧中的所述第一子逻辑帧执行完成的情况下,执行一帧所述逻辑帧中的所述第二子逻辑帧;
在执行完所述第二子逻辑帧之后,在所述目标时间的剩余时间足够执行完一帧所述渲染帧的情况下,执行一帧所述渲染帧,其中,所述剩余时间为所述目标时间之内除执行完所述第一子逻辑帧需要的第一时间和执行完所述第二子逻辑帧需要的第二时间之外的时间。
5.根据权利要求4所述的方法,其特征在于,在执行完所述第二子逻辑帧之后,所述方法还包括:
在所述目标时间的剩余时间不够执行完一帧所述渲染帧的情况下,在下一个所述目标时间之内,执行下一帧所述逻辑帧。
6.根据权利要求3所述的方法,其特征在于,在执行一帧所述渲染帧之后,所述方法还包括:
在下一个所述目标时间之内,执行下一帧所述逻辑帧。
7.根据权利要求3所述的方法,其特征在于,在执行一帧所述逻辑帧之前,所述方法还包括:
在当前所述目标时间之内,在未执行一帧所述逻辑帧的情况下,执行一帧所述渲染帧。
8.根据权利要求2所述的方法,其特征在于,在获取多个所述客户端在运行过程中的所述渲染帧率和所述逻辑帧率之后,所述方法还包括:
在所述渲染帧率和所述逻辑帧率不符合所述第一条件的情况下,获取执行完所述第一子逻辑帧需要的第一时间、执行完所述第二子逻辑帧需要的第二时间、两次执行完所述渲染帧需要的第三时间;
在执行完一帧所述逻辑帧中的所述第一子逻辑帧之后,如果所述第一时间、所述第二时间和所述第三时间之和超过所述渲染帧在执行时需要的最大时间的两倍,则执行所述第二子逻辑帧;
在执行完所述第二子逻辑帧之后,执行一帧所述渲染帧。
9.根据权利要求1至8中任意一项所述的方法,其特征在于,在将所述逻辑帧率对应的所述逻辑帧划分为多帧所述子逻辑帧之前,所述方法还包括:
在所述渲染帧率达到目标渲染帧率、且所述逻辑帧率达到目标逻辑帧率的情况下,确定所述渲染帧率和所述逻辑帧率符合所述目标条件;
在所述渲染帧率未达到目标渲染帧率、和/或所述逻辑帧率未达到目标逻辑帧率的情况下,确定所述渲染帧率和所述逻辑帧率不符合所述目标条件。
10.根据权利要求1至8中任意一项所述的方法,其特征在于,将所述逻辑帧率对应的逻辑帧划分为多帧所述子逻辑帧包括:
按照所述渲染帧率和所述逻辑帧率之间的倍数关系将所述逻辑帧划分为多帧所述子逻辑帧。
11.根据权利要求1至8中任意一项所述的方法,其特征在于,多帧所述子逻辑帧在执行时所需要的时间之差在目标阈值范围内。
12.一种数据处理装置,其特征在于,包括:
获取单元,用于获取多个客户端在运行过程中的渲染帧率和逻辑帧率;
划分单元,用于在所述渲染帧率和所述逻辑帧率符合目标条件的情况下,将所述逻辑帧率对应的逻辑帧划分为多帧子逻辑帧;
执行单元,用于在执行所述渲染帧率对应的多帧渲染帧时,将多帧所述子逻辑帧分别在每帧所述渲染帧中交替执行,其中,每帧所述渲染帧执行的时间包括一个所述子逻辑帧执行的时间。
13.根据权利要求12所述的装置,其特征在于,
所述划分单元包括:划分模块,用于在所述渲染帧率和所述逻辑帧率符合第一条件的情况下,将所述逻辑帧率对应的逻辑帧划分为第一子逻辑帧和第二子逻辑帧,其中,所述目标条件包括所述第一条件;
所述执行单元包括:执行模块,用于在执行所述渲染帧率对应的多帧所述渲染帧时,将所述第一子逻辑帧和所述第二子逻辑帧分别在每帧所述渲染帧中交替执行,其中,每帧所述渲染帧在执行时需要的最大时间包括所述第一子逻辑帧或所述第二子逻辑帧执行的时间。
14.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,
所述程序运行时执行所述权利要求1至11任一项中所述的数据处理方法。
15.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行所述权利要求1至11任一项中所述的数据处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711243155.8A CN108289246B (zh) | 2017-11-30 | 2017-11-30 | 数据处理方法、装置、存储介质和电子装置 |
PCT/CN2018/114588 WO2019105195A1 (zh) | 2017-11-30 | 2018-11-08 | 数据处理方法、装置、存储介质和电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711243155.8A CN108289246B (zh) | 2017-11-30 | 2017-11-30 | 数据处理方法、装置、存储介质和电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108289246A true CN108289246A (zh) | 2018-07-17 |
CN108289246B CN108289246B (zh) | 2020-09-29 |
Family
ID=62831833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711243155.8A Active CN108289246B (zh) | 2017-11-30 | 2017-11-30 | 数据处理方法、装置、存储介质和电子装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108289246B (zh) |
WO (1) | WO2019105195A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019105195A1 (zh) * | 2017-11-30 | 2019-06-06 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、存储介质和电子装置 |
CN111078172A (zh) * | 2019-12-04 | 2020-04-28 | 在线途游(北京)科技有限公司 | 一种显示流畅度的调整方法、装置、电子设备及存储介质 |
CN111167116A (zh) * | 2019-09-29 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种平滑显示的方法、终端和计算机存储介质 |
CN111744177A (zh) * | 2020-07-28 | 2020-10-09 | 腾讯科技(深圳)有限公司 | 游戏数据处理方法和装置、存储介质和电子设备 |
CN113018845A (zh) * | 2021-03-25 | 2021-06-25 | 广州虎牙科技有限公司 | 一种操作指令执行方法、客户端、服务端及存储介质 |
CN113490054A (zh) * | 2021-07-01 | 2021-10-08 | 网易(杭州)网络有限公司 | 虚拟角色控制方法、装置、设备及存储介质 |
CN113867734A (zh) * | 2021-10-20 | 2021-12-31 | 北京思明启创科技有限公司 | 代码块解释执行方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010043216A1 (en) * | 1999-04-16 | 2001-11-22 | Hoffman Don B. | System and method for occlusion culling graphical data |
US20130141642A1 (en) * | 2011-12-05 | 2013-06-06 | Microsoft Corporation | Adaptive control of display refresh rate based on video frame rate and power efficiency |
CN103458319A (zh) * | 2006-09-06 | 2013-12-18 | 英特尔公司 | 具有多个媒体播放模型的媒体播放工具 |
CN104050040A (zh) * | 2013-03-15 | 2014-09-17 | 英特尔公司 | 媒体重放工作负荷调度器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108289246B (zh) * | 2017-11-30 | 2020-09-29 | 腾讯科技(成都)有限公司 | 数据处理方法、装置、存储介质和电子装置 |
-
2017
- 2017-11-30 CN CN201711243155.8A patent/CN108289246B/zh active Active
-
2018
- 2018-11-08 WO PCT/CN2018/114588 patent/WO2019105195A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010043216A1 (en) * | 1999-04-16 | 2001-11-22 | Hoffman Don B. | System and method for occlusion culling graphical data |
CN103458319A (zh) * | 2006-09-06 | 2013-12-18 | 英特尔公司 | 具有多个媒体播放模型的媒体播放工具 |
US20130141642A1 (en) * | 2011-12-05 | 2013-06-06 | Microsoft Corporation | Adaptive control of display refresh rate based on video frame rate and power efficiency |
CN104050040A (zh) * | 2013-03-15 | 2014-09-17 | 英特尔公司 | 媒体重放工作负荷调度器 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019105195A1 (zh) * | 2017-11-30 | 2019-06-06 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、存储介质和电子装置 |
CN111167116A (zh) * | 2019-09-29 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种平滑显示的方法、终端和计算机存储介质 |
CN111078172A (zh) * | 2019-12-04 | 2020-04-28 | 在线途游(北京)科技有限公司 | 一种显示流畅度的调整方法、装置、电子设备及存储介质 |
CN111078172B (zh) * | 2019-12-04 | 2023-08-22 | 在线途游(北京)科技有限公司 | 一种显示流畅度的调整方法、装置、电子设备及存储介质 |
CN111744177A (zh) * | 2020-07-28 | 2020-10-09 | 腾讯科技(深圳)有限公司 | 游戏数据处理方法和装置、存储介质和电子设备 |
CN111744177B (zh) * | 2020-07-28 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 游戏数据处理方法和装置、存储介质和电子设备 |
CN113018845A (zh) * | 2021-03-25 | 2021-06-25 | 广州虎牙科技有限公司 | 一种操作指令执行方法、客户端、服务端及存储介质 |
CN113490054A (zh) * | 2021-07-01 | 2021-10-08 | 网易(杭州)网络有限公司 | 虚拟角色控制方法、装置、设备及存储介质 |
CN113867734A (zh) * | 2021-10-20 | 2021-12-31 | 北京思明启创科技有限公司 | 代码块解释执行方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2019105195A1 (zh) | 2019-06-06 |
CN108289246B (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108289246A (zh) | 数据处理方法、装置、存储介质和电子装置 | |
CN107398072B (zh) | 游戏画面的显示方法和装置 | |
KR102577365B1 (ko) | 플레이어의 경쟁형 게임플레이 참여 장려 | |
CN110263921A (zh) | 一种联邦学习模型的训练方法及装置 | |
CN109413480A (zh) | 画面处理方法、装置、终端及存储介质 | |
CN107368410A (zh) | 游戏引擎的性能测试方法和装置、存储介质及电子装置 | |
CN104133666B (zh) | 确定人工智能行为的方法、装置及人工智能服务器 | |
CN107241418A (zh) | 一种负载均衡方法、装置、设备和计算机可读存储介质 | |
CN106649396B (zh) | 游戏等级数据的排序方法、系统及装置 | |
CN101539968B (zh) | 一种围棋人机对弈系统 | |
CN107451066A (zh) | 卡顿处理方法和装置、存储介质、终端 | |
CN107104897A (zh) | 基于路径的数据传输方法及系统 | |
CN108310766A (zh) | 数据处理方法和装置、存储介质、处理器及终端 | |
CN109600315A (zh) | 数据通道的流控方法和调整方法 | |
CN110251942A (zh) | 控制游戏场景中虚拟角色的方法及装置 | |
CN107168794A (zh) | 数据请求的处理方法和装置 | |
CN108771866A (zh) | 虚拟现实中的虚拟对象控制方法及装置 | |
CN108259238A (zh) | 数据中心中网络功能服务链映射的方法 | |
CN106390451B (zh) | 对游戏服务器的容量进行测试的方法及装置 | |
CN109460361A (zh) | 性能测试方法和装置、存储介质及电子装置 | |
CN108592309A (zh) | 多联机集中控制方法、系统和装置 | |
CN107105049A (zh) | 数据迁移方法和装置 | |
CN105872098A (zh) | 数据处理方法、负载均衡器和交互式应用服务器及系统 | |
CN109214512A (zh) | 一种深度学习的参数交换方法、装置、服务器及存储介质 | |
CN109529355A (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 |