CN113117326A - 一种帧率控制方法和装置 - Google Patents

一种帧率控制方法和装置 Download PDF

Info

Publication number
CN113117326A
CN113117326A CN202110327799.5A CN202110327799A CN113117326A CN 113117326 A CN113117326 A CN 113117326A CN 202110327799 A CN202110327799 A CN 202110327799A CN 113117326 A CN113117326 A CN 113117326A
Authority
CN
China
Prior art keywords
frame rate
game
target game
data
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110327799.5A
Other languages
English (en)
Other versions
CN113117326B (zh
Inventor
潘博渊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Cyber Shenzhen Co Ltd
Original Assignee
Tencent Cyber Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Cyber Shenzhen Co Ltd filed Critical Tencent Cyber Shenzhen Co Ltd
Priority to CN202110327799.5A priority Critical patent/CN113117326B/zh
Publication of CN113117326A publication Critical patent/CN113117326A/zh
Application granted granted Critical
Publication of CN113117326B publication Critical patent/CN113117326B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/50Features 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/53Features 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
    • A63F2300/538Features 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 for performing operations on behalf of the game client, e.g. rendering
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/50Features 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/55Details of game data or player data management
    • A63F2300/552Details of game data or player data management for downloading to client devices, e.g. using OS version, hardware or software profile of the client device
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请公开了一种帧率控制方法和装置,所述方法包括客户端监控目标游戏的运行状态数据;当所述客户端确定所述运行状态数据满足预设帧率调节条件时,所述客户端确定所述目标游戏的帧率需求信息;所述客户端向服务器发送所述目标游戏的帧率调节请求,所述帧率调节请求携带有所述帧率需求信息;所述服务器基于所述帧率需求信息进行所述目标游戏的数据渲染,生成所述目标游戏的游戏数据;所述服务器向所述客户端发送所述游戏数据。利用本申请提供的技术方案能够提升云游戏帧率控制的实时性和灵活性。

Description

一种帧率控制方法和装置
技术领域
本申请涉及云游戏技术领域,具体涉及一种帧率控制方法和装置。
背景技术
云游戏是以云计算为基础的游戏方式,在云游戏的运行模式下,游戏可以在服务器端运行,并将渲染完毕后的游戏画面压缩后通过网络传送给用户。在客户端,用户的游戏设备无需高端的处理器和显卡等硬件配置,只需要基本的视频解压能力即可,灵活方便且大大降低了用户的游戏成本。
现有技术主要通过服务器确定游戏的帧率并进行数据传输,通常服务器的处理能力要强于客户端,当服务器以较高帧率进行游戏运行和数据传输时,若客户端存在网络环境较差、硬件处理能力较差等问题则无法完全处理服务器传输的数据,产生资源浪费,且可能带来游戏卡顿等问题,影响用户的游戏体验。因此,需要提供更加有效的方案。
发明内容
为了解决现有技术的问题,本申请提供了一种帧率控制方法和装置。所述技术方案如下:
本申请一方面提供了一种帧率控制方法,所述方法包括:
客户端监控目标游戏的运行状态数据;
当所述客户端确定所述运行状态数据满足预设帧率调节条件时,所述客户端确定所述目标游戏的帧率需求信息;
所述客户端向服务器发送所述目标游戏的帧率调节请求,所述帧率调节请求携带有所述帧率需求信息;
所述服务器基于所述帧率需求信息进行所述目标游戏的数据渲染,生成所述目标游戏的游戏数据;
所述服务器向所述客户端发送所述游戏数据。
本申请另一方面提供了另一种帧率控制方法,所述方法包括:
监控目标游戏的运行状态数据;
当确定所述运行状态数据满足预设帧率调节条件时,确定所述目标游戏的帧率需求信息;
向服务器发送所述目标游戏的帧率调节请求,所述帧率调节请求携带有所述帧率需求信息,以使所述服务器基于所述帧率需求信息进行所述目标游戏的数据渲染,生成所述目标游戏的游戏数据;
接收所述服务器发送的所述游戏数据。
本申请另一方面提供了另一种帧率控制方法,所述方法包括:
接收客户端发送的目标游戏的帧率调节请求,所述帧率调节请求携带有所述目标游戏的帧率需求信息,所述帧率需求信息为所述客户端监控所述目标游戏的运行状态数据,当所述客户端确定所述运行状态数据满足预设帧率调节条件时确定的;
基于所述帧率需求信息进行所述目标游戏的数据渲染,生成所述目标游戏的游戏数据;
向所述客户端发送所述游戏数据。
本申请另一方面提供了一种帧率控制***,所述***包括客户端和服务器;
所述客户端用于监控目标游戏的运行状态数据;以及当确定所述运行状态数据满足预设帧率调节条件时,确定所述目标游戏的帧率需求信息;以及向所述服务器发送所述目标游戏的帧率调节请求,所述帧率调节请求携带有所述帧率需求信息;
所述服务器用于基于所述帧率需求信息进行所述目标游戏的数据渲染,生成所述目标游戏的游戏数据;以及向所述客户端发送所述游戏数据。
本申请另一方面提供了一种帧率控制装置,所述装置包括:
运行状态监控模块,用于监控目标游戏的运行状态数据;
帧率需求信息确定模块,用于当确定所述运行状态数据满足预设帧率调节条件时,确定所述目标游戏的帧率需求信息;
帧率调节请求发送模块,用于向服务器发送所述目标游戏的帧率调节请求,所述帧率调节请求携带有所述帧率需求信息,以使所述服务器基于所述帧率需求信息进行所述目标游戏的数据渲染,生成所述目标游戏的游戏数据;
游戏数据接收模块,用于接收所述服务器发送的所述游戏数据。
本申请另一方面提供了另一种帧率控制装置,所述装置包括:
帧率调节请求接收模块,用于接收客户端发送的目标游戏的帧率调节请求,所述帧率调节请求携带有所述目标游戏的帧率需求信息,所述帧率需求信息为所述客户端监控所述目标游戏的运行状态数据,当所述客户端确定所述运行状态数据满足预设帧率调节条件时确定的;
游戏数据生成模块,用于基于所述帧率需求信息进行所述目标游戏的数据渲染,生成所述目标游戏的游戏数据;
游戏数据发送模块,用于向所述客户端发送所述游戏数据。
本申请另一方面提供了一种设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现上述的帧率控制方法。
本申请另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现上述的帧率控制方法。
本申请提供的帧率控制方法和装置,具有如下技术效果:
本申请中客户端监控目标游戏的运行状态数据;然后,当客户端确定上述的运行状态数据满足预设帧率调节条件时,客户端确定该目标游戏的帧率需求信息,在客户端本身实时监控目标游戏的运行状态数据并确定帧率需求信息,有利于提升帧率控制的实时性;接着,客户端向服务器发送该目标游戏的帧率调节请求,且上述的帧率调节请求携带有上述的帧率需求信息,进而服务器能够基于上述的帧率需求信息进行该目标游戏的数据渲染,生成该目标游戏的游戏数据;最后,服务器向客户端发送上述的游戏数据。通过客户端主动向服务器发送携带有上述的帧率需求信息的帧率调节请求,进而能够使得服务器根据客户端的实际需求进行目标游戏的帧率控制,有利于提升帧率控制的实时性和灵活性。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种应用环境的示意图;
图2是本申请实施例提供的一种帧率控制架构的示意图;
图3是本申请实施例提供的一种帧率控制方法的流程图;
图4是本申请实施例提供的另一种帧率控制方法的流程图;
图5是本申请实施例提供的另一种帧率控制方法的流程图;
图6是本申请实施例提供的另一种帧率控制方法的流程图;
图7是本申请实施例提供的另一种帧率控制方法的流程图;
图8是本申请实施例提供的另一种帧率控制方法的流程图;
图9是本申请实施例提供的另一种帧率控制方法的流程图;
图10是本申请实施例提供的一种帧率控制装置示意图;
图11是本申请实施例提供的另一种帧率控制装置示意图;
图12是本申请实施例提供的用于实现帧率控制方法的客户端的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层;其中,区块链底层平台、平台产品服务层以及应用服务层可以由云服务器实现。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术(Cloudtechnology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络***的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台***进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的***后盾支撑,只能通过云计算来实现。
本申请实施例中的目标游戏为云游戏,云游戏(Cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
本申请实施例提供的方案涉及云技术中的云游戏等技术,具体通过如下实施例进行说明。
请参阅图1,图1是本申请实施例提供的一种应用环境的示意图,如图1所示,该应用环境可以包括客户端01和服务器02。
具体地,客户端01可以为用户的游戏终端,在目标游戏运行过程中,客户端01可以用于响应于目标用户的游戏控制操作生成对应的游戏控制指令,并向服务器02发送上述的游戏控制指令,以使服务器02能够根据游戏控制指令进行游戏帧图像的渲染处理并发送游戏数据给客户端01,然后客户端01能够根据游戏数据进行画面显示,从而实现在线游戏。在本申请实施例中,客户端01还可以用于监控目标游戏的运行状态数据;当确定运行状态数据满足预设帧率调节条件时,确定目标游戏的帧率需求信息;向服务器02发送携带有该帧率需求信息的帧率调节请求,以使服务器02基于上述的帧率需求信息进行该目标游戏的数据渲染,生成该目标游戏的游戏数据。然后,客户端01可以接收服务器发送的该目标游戏的游戏数据(服务器02渲染后得到的视频音频流),并进行显示;在一些实施例中,客户端01可以对该目标游戏的游戏数据进行解码再显示。可选的,客户端01可以包括但不限于智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、增强现实(augmentedreality,AR)/虚拟现实(virtual reality,VR)设备、智能可穿戴设备等类型的电子设备。可选的,电子设备上运行的操作***可以包括但不限于安卓***、IOS***、linux、windows等。
具体地,服务器02可以为运行该目标游戏的服务器,在目标游戏运行过程中,服务器02可以接收客户端01发送的游戏控制指令,并根据上述的游戏控制指令进行游戏帧图像的渲染处理并发送游戏数据给客户端01,然后客户端01能够根据游戏数据进行画面显示,实现在线游戏。在本申请实施例中,服务器02还可以用于接收客户端发送的目标游戏的帧率调节请求,且这个帧率调节请求携带有该目标游戏的帧率需求信息,服务器02还可以基于这个帧率需求信息进行该目标游戏的数据渲染,生成该目标游戏的游戏数据,并向客户端01发送上述的游戏数据;在一些实施例中,服务器02基于这个帧率需求信息进行该目标游戏的数据渲染可以包括生成并执行渲染指令,得到游戏帧图像,并对游戏帧图像进行编码得到该目标游戏的游戏数据。具体地,服务器02在进行该目标游戏的数据渲染后,可以对渲染得到的游戏帧图像进行编码处理,得到编码数据流,并将上述的编码数据流作为该目标游戏的游戏数据并向客户端01发送。可选的,服务器02可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
请参照图2,图2是本申请实施例提供的一种帧率控制架构的示意图,其中,图2中的客户端可以为一种云游戏客户端,服务器可以为一种云游戏服务器,客户端可以通过监控目标游戏的运行状态数据来进行帧率动态决策,即当客户端确定上述的运行状态数据满足预设帧率调节条件时,客户端确定该目标游戏的帧率需求信息,并向服务器发送携带有该帧率需求信息的帧率调节请求,在一个具体的实施例中,上述的运行状态数据可以包括但不限于终端状态指标、网络状态指标和用户操作状态指标;服务器可以根据该帧率需求信息进行该目标游戏的帧率控制并进行该目标游戏的游戏帧渲染,得到游戏帧图像,并对游戏帧图像进行编码得到该目标游戏的游戏数据(数据流),通过网络将上述游戏数据传输至客户端,客户端可以对上述的游戏数据进行解码,显示该目标游戏的游戏画面,其中,上述游戏数据可以为一种视频流;由客户端监控游戏的运行状态数据进行帧率动态决策,确定帧率需求信息并向服务器发送帧率调节请求,有利于在云游戏中结合客户端的实时情况确定需要的帧率并使服务器根据客户端的实时需求进行数据渲染,有利于提升帧率控制的实时性和灵活性。
此外,需要说明的是,图1和图2仅仅是本申请实施例提供的一种应用环境和架构的示例,且上述的客户端01以及服务器02可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
图3是本申请实施例提供的一种帧率控制方法的流程图,请参照图3,本申请实施例提供的帧率控制方法包括如下步骤:
S301:客户端监控目标游戏的运行状态数据。
具体地,该目标游戏可以为云游戏;在实际应用中,云游戏是一种以云计算技术为基础的在线游戏技术,在云游戏过程中,客户端可以响应于目标用户的游戏控制操作生成对应的游戏控制指令,并向服务器发送上述的游戏控制指令,然后,服务器能够根据游戏控制指令进行游戏帧图像的渲染处理并发送游戏数据给客户端,然后客户端能够根据游戏数据进行画面显示,从而实现在线游戏。在云游戏运行过程中,游戏的数据处理(例如控制指令的解析、游戏帧图像的渲染等)并不在客户端(玩家游戏终端),而是在服务器中运行,并由服务器将游戏场景渲染为视频音频流,通过网络传输给客户端,从而实现在图形处理与数据运算能力相对有限的客户端运行高品质游戏,客户端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给服务器的能力即可,有利于降低游戏过程中客户端的性能压力,使得游戏能够适用于各种类型的客户端,提升游戏的普适性。
在本申请实施例中,上述的运行状态数据可以表征该目标游戏的本地运行情况,客户端可以在该目标游戏的运行过程中持续监控该目标游戏的运行状态数据,有利于及时根据该目标游戏的运行状态数据进行后续的帧率调节,提升云游戏过程中帧率控制的实时性,且有利于根据目标游戏运行时客户端自身的情况进行帧率控制,提升帧率控制的可靠性。
S303:当客户端确定上述的运行状态数据满足预设帧率调节条件时,客户端确定该目标游戏的帧率需求信息。
具体地,上述的预设帧率调节条件可以为预先结合客户端的性能信息进行性能测试得到的;上述的帧率需求信息可以表征客户端当前进行该目标游戏所需要的帧率。
在本申请实施例中,上述的运行状态数据可以包括多个状态指标,具体地,上述的多个状态指标可以包括但不限于终端状态指标、网络状态指标和用户操作状态指标;其中,上述的终端状态指标可以表征该目标游戏运行时客户端的实时情况,在一个具体的实施例中,上述的终端状态指标可以为客户端的设备温度值,或,客户端的内存占用率;上述的网络状态指标可以表征该目标游戏运行时客户端的网络实时情况,在一个具体的实施例中,上述的网络状态指标可以为客户端的网速,或,服务器发送帧率与客户端接收帧率的差值;上述的用户操作状态指标可以表征该目标游戏运行时用户针对该目标游戏的操作情况,在一个具体的实施例中,上述的用户操作状态指标可以为用户未操作的时长以及用户当前的游戏场景。
请参照图4,在一个实施例中,上述的预设帧率调节条件可以包括预设帧率降低条件,上述的当客户端确定上述的运行状态数据满足预设帧率调节条件时,客户端确定该目标游戏的帧率需求信息可以包括:
S401:当客户端检测到上述多个状态指标中的任一状态指标满足对应的指标异常条件时,客户端确定上述的运行状态数据满足上述的预设帧率降低条件,获取该目标游戏的当前帧率信息。
在本申请实施例中,每个状态指标具有对应的指标异常条件。
例如,当上述的多个状态指标包括终端状态指标、网络状态指标和用户操作状态指标时,上述的终端状态指标对应的指标异常条件可以包括:客户端的设备温度值高于预设温度阈值的持续时间大于第一时间阈值,或,客户端的内存占用率高于预设占用阈值的持续时间大于第二时间阈值,上述的预设温度阈值和预设占用阈值可以利用该客户端(例如利用该种机型的终端)进行游戏测试确定。上述的网络状态指标对应的指标异常条件可以包括:客户端的网速低于预设网速阈值的持续时间大于第三时间阈值,或,服务器发送帧率与客户端接收帧率的差值高于预设差值阈值的持续时间大于第四时间阈值,利用服务器发送帧率与客户端接收帧率的差值来衡量客户端的网络状态有利于提升网络状态判断的科学性和可靠性,能够更加直观准确地确定网络状态,进而提升帧率控制的可靠性。上述的用户操作状态指标对应的指标异常条件可以包括:客户端的用户未操作的时长大于第四时间阈值,并且用户当前的游戏场景属于预设场景,其中,用户未操作时长可以为用户未发出任何操作指令的时长,上述的预设场景可以根据实际应用需求进行设定,具体地,上述的预设场景可以包括该目标游戏中的等待场景,当用户长时间未操作且处于预设场景时,没有必要按照较高帧率给客户端传输数据,此时降低帧率也不会影响用户体验,有利于节约资源,提升帧率控制的灵活性和适应性。其中,上述的第一时间阈值、第二时间阈值、第三时间阈值和第四时间阈值可以分别利用客户端进行游戏或应用测试,以及结合实际应用需求确定,如果只是偶尔存在持续时间较短的波动则不满足指标异常条件,避免帧率调节过于频繁影响用户体验,有利于提升帧率控制的可靠性。
当客户端检测到上述多个状态指标中的任一状态指标满足其对应的指标异常条件时,客户端可以确定上述的运行状态数据满足上述的预设帧率降低条件,获取该目标游戏的当前帧率信息。其中,该目标游戏的当前帧率信息可以表征该目标游戏的当前运行帧率情况,具体地,该目标游戏的当前帧率信息可以为客户端当前请求服务器进行数据发送的帧率;或,服务器当前向客户端发送游戏数据的帧率(可以通过向服务器发送请求获取)。
由于在实际应用中,服务器的处理能力通常要强于客户端,当服务器以较高帧率进行游戏数据处理(例如渲染及编码)以及数据传输时,客户端可能由于各种因素无法处理,最终显示的帧率无法达到服务器发送时的帧率,带来资源浪费。例如,客户端网络环境较差,接收数据存在延迟导致无法接收到服务器每秒发送的全部数据,或者客户端***状态不佳导致无法处理(例如解码)服务器每秒发送的全部数据。通过当客户端检测到上述多个状态指标中的任一状态指标满足其对应的指标异常条件时,客户端确定上述的运行状态数据满足上述的预设帧率降低条件,有利于从多个维度进行监控,全面考量客户端的帧率影响因素,提升帧率控制的可靠性;且通过在客户端本身实时分别监控多种影响因素并确定是否达到异常条件,有利于提升帧率控制的实时性,客户端及时确定需要的帧率,进而通知服务器以进行帧率调整,避免了服务器固定帧率带来的帧率浪费,有利于提升云游戏中帧率控制的灵活性和可靠性。
S403:客户端根据该目标游戏的当前帧率信息计算该目标游戏的帧率需求信息。
在本申请实施例中,客户端得到该目标游戏的当前帧率信息之后,可以根据该目标游戏的当前帧率信息计算该目标游戏的帧率需求信息;请参照图5,在一个实施例中,上述的客户端根据该目标游戏的当前帧率信息计算该目标游戏的帧率需求信息可以包括:
S501:客户端获取预设比例系数。
具体地,可以利用大量不同型号和状态的客户端进行帧率调节测试,结合测试结果确定该客户端进行帧率降低时的比例系数,作为该预设比例系数并存储于客户端,客户端可以提取预先存储的预设比例系数;上述的预设比例系数也可以结合实际应用需求进行设定,本申请不以此为限。
S503:客户端将该目标游戏的当前帧率信息与该预设比例系数相乘,得到该目标游戏的帧率需求信息。
例如,该目标游戏的当前帧率信息包括该目标游戏的当前帧率(服务器的发送帧率)为40帧/秒,预设比例系数为0.8,则此时该目标游戏的帧率需求信息为32帧/秒。通过客户端获取预设比例系数,将该目标游戏的当前帧率信息与该预设比例系数相乘,得到该目标游戏的帧率需求信息,有利于提升帧率需求信息计算的适应性和灵活性,进而提升帧率控制的灵活性。
在另一个实施例中,上述的客户端根据该目标游戏的当前帧率信息计算该目标游戏的帧率需求信息可以包括:客户端在该目标游戏的当前帧率信息的基础上减少预设帧率,得到该目标游戏的帧率需求信息;例如,该目标游戏的当前帧率信息包括该目标游戏的当前帧率(服务器的发送帧率)为40帧/秒,预设帧率为5帧,则此时该目标游戏的帧率需求信息为35帧/秒。
在本申请实施例中,通过当客户端检测到上述多个状态指标中的任一状态指标满足对应的指标异常条件时,客户端确定上述的运行状态数据满足上述的预设帧率降低条件,获取该目标游戏的当前帧率信息,能够在客户端侧实时监控本地的帧率影响因素,然后确定出该目标游戏的帧率需求信息,有利于提升帧率控制的实时性和灵活性;客户端根据该目标游戏的当前帧率信息计算该目标游戏的帧率需求信息,能够得到可靠的帧率需求信息,进而提升帧率控制的可靠性,减少服务器发送帧率过高带来的资源浪费,且有利于改善云游戏的流畅度,提升用户体验,减少服务器的功耗。
请参照图6,在另一个实施例中,上述的预设帧率调节条件可以包括预设帧率升高条件,上述的当客户端确定上述的运行状态数据满足预设帧率调节条件时,客户端确定该目标游戏的帧率需求信息可以包括:
S601:当客户端检测到上述的多个状态指标均满足对应的指标正常条件的持续时间大于或等于预设阈值时,客户端确定上述的运行状态数据满足上述的预设帧率升高条件。
在本申请实施例中,当客户端检测到上述的多个状态指标均满足对应的指标正常条件的持续时间大于或等于预设阈值时,即,当客户端检测到上述的多个状态中的每个状态指标都满足其对应的指标正常条件,且持续时间大于或等于预设阈值,其中,该预设阈值可以结合实际应用需求进行设定,例如,3分钟。
在本申请实施例中,每个状态指标具有对应的指标正常条件。例如,当上述的多个状态指标包括终端状态指标、网络状态指标和用户操作状态指标时,上述的终端状态指标对应的指标正常条件可以包括:客户端的设备温度值小于或等于预设温度阈值,或,客户端的内存占用率低于或等于预设占用阈值。上述的网络状态指标对应的指标正常条件可以包括:客户端的网速高于或等于预设网速阈值,或,服务器发送帧率与客户端接收帧率的差值低于或等于预设差值阈值。上述的用户操作状态指标对应的指标正常条件可以包括:客户端的用户持续发出操作指令,或用户当前的游戏场景不属于预设场景。当客户端检测到上述的多个状态中的每个状态指标都满足其对应的指标正常条件,且持续时间大于或等于预设阈值(例如,客户端的设备温度值小于或等于预设温度阈值的持续时间大于或等于3分钟,且客户端的网速高于或等于预设网速阈值也大于或等于3分钟),客户端确定上述的运行状态数据满足上述的预设帧率升高条件,有利于提升帧率控制的可靠性,在客户端各影响帧率的因素正常且稳定的情况下及时确定帧率需求信息,以使服务器升高该目标游戏的帧率,避免客户端状态较好时,服务器仍以固定较低的帧率进行游戏数据传输,有利于提升游戏画面显示质量,改善用户游戏体验,提升帧率控制的实时性和灵活性。
S603:获取该目标游戏的运行帧率限制信息。
在本申请实施例中,上述的运行帧率限制信息可以表征该目标游戏在该客户端的运行帧率理想情况;具体地,请参照图7,上述的获取该目标游戏的运行帧率限制信息可以包括:
S701:客户端获取本地硬件配置信息。
在本申请实施例中,上述的本地硬件配置信息可以表征该客户端的硬件配置情况,具体地,上述的本地硬件配置信息可以包括但不限于处理器型号和显卡信息。
S703:客户端根据上述的本地硬件配置信息确定该目标游戏在本地运行的初始帧率信息。
具体地,上述的初始帧率信息可以表征该目标游戏在该客户端运行的最高帧率;在一个实施例中,可以获取大量不同配置的客户端的本地硬件配置信息,并利用上述大量不同配置的客户端进行目标游戏的运行测试确定运行的最高帧率,建立多个本地硬件配置信息与初始帧率信息间的映射信息并存储于云端服务器,或在客户端首次开启目标游戏时写入客户端,客户端可以根据上述的本地硬件配置信息与初始帧率信息间的映射信息以及自身的本地硬件配置信息,确定上述的初始帧率信息。
S705:客户端根据上述的初始帧率信息确定该目标游戏的运行帧率限制信息。
在一个实施例中,客户端可以将上述的初始帧率信息确定该目标游戏的运行帧率限制信息;在另一个实施例中,客户端可以对上述的初始帧率信息按比例降低,将降低后的初始帧率信息作为该目标游戏的运行帧率限制信息,预留空间不影响客户端其他应用运行,提升帧率控制的灵活性。
在本申请实施例中,上述的运行帧率限制信息也可以为在客户端首次开启目标游戏时,客户端获取本地硬件配置信息并根据上述的本地硬件配置信息确定该目标游戏在本地运行的初始帧率信息,再根据上述的初始帧率信息确定并预先存储于本地的,此时上述的获取该目标游戏的运行帧率限制信息可以直接从本地提取预先存储的运行帧率限制信息。通过客户端获取本地硬件配置信息进而确定该目标游戏的运行帧率限制信息,有利于提升帧率控制的可靠性,在保证客户端能够支持的情况下最大化帧率,改善用户游戏体验,提升帧率控制的可靠性和适应性。
通过当客户端检测到上述的多个状态指标均满足对应的指标正常条件的持续时间大于或等于预设阈值时,客户端确定上述的运行状态数据满足上述的预设帧率升高条件,获取该目标游戏的运行帧率限制信息,有利于提升帧率控制的实时性和灵活性。
S605:客户端根据上述的运行帧率限制信息确定该目标游戏的帧率需求信息。
在本申请实施例中,客户端可以直接将上述的运行帧率限制信息作为该目标游戏的帧率需求信息,或,在上述的运行帧率限制信息的基础上减少预设帧并作为该目标游戏的帧率需求信息,避免卡顿。
通过客户端根据上述的运行帧率限制信息确定该目标游戏的帧率需求信息,有利于在保证客户端能够支持的情况下最大化游戏帧率,改善用户游戏体验,提升帧率控制的可靠性和适应性。
在一些实施例中,客户端还可以响应于目标用户针对该目标游戏的帧率调节操作,确定该目标游戏的帧率需求信息;目标用户针对该目标游戏的帧率调节操作可以为根据该目标游戏的实际运行情况发出的,有利于提升帧率控制的灵活性。
S305:客户端向服务器发送该目标游戏的帧率调节请求。
具体地,该帧率调节请求可以携带有上述的帧率需求信息。
在本申请实施例中,通过在客户端侧实时监控本地的帧率影响因素,然后由客户端确定出该目标游戏的帧率需求信息,有利于提升确定的帧率需求信息的可靠性和实时性;且客户端主动向服务器发送携带有上述的帧率需求信息的帧率调节请求,进而能够使得服务器根据客户端的实际需求进行目标游戏的帧率控制,有利于提升帧率控制的实时性和灵活性。
S307:服务器基于上述的帧率需求信息进行该目标游戏的数据渲染,生成该目标游戏的游戏数据。
在本申请实施例中,服务器可以基于上述的帧率需求信息进行该目标游戏的数据渲染,生成该目标游戏的游戏数据。在实际应用中,云游戏运行过程中服务器原本进行该目标游戏的数据渲染,生成该目标游戏的游戏数据的过程可以包括:服务器按照固定频率发出该目标游戏的渲染指令(上述的固定频率与服务器设定的帧率一致);服务器依次执行这些目标游戏的渲染指令,得到游戏帧图像;服务器依次对得到的游戏帧图像进行编码,得到该目标游戏的游戏数据,此时该目标游戏的游戏数据为编码流数据(编码后得到的视频音频流),然后服务器可以向客户端发送该目标游戏的游戏数据。
在一个实施例中,请参照图8,当上述的预设帧率调节条件包括预设帧率降低条件时,上述的服务器基于上述的帧率需求信息进行该目标游戏的数据渲染,生成该目标游戏的游戏数据可以包括:
S801:服务器获取该目标游戏的渲染指令原始发送频率。
在本申请实施例中,上述的渲染指令原始发送频率可以表征服务器当前针对该目标游戏发出渲染指令的频率;该渲染指令原始发送频率与服务器当前的设定帧率一致。
S803:服务器根据上述的渲染指令原始发送频率和上述的帧率需求信息确定指令跳过规则。
具体地,服务器可以根据上述的渲染指令原始发送频率和上述的帧率需求信息进行跳过规则的计算,确定指令跳过规则;例如,上述的渲染指令原始发送频率为每秒发送80个,上述的帧率需求信息为40帧/秒,则可以确定指令跳过规则为每执行一个渲染指令则跳过下一个渲染指令。在实际应用中,CPU负责以上述的渲染指令原始发送频率进行渲染指令的发送,GPU负责进行渲染指令的执行,得到游戏帧图像,可以在服务器的GPU(GraphicsProcessing Unit图形处理器)按照上述的指令跳过规则进行设置,使得后续服务器能够根据上述的指令跳过规则执行该目标游戏的渲染指令。
S805:服务器根据上述的指令跳过规则执行该目标游戏的渲染指令,生成该目标游戏的游戏数据。
在本申请实施例中,服务器根据上述的指令跳过规则执行该目标游戏的渲染指令,生成该目标游戏的游戏数据可以包括:服务器根据上述的指令跳过规则执行该目标游戏的渲染指令,得到该目标游戏的游戏帧图像序列;服务器依次对游戏帧图像序列中的游戏帧图像进行编码处理,得到该目标游戏的编码数据流,将上述的编码数据流作为该目标游戏的游戏数据,其中,上述的游戏帧图像序列可以包括多个按序排列的游戏帧图像。
通过服务器获取该目标游戏的渲染指令原始发送频率,根据上述的渲染指令原始发送频率和上述的帧率需求信息确定指令跳过规则,以及根据上述的指令跳过规则执行该目标游戏的渲染指令,生成该目标游戏的游戏数据,能够在CPU渲染指令发送频率固定的情况下根据客户端的实际需求实现云游戏帧率控制,降低服务器渲染和编码压力,进而降低服务器的功耗,提升帧率控制的灵活性。
在另一个实施例中,上述的服务器基于上述的帧率需求信息进行该目标游戏的数据渲染,生成该目标游戏的游戏数据可以包括:服务器根据上述的帧率需求信息更新渲染指令原始发送频率,得到渲染指令更新发送频率;服务器按照上述的渲染指令更新发送频率进行渲染指令发送和执行,得到该目标游戏的游戏帧图像序列;服务器依次对游戏帧图像序列中的游戏帧图像进行编码处理,得到该目标游戏的编码数据流,将上述的编码数据流作为该目标游戏的游戏数据。能够在CPU渲染指令发送频率可控的情况下根据客户端的实际需求直接更新渲染指令原始发送频率,降低服务器数据渲染和编码压力,进而降低服务器的功耗,提升帧率控制的实时性。
在另一个实施例中,上述的服务器基于上述的帧率需求信息进行该目标游戏的数据渲染,生成该目标游戏的游戏数据可以包括:服务器按照该目标游戏的渲染指令原始发送频率进行数据渲染,得到该目标游戏的游戏帧图像序列;服务器根据上述的帧率需求信息确定编码跳过规则,根据上述的编码跳过规则对游戏帧图像序列中的游戏帧图像进行编码处理;例如,上述的渲染指令原始发送频率为每秒发送80个,则每秒会得到80个游戏帧图像,若上述的帧率需求信息为40帧/秒,则可以确定编码跳过规则为每编码一个游戏帧图像则跳过下一个游戏帧图像。有利于在不改动CPU与GPU设置的情况下方便快捷地实现云游戏帧率控制,降低服务器编码压力,进而降低服务器的功耗,提升帧率控制的灵活性。
通过服务器基于上述的帧率需求信息进行该目标游戏的数据渲染,生成该目标游戏的游戏数据,有利于实时根据客户端的实际需求实现云游戏帧率控制,提升帧率控制的灵活性。
S309:服务器向客户端发送上述的游戏数据。
在本申请实施例中,服务器可以向客户端发送上述的游戏数据,具体地,上述的游戏数据可以为该目标游戏的编码数据流;具体地,请参照图9,在服务器向客户端发送上述的游戏数据后,上述方法还可以包括:
S901:客户端对上述的游戏数据进行解码处理,得到该目标游戏的游戏帧图像序列。
具体地,上述的游戏帧图像序列可以包括多个按序排列的游戏帧图像,上述的游戏帧图像序列中游戏帧图像的排列顺序与服务器渲染得到的游戏帧图像序列中游戏帧图像的排列顺序一致。
S903:客户端依次对上述多个按序排列的游戏帧图像进行显示。
在本申请实施例中,客户端对上述的游戏数据进行解码处理,得到该目标游戏的游戏帧图像序列之后,可以依次对多个按序排列的游戏帧图像进行显示,以实现在线云游戏。在本申请实施例中,客户端会持续监控目标游戏的运行状态数据,且当客户端再次确定上述的运行状态数据满足预设帧率调节条件时,客户端可以继续确定目标游戏的帧率需求信息并向服务器发送携带有上述帧率需求信息的帧率调节请求,以使服务器根据客户端的帧率需求信息进行该目标游戏的帧率控制;进而实现目标游戏帧率的动态控制,提升目标游戏帧率控制的实时性和灵活性。
由以上本申请实施例提供的技术方案可见,本申请实施例通过客户端监控目标游戏的运行状态数据,上述的运行状态数据可以包括多个状态指标,当客户端检测到多个状态指标中的任一状态指标满足其对应的指标异常条件时,客户端确定上述的运行状态数据满足上述的预设帧率降低条件,有利于从多个维度进行监控,有利于全面考量帧率影响因素,提升帧率控制的可靠性;且通过在客户端本身实时分别监控多种影响因素并确定是否达到异常条件,有利于提升帧率控制的实时性,客户端及时确定需要的帧率,进而通知服务器以进行帧率调整,避免了服务器固定帧率带来的帧率浪费,有利于提升云游戏中帧率控制的灵活性和可靠性。通过当客户端检测到上述的多个状态指标均满足对应的指标正常条件的持续时间大于或等于预设阈值时,客户端确定上述的运行状态数据满足上述的预设帧率升高条件,获取该目标游戏的运行帧率限制信息确定该目标游戏的帧率需求信息,有利于在保证客户端能够支持的情况下最大化游戏帧率,改善用户游戏体验,提升帧率控制的可靠性和适应性。通过客户端向服务器发送该目标游戏的帧率调节请求,由客户端主动向服务器发送携带有上述的帧率需求信息的帧率调节请求,进而能够使得服务器根据客户端的实际需求进行目标游戏的帧率控制,有利于提升帧率控制的实时性和灵活性。通过服务器基于上述的帧率需求信息进行该目标游戏的数据渲染,生成该目标游戏的游戏数据,有利于实时根据客户端的实际需求实现云游戏帧率控制,提升帧率控制的灵活性。且客户端会持续监控目标游戏的运行状态数据,且当客户端再次确定上述的运行状态数据满足预设帧率调节条件时,客户端可以继续确定目标游戏的帧率需求信息并向服务器发送携带有上述帧率需求信息的帧率调节请求,以使服务器根据客户端的帧率需求信息进行该目标游戏的帧率控制;进而实现目标游戏帧率的动态控制,大大提升目标游戏帧率控制的实时性和灵活性。
本申请实施例还提供了一种帧率控制***的实施例,所述***可以包括客户端和服务器;
客户端用于监控目标游戏的运行状态数据;以及当确定所述运行状态数据满足预设帧率调节条件时,确定所述目标游戏的帧率需求信息;以及向所述服务器发送所述目标游戏的帧率调节请求,所述帧率调节请求携带有所述帧率需求信息;
服务器用于基于所述帧率需求信息进行所述目标游戏的数据渲染,生成所述目标游戏的游戏数据;以及向所述客户端发送所述游戏数据。
本申请实施例还提供了一种帧率控制装置,如图10所示,所述装置可以包括:
运行状态监控模块1010,用于监控目标游戏的运行状态数据;
帧率需求信息确定模块1020,用于当确定所述运行状态数据满足预设帧率调节条件时,确定所述目标游戏的帧率需求信息;
帧率调节请求发送模块1030,用于向服务器发送所述目标游戏的帧率调节请求,所述帧率调节请求携带有所述帧率需求信息,以使所述服务器基于所述帧率需求信息进行所述目标游戏的数据渲染,生成所述目标游戏的游戏数据;
游戏数据接收模块1040,用于接收所述服务器发送的所述游戏数据。
在一个实施例中,所述运行状态数据包括多个状态指标,所述预设帧率调节条件包括预设帧率降低条件,上述的帧率需求信息确定模块1020可以包括:
当前帧率信息获取单元,用于当检测到所述多个状态指标中的任一状态指标满足对应的指标异常条件时,确定所述运行状态数据满足所述预设帧率降低条件,获取所述目标游戏的当前帧率信息;
帧率需求信息计算单元,用于根据所述目标游戏的当前帧率信息计算所述目标游戏的帧率需求信息。
具体地,上述的帧率需求信息计算单元可以包括:
比例系数获取单元,用于获取预设比例系数;
相乘计算单元,用于将所述目标游戏的当前帧率信息与所述预设比例系数相乘,得到所述目标游戏的帧率需求信息。
在另一个实施例中,所述运行状态数据包括多个状态指标,所述预设帧率调节条件包括预设帧率升高条件,上述的帧率需求信息确定模块1020可以包括:
帧率升高判断单元,用于当检测到所述多个状态指标均满足对应的指标正常条件的持续时间大于或等于预设阈值时,确定所述运行状态数据满足所述预设帧率升高条件;
运行帧率限制信息获取单元,用于获取所述目标游戏的运行帧率限制信息;
帧率需求信息确定单元,用于根据所述运行帧率限制信息确定所述目标游戏的帧率需求信息。
在一个实施例中,上述的运行帧率限制信息获取单元可以包括:
本地硬件配置信息获取单元,用于获取本地硬件配置信息;
初始帧率信息确定单元,用于根据所述本地硬件配置信息确定所述目标游戏在本地运行的初始帧率信息;
运行帧率限制信息确定单元,用于根据所述初始帧率信息确定所述目标游戏的运行帧率限制信息。
在本申请实施例中,上述的帧率控制装置还可以包括:
解码模块,用于对所述游戏数据进行解码处理,得到所述目标游戏的游戏帧图像序列,所述游戏帧图像序列包括多个按序排列的游戏帧图像;
显示模块,用于依次对所述多个按序排列的游戏帧图像进行显示。
本申请实施例还提供了另一种帧率控制装置,如图11所示,所述装置可以包括:
帧率调节请求接收模块1110,用于接收客户端发送的目标游戏的帧率调节请求,所述帧率调节请求携带有所述目标游戏的帧率需求信息,所述帧率需求信息为所述客户端监控所述目标游戏的运行状态数据,当所述客户端确定所述运行状态数据满足预设帧率调节条件时确定的;
游戏数据生成模块1120,用于基于所述帧率需求信息进行所述目标游戏的数据渲染,生成所述目标游戏的游戏数据;
游戏数据发送模块1130,用于向所述客户端发送所述游戏数据。
在一个实施例中,当所述预设帧率调节条件包括预设帧率降低条件时,所述游戏数据生成模块1120可以包括:
原始发送频率获取单元,用于获取所述目标游戏的渲染指令原始发送频率;
指令跳过规则确定单元,用于根据所述渲染指令原始发送频率和所述帧率需求信息确定指令跳过规则;
渲染指令执行单元,用于根据所述指令跳过规则执行所述目标游戏的渲染指令,生成所述目标游戏的游戏数据。
所述的装置实施例中的装置与方法实施例基于同样地申请构思。
本申请实施例提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的帧率控制方法。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行,即上述计算机设备可以包括移动终端、计算机终端、服务器或者类似的运算装置。其中,上述的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。以运行在客户端上为例,图12是本申请实施例提供的一种客户端的结构示意图,如图12所示,该客户端可以用于实施上述实施例中提供的帧率控制方法。具体来讲:
上述客户端可以包括RF(Radio Frequency,射频)电路1210、包括有一个或一个以上计算机可读存储介质的存储器1220、输入单元1230、显示单元1240、传感器1250、音频电路1260、WiFi(wireless fidelity,无线保真)模块1270、包括有一个或者一个以上处理核心的处理器1280、以及电源1290等部件。本领域技术人员可以理解,图12中示出的客户端结构并不构成对客户端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路1210可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器1280处理;另外,将涉及上行的数据发送给基站。通常,RF电路1210包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路1210还可以通过无线通信与网络和其他客户端通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobilecommunication,全球移动通讯***)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband CodeDivision Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。
存储器1220可用于存储软件程序以及模块,处理器1280通过运行存储在存储器1220的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1220可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、功能所需的应用程序等;存储数据区可存储根据所述客户端的使用所创建的数据等。此外,存储器1220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1220还可以包括存储器控制器,以提供处理器1280和输入单元1230对存储器1220的访问。
输入单元1230可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元1230可包括触敏表面1231以及其他输入设备1232。触敏表面1231,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面1231上或在触敏表面1231附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面1231可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1280,并能接收处理器1280发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面1231。除了触敏表面1231,输入单元1230还可以包括其他输入设备1232。具体地,其他输入设备1232可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1240可用于显示由用户输入的信息或提供给用户的信息以及所述客户端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元1240可包括显示面板1241,可选的,可以采用LCD(Liquid CrystalDisplay,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板1241。进一步的,触敏表面1231可覆盖显示面板1241,当触敏表面1231检测到在其上或附近的触摸操作后,传送给处理器1280以确定触摸事件的类型,随后处理器1280根据触摸事件的类型在显示面板1241上提供相应的视觉输出。其中,触敏表面1231与显示面板1241可以两个独立的部件来实现输入和输入功能,但是在某些实施例中,也可以将触敏表面1231与显示面板1241集成而实现输入和输出功能。
所述客户端还可包括至少一种传感器1250,比如光传感器、运动传感器以及其他传感器。
音频电路1260、扬声器1261,传声器1262可提供用户与所述客户端之间的音频接口。
WiFi属于短距离无线传输技术,所述客户端通过WiFi模块1270可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图12示出了WiFi模块1270,但是可以理解的是,其并不属于上述客户端的必须构成,完全可以根据需要在不改变申请的本质的范围内而省略。
处理器1280是所述客户端的控制中心,利用各种接口和线路连接整个客户端的各个部分,通过运行或执行存储在存储器1220内的软件程序和/或模块,以及调用存储在存储器1220内的数据,执行所述客户端的各种功能和处理数据,从而对客户端进行整体监控。可选的,处理器1280可包括一个或多个处理核心;优选的,处理器1280可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1280中。
所述客户端还包括给各个部件供电的电源1290(比如电池),优选的,电源可以通过电源管理***与处理器1280逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源1290还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,上述客户端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,客户端的显示单元是触摸屏显示器,客户端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行本申请中方法实施例中的指令。
本申请的实施例还提供了一种计算机可读存储介质,所述存储介质可设置于服务器之中以保存用于实现方法实施例中一种帧率控制方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的帧率控制方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本申请的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
由上述本申请提供的帧率控制方法、***、装置、计算机设备、存储介质或计算机程序的实施例可见,本申请通过客户端监控目标游戏的运行状态数据,上述的运行状态数据可以包括多个状态指标,当客户端检测到多个状态指标中的任一状态指标满足其对应的指标异常条件时,客户端确定上述的运行状态数据满足上述的预设帧率降低条件,有利于从多个维度进行监控,有利于全面考量帧率影响因素,提升帧率控制的可靠性;且通过在客户端本身实时分别监控多种影响因素并确定是否达到异常条件,有利于提升帧率控制的实时性,客户端及时确定需要的帧率,进而通知服务器以进行帧率调整,避免了服务器固定帧率带来的帧率浪费,有利于提升云游戏中帧率控制的灵活性和可靠性。通过当客户端检测到上述的多个状态指标均满足对应的指标正常条件的持续时间大于或等于预设阈值时,客户端确定上述的运行状态数据满足上述的预设帧率升高条件,获取该目标游戏的运行帧率限制信息确定该目标游戏的帧率需求信息,有利于在保证客户端能够支持的情况下最大化游戏帧率,改善用户游戏体验,提升帧率控制的可靠性和适应性。通过客户端向服务器发送该目标游戏的帧率调节请求,由客户端主动向服务器发送携带有上述的帧率需求信息的帧率调节请求,进而能够使得服务器根据客户端的实际需求进行目标游戏的帧率控制,有利于提升帧率控制的实时性和灵活性。通过服务器基于上述的帧率需求信息进行该目标游戏的数据渲染,生成该目标游戏的游戏数据,有利于实时根据客户端的实际需求实现云游戏帧率控制,提升帧率控制的灵活性。且客户端会持续监控目标游戏的运行状态数据,且当客户端再次确定上述的运行状态数据满足预设帧率调节条件时,客户端可以继续确定目标游戏的帧率需求信息并向服务器发送携带有上述帧率需求信息的帧率调节请求,以使服务器根据客户端的帧率需求信息进行该目标游戏的帧率控制;进而实现目标游戏帧率的动态控制,大大提升目标游戏帧率控制的实时性和灵活性。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种帧率控制方法,其特征在于,所述方法包括:
监控目标游戏的运行状态数据;
当确定所述运行状态数据满足预设帧率调节条件时,确定所述目标游戏的帧率需求信息;
向服务器发送所述目标游戏的帧率调节请求,所述帧率调节请求携带有所述帧率需求信息,以使所述服务器基于所述帧率需求信息进行所述目标游戏的数据渲染,生成所述目标游戏的游戏数据;
接收所述服务器发送的所述游戏数据。
2.根据权利要求1所述的方法,其特征在于,所述运行状态数据包括多个状态指标,所述预设帧率调节条件包括预设帧率降低条件,所述当确定所述运行状态数据满足预设帧率调节条件时,确定所述目标游戏的帧率需求信息包括:
当检测到所述多个状态指标中的任一状态指标满足对应的指标异常条件时,确定所述运行状态数据满足所述预设帧率降低条件,获取所述目标游戏的当前帧率信息;
根据所述目标游戏的当前帧率信息计算所述目标游戏的帧率需求信息。
3.根据权利要求1所述的方法,其特征在于,所述运行状态数据包括多个状态指标,所述预设帧率调节条件包括预设帧率升高条件,所述当确定所述运行状态数据满足预设帧率调节条件时,确定所述目标游戏的帧率需求信息包括:
当检测到所述多个状态指标均满足对应的指标正常条件的持续时间大于或等于预设阈值时,确定所述运行状态数据满足所述预设帧率升高条件,获取所述目标游戏的运行帧率限制信息;
根据所述运行帧率限制信息确定所述目标游戏的帧率需求信息。
4.根据权利要求3所述的方法,其特征在于,所述获取所述目标游戏的运行帧率限制信息包括:
获取本地硬件配置信息;
根据所述本地硬件配置信息确定所述目标游戏在本地运行的初始帧率信息;
根据所述初始帧率信息确定所述目标游戏的运行帧率限制信息。
5.根据权利要求2所述的方法,其特征在于,所述根据所述目标游戏的当前帧率信息计算所述目标游戏的帧率需求信息包括:
获取预设比例系数;
将所述目标游戏的当前帧率信息与所述预设比例系数相乘,得到所述目标游戏的帧率需求信息。
6.根据权利要求1-5任一所述的方法,其特征在于,所述方法还包括:
对所述游戏数据进行解码处理,得到所述目标游戏的游戏帧图像序列,所述游戏帧图像序列包括多个按序排列的游戏帧图像;
依次对所述多个按序排列的游戏帧图像进行显示。
7.一种帧率控制方法,其特征在于,所述方法包括:
接收客户端发送的目标游戏的帧率调节请求,所述帧率调节请求携带有所述目标游戏的帧率需求信息,所述帧率需求信息为所述客户端监控所述目标游戏的运行状态数据,当所述客户端确定所述运行状态数据满足预设帧率调节条件时确定的;
基于所述帧率需求信息进行所述目标游戏的数据渲染,生成所述目标游戏的游戏数据;
向所述客户端发送所述游戏数据。
8.根据权利要求7所述的方法,其特征在于,当所述预设帧率调节条件包括预设帧率降低条件时,所述基于所述帧率需求信息进行所述目标游戏的数据渲染,生成所述目标游戏的游戏数据包括:
获取所述目标游戏的渲染指令原始发送频率;
根据所述渲染指令原始发送频率和所述帧率需求信息确定指令跳过规则;
根据所述指令跳过规则执行所述目标游戏的渲染指令,生成所述目标游戏的游戏数据。
9.一种帧率控制装置,其特征在于,所述装置包括:
运行状态监控模块,用于监控目标游戏的运行状态数据;
帧率需求信息确定模块,用于当确定所述运行状态数据满足预设帧率调节条件时,确定所述目标游戏的帧率需求信息;
帧率调节请求发送模块,用于向服务器发送所述目标游戏的帧率调节请求,所述帧率调节请求携带有所述帧率需求信息,以使所述服务器基于所述帧率需求信息进行所述目标游戏的数据渲染,生成所述目标游戏的游戏数据;
游戏数据接收模块,用于接收所述服务器发送的所述游戏数据。
10.一种帧率控制装置,其特征在于,所述装置包括:
帧率调节请求接收模块,用于接收客户端发送的目标游戏的帧率调节请求,所述帧率调节请求携带有所述目标游戏的帧率需求信息,所述帧率需求信息为所述客户端监控所述目标游戏的运行状态数据,当所述客户端确定所述运行状态数据满足预设帧率调节条件时确定的;
游戏数据生成模块,用于基于所述帧率需求信息进行所述目标游戏的数据渲染,生成所述目标游戏的游戏数据;
游戏数据发送模块,用于向所述客户端发送所述游戏数据。
CN202110327799.5A 2021-03-26 2021-03-26 一种帧率控制方法和装置 Active CN113117326B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110327799.5A CN113117326B (zh) 2021-03-26 2021-03-26 一种帧率控制方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110327799.5A CN113117326B (zh) 2021-03-26 2021-03-26 一种帧率控制方法和装置

Publications (2)

Publication Number Publication Date
CN113117326A true CN113117326A (zh) 2021-07-16
CN113117326B CN113117326B (zh) 2023-06-09

Family

ID=76773946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110327799.5A Active CN113117326B (zh) 2021-03-26 2021-03-26 一种帧率控制方法和装置

Country Status (1)

Country Link
CN (1) CN113117326B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113750527A (zh) * 2021-09-10 2021-12-07 福建天晴数码有限公司 一种高准确度的帧率控制方法及其***
CN113891153A (zh) * 2021-09-30 2022-01-04 杭州雾联科技有限公司 一种云游戏串流处理方法、装置及介质
CN115665482A (zh) * 2022-11-09 2023-01-31 腾讯科技(深圳)有限公司 视频渲染方法、装置、计算机设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110289067A1 (en) * 2010-05-18 2011-11-24 Rovi Technologies Corporation User interface for content browsing and selection in a search portal of a content system
CN105763919A (zh) * 2016-04-14 2016-07-13 福州瑞芯微电子股份有限公司 显示与视频同步的方法及装置
CN109379624A (zh) * 2018-11-27 2019-02-22 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备及存储介质
CN111045816A (zh) * 2019-11-06 2020-04-21 腾讯科技(深圳)有限公司 一种性能优化的方法以及相关装置
CN111357289A (zh) * 2017-11-17 2020-06-30 Ati科技无限责任公司 针对视频编码器渲染的游戏引擎应用程序
CN111882626A (zh) * 2020-08-06 2020-11-03 腾讯科技(深圳)有限公司 图像处理方法、装置、服务器及介质
CN112230758A (zh) * 2020-11-09 2021-01-15 腾讯科技(深圳)有限公司 帧率调整方法、装置、设备及计算机可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110289067A1 (en) * 2010-05-18 2011-11-24 Rovi Technologies Corporation User interface for content browsing and selection in a search portal of a content system
CN105763919A (zh) * 2016-04-14 2016-07-13 福州瑞芯微电子股份有限公司 显示与视频同步的方法及装置
CN111357289A (zh) * 2017-11-17 2020-06-30 Ati科技无限责任公司 针对视频编码器渲染的游戏引擎应用程序
CN109379624A (zh) * 2018-11-27 2019-02-22 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备及存储介质
CN111045816A (zh) * 2019-11-06 2020-04-21 腾讯科技(深圳)有限公司 一种性能优化的方法以及相关装置
CN111882626A (zh) * 2020-08-06 2020-11-03 腾讯科技(深圳)有限公司 图像处理方法、装置、服务器及介质
CN112230758A (zh) * 2020-11-09 2021-01-15 腾讯科技(深圳)有限公司 帧率调整方法、装置、设备及计算机可读存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113750527A (zh) * 2021-09-10 2021-12-07 福建天晴数码有限公司 一种高准确度的帧率控制方法及其***
CN113750527B (zh) * 2021-09-10 2023-09-01 福建天晴数码有限公司 一种高准确度的帧率控制方法及其***
CN113891153A (zh) * 2021-09-30 2022-01-04 杭州雾联科技有限公司 一种云游戏串流处理方法、装置及介质
CN115665482A (zh) * 2022-11-09 2023-01-31 腾讯科技(深圳)有限公司 视频渲染方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN113117326B (zh) 2023-06-09

Similar Documents

Publication Publication Date Title
CN111544886B (zh) 一种画面显示的方法以及相关装置
CN109347722B (zh) 交互***、方法、客户端及后台服务器
EP2624611A1 (en) Method and system for visualizing an adaptive screen according to a terminal
CN111866433B (zh) 视频源切换方法、播放方法、装置、设备和存储介质
US20240184975A1 (en) Adaptive content delivery
CN113163002B (zh) 一种服务器切换方法、装置及存储介质
CN113117326B (zh) 一种帧率控制方法和装置
CN113181646A (zh) 游戏数据方法及装置、电子设备、存储介质
CN107835984B (zh) 热减轻用户体验
CN113395592A (zh) 一种视频播放控制方法、装置、设备及计算机存储介质
CN115345464A (zh) 业务订单的派单方法、装置、计算机设备及存储介质
CN110300047B (zh) 一种动画播放方法、装置及存储介质
CN111857515B (zh) 图像处理方法、装置、存储介质及电子设备
CN111371916B (zh) 一种数据处理方法及相关设备
CN115390707A (zh) 分享处理方法、装置、电子设备及存储介质
CN115623268A (zh) 基于虚拟空间的互动方法、装置、设备及存储介质
CN115017340A (zh) 多媒体资源生成方法、装置、电子设备及存储介质
CN113852450A (zh) 一种消息推送反馈方法、装置、电子设备和存储介质
CN114764362A (zh) 一种虚拟资源获取方法、装置、电子设备及存储介质
CN113961792B (zh) 一种资源推荐***、方法、电子设备及存储介质
CN113747185B (zh) 一种信息交互方法、装置、***、设备及存储介质
CN117202146A (zh) 针对nfc无源显示设备的显示控制方法、装置及介质
CN113377710B (zh) 一种数据获取方法、装置及电子设备
KR102526963B1 (ko) Vmi 서비스 영상 품질변경 방법 및 장치
CN107920010B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40048384

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant