CN113117326B - Frame rate control method and device - Google Patents

Frame rate control method and device Download PDF

Info

Publication number
CN113117326B
CN113117326B CN202110327799.5A CN202110327799A CN113117326B CN 113117326 B CN113117326 B CN 113117326B CN 202110327799 A CN202110327799 A CN 202110327799A CN 113117326 B CN113117326 B CN 113117326B
Authority
CN
China
Prior art keywords
frame rate
target game
game
information
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.)
Active
Application number
CN202110327799.5A
Other languages
Chinese (zh)
Other versions
CN113117326A (en
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/en
Publication of CN113117326A publication Critical patent/CN113117326A/en
Application granted granted Critical
Publication of CN113117326B publication Critical patent/CN113117326B/en
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 MPEG-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

Abstract

The application discloses a frame rate control method and a device, wherein the method comprises the steps that a client monitors running state data of a target game; when the client determines that the running state data meets a preset frame rate adjusting condition, the client determines frame rate requirement information of the target game; the client sends a frame rate adjustment request of the target game to a server, wherein the frame rate adjustment request carries the frame rate requirement information; the server performs data rendering of the target game based on the frame rate requirement information, and generates game data of the target game; the server sends the game data to the client. By utilizing the technical scheme provided by the application, the real-time performance and flexibility of the cloud game frame rate control can be improved.

Description

Frame rate control method and device
Technical Field
The application relates to the technical field of cloud games, in particular to a frame rate control method and device.
Background
The cloud game is a game mode based on cloud computing, and in the running mode of the cloud game, the game can run at a server side, and the rendered game picture is compressed and then transmitted to a user through a network. At the client, the game device of the user does not need hardware configuration such as a high-end processor, a display card and the like, only needs basic video decompression capability, is flexible and convenient, and greatly reduces the game cost of the user.
In the prior art, the frame rate of the game is determined by the server and data transmission is performed, generally, the processing capacity of the server is higher than that of the client, when the server performs game running and data transmission at a higher frame rate, if the client has the problems of poor network environment, poor hardware processing capacity and the like, the data transmitted by the server cannot be completely processed, resource waste is generated, and the problems of game clamping and the like can be brought, so that the game experience of a user is influenced. Thus, there is a need to provide a more efficient solution.
Disclosure of Invention
In order to solve the problems in the prior art, the application provides a frame rate control method and a frame rate control device. The technical scheme is as follows:
in one aspect, the present application provides a frame rate control method, where the method includes:
the method comprises the steps that a client monitors running state data of a target game;
when the client determines that the running state data meets a preset frame rate adjusting condition, the client determines frame rate requirement information of the target game;
the client sends a frame rate adjustment request of the target game to a server, wherein the frame rate adjustment request carries the frame rate requirement information;
the server performs data rendering of the target game based on the frame rate requirement information, and generates game data of the target game;
The server sends the game data to the client.
Another aspect of the present application provides another frame rate control method, including:
monitoring running state data of a target game;
when the running state data is determined to meet the preset frame rate adjusting condition, determining frame rate requirement information of the target game;
sending a frame rate adjustment request of the target game to a server, wherein the frame rate adjustment request carries the frame rate requirement information, so that the server performs data rendering of the target game based on the frame rate requirement information, and generates game data of the target game;
and receiving the game data sent by the server.
Another aspect of the present application provides another frame rate control method, including:
receiving a frame rate adjustment request of a target game sent by a client, wherein the frame rate adjustment request carries frame rate requirement information of the target game, the frame rate requirement information is determined when the client monitors running state data of the target game and the running state data meets preset frame rate adjustment conditions;
performing data rendering of the target game based on the frame rate requirement information, and generating game data of the target game;
And sending the game data to the client.
In another aspect, the present application provides a frame rate control system, where the system includes a client and a server;
the client is used for monitoring running state data of the target game; when the running state data is determined to meet the preset frame rate adjusting condition, determining frame rate requirement information of the target game; sending a frame rate adjustment request of the target game to the server, wherein the frame rate adjustment request carries the frame rate requirement information;
the server is used for carrying out data rendering of the target game based on the frame rate requirement information and generating game data of the target game; and sending the game data to the client.
Another aspect of the present application provides a frame rate control apparatus, the apparatus comprising:
the running state monitoring module is used for monitoring running state data of the target game;
the frame rate requirement information determining module is used for determining the frame rate requirement information of the target game when the running state data is determined to meet the preset frame rate adjustment condition;
a frame rate adjustment request sending module, configured to send a frame rate adjustment request of the target game to a server, where the frame rate adjustment request carries the frame rate requirement information, so that the server performs data rendering of the target game based on the frame rate requirement information, and generates game data of the target game;
And the game data receiving module is used for receiving the game data sent by the server.
Another aspect of the present application provides another frame rate control apparatus, including:
the frame rate adjustment request receiving module is used for receiving a frame rate adjustment request of a target game sent by a client, wherein the frame rate adjustment request carries frame rate requirement information of the target game, the frame rate requirement information is operation state data of the target game monitored by the client, and the frame rate requirement information is determined when the client determines that the operation state data meets preset frame rate adjustment conditions;
the game data generation module is used for performing data rendering of the target game based on the frame rate requirement information and generating game data of the target game;
and the game data sending module is used for sending the game data to the client.
In another aspect, the present application provides an apparatus, where the apparatus includes a processor and a memory, where at least one instruction or at least one program is stored in the memory, where the at least one instruction or the at least one program is loaded and executed by the processor to implement the frame rate control method described above.
In another aspect, the present application provides a computer readable storage medium having at least one instruction or at least one program stored therein, where the at least one instruction or the at least one program is loaded and executed by a processor to implement the frame rate control method described above.
The frame rate control method and the frame rate control device have the following technical effects:
in the method, a client monitors running state data of a target game; then, when the client determines that the running state data meets the preset frame rate regulation condition, the client determines the frame rate requirement information of the target game, monitors the running state data of the target game in real time at the client and determines the frame rate requirement information, thereby being beneficial to improving the real-time performance of frame rate control; then, the client sends a frame rate adjustment request of the target game to the server, wherein the frame rate adjustment request carries the frame rate requirement information, and the server can perform data rendering of the target game based on the frame rate requirement information to generate game data of the target game; finally, the server sends the game data to the client. The client actively sends the frame rate adjustment request carrying the frame rate requirement information to the server, so that the server can control the frame rate of the target game according to the actual requirement of the client, and the real-time performance and flexibility of the frame rate control are improved.
Additional aspects and advantages of the application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the application.
Drawings
In order to more clearly illustrate the technical solutions and advantages of embodiments of the present application or of the prior art, the following description will briefly introduce the drawings that are required to be used in the embodiments or the prior art descriptions, it is obvious that the drawings in the following description are only some embodiments of the present application, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a schematic diagram of an application environment provided by an embodiment of the present application;
fig. 2 is a schematic diagram of a frame rate control architecture according to an embodiment of the present application;
fig. 3 is a flowchart of a frame rate control method according to an embodiment of the present application;
FIG. 4 is a flowchart of another frame rate control method according to an embodiment of the present application;
fig. 5 is a flowchart of another frame rate control method according to an embodiment of the present application;
FIG. 6 is a flowchart of another frame rate control method provided by an embodiment of the present application;
fig. 7 is a flowchart of another frame rate control method according to an embodiment of the present application;
Fig. 8 is a flowchart of another frame rate control method according to an embodiment of the present application;
fig. 9 is a flowchart of another frame rate control method provided in an embodiment of the present application;
fig. 10 is a schematic diagram of a frame rate control device according to an embodiment of the present application;
fig. 11 is a schematic diagram of another frame rate control apparatus according to an embodiment of the present application;
fig. 12 is a hardware configuration block diagram of a client for implementing a frame rate control method according to an embodiment of the present application.
Detailed Description
The following description of the embodiments of the present application will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are only some, but not all, of the embodiments of the present application. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present application based on the embodiments herein. Examples of the embodiments are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to like or similar elements throughout or elements having like or similar functionality.
It should be noted that the terms "first," "second," and the like in the description and claims of the present application and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that embodiments of the present application described herein may be implemented in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or server that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed or inherent to such process, method, article, or apparatus, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
Blockchains are novel application modes of computer technologies such as distributed data storage, point-to-point transmission, consensus mechanisms, encryption algorithms, and the like. The Blockchain (Blockchain), which is essentially a decentralised database, is a string of data blocks that are generated by cryptographic means in association, each data block containing a batch of information of network transactions for verifying the validity of the information (anti-counterfeiting) and generating the next block. The blockchain may include a blockchain underlying platform, a platform product service layer, and an application service layer; the blockchain bottom layer platform, the platform product service layer and the application service layer can be realized by a cloud server.
Cloud technology (Cloud technology) refers to a hosting technology for integrating hardware, software, network and other series resources in a wide area network or a local area network to realize calculation, storage, processing and sharing of data. Cloud technology (Cloud technology) is based on the general terms of network technology, information technology, integration technology, management platform technology, application technology and the like applied by Cloud computing business models, and can form a resource pool, so that the Cloud computing business model is flexible and convenient as required. Cloud computing technology will become an important support. Background services of technical networking systems require a large amount of computing, storage resources, such as video websites, picture-like websites, and more portals. Along with the high development and application of the internet industry, each article possibly has an own identification mark in the future, the identification mark needs to be transmitted to a background system for logic processing, data with different levels can be processed separately, and various industry data needs strong system rear shield support and can be realized only through cloud computing.
The target game in the embodiment of the present application is a Cloud game, and the Cloud game (Cloud game) may also be called as a game on demand (game on demand), which is an online game technology based on a Cloud computing technology. Cloud gaming technology enables lightweight devices (thin clients) with relatively limited graphics processing and data computing capabilities to run high quality games. In a cloud game scene, the game is not run in a player game terminal, but is run in a cloud server, the cloud server renders the game scene into a video and audio stream, and the video and audio stream is transmitted to the player game terminal through a network. The player game terminal does not need to have strong graphic operation and data processing capability, and only needs to have basic streaming media playing capability and the capability of acquiring player input instructions and sending the player input instructions to the cloud server.
The scheme provided by the embodiment of the application relates to cloud games and other technologies in cloud technology, and specifically is described through the following embodiments.
Referring to fig. 1, fig. 1 is a schematic diagram of an application environment provided in an embodiment of the present application, and as shown in fig. 1, the application environment may include a client 01 and a server 02.
Specifically, the client 01 may be a game terminal of a user, in a target game running process, the client 01 may be configured to generate a corresponding game control instruction in response to a game control operation of the target user, and send the game control instruction to the server 02, so that the server 02 can perform rendering processing of a game frame image according to the game control instruction and send game data to the client 01, and then the client 01 can perform screen display according to the game data, thereby implementing online game. In the embodiment of the application, the client 01 can also be used for monitoring running state data of the target game; when the running state data is determined to meet the preset frame rate adjusting condition, determining frame rate requirement information of a target game; and sending a frame rate adjustment request carrying the frame rate requirement information to the server 02 so that the server 02 performs data rendering of the target game based on the frame rate requirement information to generate game data of the target game. Then, the client 01 may receive game data (video and audio stream rendered by the server 02) of the target game sent by the server, and display the game data; in some embodiments, client 01 may decode and redisplay the game data for the target game. Alternatively, the client 01 may include, but is not limited to, a smart phone, a desktop computer, a tablet computer, a notebook computer, a smart speaker, a digital assistant, an augmented reality (augmented reality, AR)/Virtual Reality (VR) device, a smart wearable device, and the like. Alternatively, the operating system running on the electronic device may include, but is not limited to, an android system, an IOS system, linux, windows, and the like.
Specifically, the server 02 may be a server running the target game, in the process of running the target game, the server 02 may receive a game control instruction sent by the client 01, perform rendering processing of a game frame image according to the game control instruction and send game data to the client 01, and then the client 01 may perform screen display according to the game data, so as to implement an online game. In this embodiment of the present application, the server 02 may be further configured to receive a frame rate adjustment request of a target game sent by the client, where the frame rate adjustment request carries frame rate requirement information of the target game, and the server 02 may further perform data rendering of the target game based on the frame rate requirement information, generate game data of the target game, and send the game data to the client 01; in some embodiments, the server 02 rendering the data of the target game based on this frame rate requirement information may include generating and executing rendering instructions to obtain a game frame image and encoding the game frame image to obtain game data of the target game. Specifically, after rendering the data of the target game, the server 02 may encode the game frame image obtained by rendering to obtain an encoded data stream, and send the encoded data stream to the client 01 as the game data of the target game. Optionally, the server 02 may be an independent physical server, or may be a server cluster or a distributed system formed by a plurality of physical servers, or may be a cloud server that provides cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network content delivery network), and basic cloud computing services such as big data and an artificial intelligence platform.
Referring to fig. 2, fig. 2 is a schematic diagram of a frame rate control architecture provided in an embodiment of the present application, where a client in fig. 2 may be a cloud game client, a server may be a cloud game server, and the client may perform a frame rate dynamic decision by monitoring running state data of a target game, that is, when the client determines that the running state data meets a preset frame rate adjustment condition, the client determines frame rate requirement information of the target game, and sends a frame rate adjustment request carrying the frame rate requirement information to the server, and in a specific embodiment, the running state data may include, but is not limited to, a terminal state index, a network state index, and a user operation state index; the server can control the frame rate of the target game according to the frame rate requirement information and render the game frame of the target game to obtain a game frame image, encode the game frame image to obtain game data (data stream) of the target game, transmit the game data to the client through a network, and the client can decode the game data to display a game picture of the target game, wherein the game data can be a video stream; the client monitors the running state data of the game to make a frame rate dynamic decision, determines frame rate requirement information and sends a frame rate adjustment request to the server, so that the method is beneficial to determining the required frame rate by combining the real-time condition of the client in the cloud game, rendering the data according to the real-time requirement of the client by the server, and improving the real-time performance and flexibility of frame rate control.
In addition, it should be noted that fig. 1 and fig. 2 are merely examples of an application environment and architecture provided in the embodiments of the present application, and the client 01 and the server 02 may be directly or indirectly connected through a wired or wireless communication manner, which is not limited herein.
Fig. 3 is a flowchart of a frame rate control method provided in an embodiment of the present application, referring to fig. 3, the frame rate control method provided in an embodiment of the present application includes the following steps:
s301: the client monitors the running state data of the target game.
Specifically, the target game may be a cloud game; in practical application, cloud game is an online game technology based on cloud computing technology, in the cloud game process, a client can respond to game control operation of a target user to generate a corresponding game control instruction, the game control instruction is sent to a server, then the server can conduct rendering processing of game frame images according to the game control instruction and send game data to the client, and then the client can conduct picture display according to the game data, so that online game is achieved. In the cloud game running process, data processing (such as analysis of control instructions, rendering of game frame images and the like) of a game is not performed in a client (a player game terminal), but is performed in a server, a game scene is rendered into a video-audio stream by the server and is transmitted to the client through a network, so that the high-quality game is performed in the client with relatively limited graphic processing and data computing capabilities, the client does not need to have strong graphic computing and data processing capabilities, only needs to have basic streaming media playing capabilities and the capability of acquiring player input instructions and transmitting the player input instructions to the server, performance pressure of the client in the game process is reduced, the game can be suitable for various types of clients, and universality of the game is improved.
In the embodiment of the present application, the above running state data may represent a local running condition of the target game, and the client may continuously monitor the running state data of the target game in the running process of the target game, so as to facilitate subsequent frame rate adjustment according to the running state data of the target game in time, promote real-time performance of frame rate control in the cloud game process, and facilitate frame rate control according to the self condition of the client when the target game runs, and promote reliability of frame rate control.
S303: when the client determines that the running state data meets the preset frame rate adjustment condition, the client determines the frame rate requirement information of the target game.
Specifically, the preset frame rate adjustment condition may be obtained by performing performance test in advance in combination with performance information of the client; the frame rate requirement information described above may characterize the frame rate that is currently required by the client to play the target game.
In the embodiment of the present application, the above-mentioned running state data may include a plurality of state indexes, and specifically, the above-mentioned plurality of state indexes may include, but are not limited to, a terminal state index, a network state index, and a user operation state index; the terminal state index may represent a real-time situation of the client when the target game is running, and in a specific embodiment, the terminal state index may be a device temperature value of the client, or a memory occupancy rate of the client; the network state index may represent a network real-time condition of the client when the target game is running, and in a specific embodiment, the network state index may be a network speed of the client, or a difference value between a server sending frame rate and a client receiving frame rate; the user operation state index may represent an operation condition of the user with respect to the target game when the target game is running, and in a specific embodiment, the user operation state index may be a duration of non-operation of the user and a current game scenario of the user.
Referring to fig. 4, in one embodiment, the predetermined frame rate adjustment condition may include a predetermined frame rate decrease condition, and when the client determines that the running state data meets the predetermined frame rate adjustment condition, the client determining the frame rate requirement information of the target game may include:
s401: when the client detects that any one of the plurality of state indexes meets the corresponding index abnormal condition, the client determines that the running state data meets the preset frame rate reducing condition, and acquires the current frame rate information of the target game.
In the embodiment of the application, each state index has a corresponding index exception condition.
For example, when the plurality of status indicators include a terminal status indicator, a network status indicator, and a user operation status indicator, the indicator abnormal condition corresponding to the terminal status indicator may include: the duration that the device temperature value of the client is higher than the preset temperature threshold is greater than the first time threshold, or the duration that the memory occupancy rate of the client is higher than the preset occupancy threshold is greater than the second time threshold, and the preset temperature threshold and the preset occupancy threshold can be determined by using the client (for example, using a terminal of the model) to perform game testing. The index exception condition corresponding to the network status index may include: the duration that the network speed of the client is lower than the preset network speed threshold is greater than the third time threshold, or the duration that the difference value between the sending frame rate of the server and the receiving frame rate of the client is higher than the preset difference value threshold is greater than the fourth time threshold, and the difference value between the sending frame rate of the server and the receiving frame rate of the client is used for measuring the network state of the client, so that the scientificity and the reliability of judging the network state are improved, the network state can be determined more intuitively and accurately, and the reliability of frame rate control is improved. The index exception condition corresponding to the user operation state index may include: the duration of the user non-operation of the client is greater than the fourth time threshold, and the current game scene of the user belongs to a preset scene, wherein the duration of the user non-operation can be the duration of the user non-emission of any operation instruction, the preset scene can be set according to the actual application requirement, specifically, the preset scene can comprise a waiting scene in the target game, when the user is non-operated for a long time and is in the preset scene, data is not necessarily transmitted to the client according to a higher frame rate, the reduction of the frame rate does not affect the user experience, resources are saved, and the flexibility and the adaptability of the frame rate control are improved. The first time threshold, the second time threshold, the third time threshold and the fourth time threshold can be respectively used for performing game or application testing by using the client and determining by combining with actual application requirements, if only occasional fluctuation with shorter duration exists, the index abnormal condition is not met, the frame rate adjustment is prevented from affecting the user experience too frequently, and the reliability of the frame rate control is facilitated to be improved.
When the client detects that any one of the plurality of state indexes meets the index abnormal condition corresponding to the state index, the client can determine that the running state data meets the preset frame rate reducing condition, and acquire the current frame rate information of the target game. The current frame rate information of the target game may represent a current running frame rate condition of the target game, and specifically, the current frame rate information of the target game may be a frame rate at which the client currently requests the server to perform data transmission; or, the server currently transmits the frame rate of the game data to the client (which may be obtained by transmitting a request to the server).
In practical applications, the processing capability of the server is generally stronger than that of the client, and when the server performs game data processing (such as rendering and encoding) and data transmission at a higher frame rate, the client may not be able to process due to various factors, and the frame rate of the final display may not reach the frame rate when the server sends, thereby causing resource waste. For example, the client network environment is poor, there is a delay in receiving data resulting in the inability to receive all data sent by the server every second, or the client system state is poor resulting in the inability to process (e.g., decode) all data sent by the server every second. When the client detects that any one of the plurality of state indexes meets the corresponding index abnormal condition, the client determines that the running state data meets the preset frame rate reduction condition, so that the monitoring from a plurality of dimensions is facilitated, the frame rate influence factors of the client are comprehensively considered, and the reliability of frame rate control is improved; and the client side monitors various influencing factors in real time and determines whether an abnormal condition is achieved, so that the real-time performance of frame rate control is improved, the client side timely determines the required frame rate, and further informs the server to adjust the frame rate, so that the frame rate waste caused by the fixed frame rate of the server is avoided, and the flexibility and the reliability of the frame rate control in the cloud game are improved.
S403: the client calculates the frame rate requirement information of the target game according to the current frame rate information of the target game.
In the embodiment of the present application, after obtaining the current frame rate information of the target game, the client may calculate the frame rate requirement information of the target game according to the current frame rate information of the target game; referring to fig. 5, in one embodiment, the calculating, by the client, the frame rate requirement information of the target game according to the current frame rate information of the target game may include:
s501: the client acquires a preset proportionality coefficient.
Specifically, a large number of clients with different models and states can be utilized to perform frame rate adjustment test, the proportionality coefficient of the client when the frame rate of the client is reduced is determined by combining the test result, the proportionality coefficient is used as the preset proportionality coefficient and stored in the client, and the client can extract the preset proportionality coefficient stored in advance; the preset scaling factor may also be set in combination with practical application requirements, which is not limited in this application.
S503: and multiplying the current frame rate information of the target game by the preset proportionality coefficient by the client to obtain the frame rate requirement information of the target game.
For example, the current frame rate information of the target game includes that the current frame rate of the target game (the transmission frame rate of the server) is 40 frames/second, and the preset proportionality coefficient is 0.8, and then the frame rate requirement information of the target game is 32 frames/second. The client obtains the preset proportionality coefficient, multiplies the current frame rate information of the target game by the preset proportionality coefficient to obtain the frame rate demand information of the target game, and is favorable for improving the adaptability and flexibility of the frame rate demand information calculation, and further improving the flexibility of the frame rate control.
In another embodiment, the calculating, by the client, the frame rate requirement information of the target game according to the current frame rate information of the target game may include: the client reduces the preset frame rate on the basis of the current frame rate information of the target game to obtain the frame rate requirement information of the target game; for example, the current frame rate information of the target game includes that the current frame rate of the target game (the transmission frame rate of the server) is 40 frames/second, and the preset frame rate is 5 frames, and then the frame rate requirement information of the target game is 35 frames/second.
In the embodiment of the application, when the client detects that any one of the plurality of state indexes meets the corresponding index abnormal condition, the client determines that the running state data meets the preset frame rate reducing condition, and obtains the current frame rate information of the target game, so that the client can monitor the local frame rate influencing factors in real time, and then determine the frame rate requirement information of the target game, thereby being beneficial to improving the real-time performance and flexibility of frame rate control; the client calculates the frame rate demand information of the target game according to the current frame rate information of the target game, so that the reliable frame rate demand information can be obtained, the reliability of frame rate control is further improved, the resource waste caused by overhigh frame rate of the server is reduced, the smoothness of the cloud game is improved, the user experience is improved, and the power consumption of the server is reduced.
Referring to fig. 6, in another embodiment, the predetermined frame rate adjustment condition may include a predetermined frame rate increasing condition, and when the client determines that the running state data meets the predetermined frame rate adjustment condition, the client determining the frame rate requirement information of the target game may include:
s601: when the client detects that the duration time that the plurality of state indexes meet the corresponding index normal conditions is greater than or equal to a preset threshold value, the client determines that the running state data meet the preset frame rate rising conditions.
In this embodiment of the present application, when the client detects that the duration of each of the plurality of state indexes that satisfies the corresponding index normal condition is greater than or equal to a preset threshold, that is, when the client detects that each of the plurality of state indexes that satisfies the corresponding index normal condition is greater than or equal to the preset threshold, the preset threshold may be set in combination with an actual application requirement, for example, 3 minutes.
In the embodiment of the application, each state index has a corresponding index normal condition. For example, when the plurality of status indicators include a terminal status indicator, a network status indicator, and a user operation status indicator, the indicator normal condition corresponding to the terminal status indicator may include: the device temperature value of the client is smaller than or equal to a preset temperature threshold, or the memory occupancy rate of the client is smaller than or equal to a preset occupancy threshold. The index normal condition corresponding to the network status index may include: the network speed of the client is higher than or equal to a preset network speed threshold, or the difference between the sending frame rate of the server and the receiving frame rate of the client is lower than or equal to a preset difference threshold. The index normal condition corresponding to the user operation state index may include: and the user of the client continuously sends out an operation instruction, or the current game scene of the user does not belong to a preset scene. When the client detects that each state index in the plurality of states meets the index normal condition corresponding to the state index, and the duration is greater than or equal to a preset threshold (for example, the duration that the equipment temperature value of the client is less than or equal to the preset temperature threshold is greater than or equal to 3 minutes, and the network speed of the client is greater than or equal to the preset network speed threshold is also greater than or equal to 3 minutes), the client determines that the running state data meets the preset frame rate rising condition, thereby being beneficial to improving the reliability of frame rate control, and timely determining the frame rate requirement information under the condition that the factors affecting the frame rate of the client are normal and stable, so that the server can raise the frame rate of the target game, and when the client state is better, the server still can transmit game data with a fixed lower frame rate, thereby being beneficial to improving the display quality of game pictures, improving the game experience of users and improving the real-time and flexibility of the frame rate control.
S603: and acquiring the running frame rate limiting information of the target game.
In the embodiment of the present application, the above-mentioned running frame rate limiting information may represent an ideal running frame rate of the target game at the client; specifically, referring to fig. 7, the acquiring the running frame rate limitation information of the target game may include:
s701: the client acquires the local hardware configuration information.
In the embodiment of the present application, the local hardware configuration information may represent a hardware configuration condition of the client, and specifically, the local hardware configuration information may include, but is not limited to, a processor model number and graphics card information.
S703: and the client determines initial frame rate information of the target game running locally according to the local hardware configuration information.
Specifically, the initial frame rate information may characterize a highest frame rate at which the target game is running at the client; in one embodiment, the local hardware configuration information of a large number of clients with different configurations may be obtained, the highest running frame rate is determined by using the running test of the target game performed by the clients with different configurations, mapping information between the local hardware configuration information and the initial frame rate information is established and stored in the cloud server, or the mapping information between the local hardware configuration information and the initial frame rate information and the local hardware configuration information of the client are written into the client when the client starts the target game for the first time, and the client may determine the initial frame rate information according to the mapping information between the local hardware configuration information and the initial frame rate information and the local hardware configuration information of the client.
S705: the client determines the running frame rate limiting information of the target game according to the initial frame rate information.
In one embodiment, the client may determine the running frame rate limit information of the target game from the initial frame rate information; in another embodiment, the client may reduce the initial frame rate information in proportion, and use the reduced initial frame rate information as the running frame rate limiting information of the target game, where the reserved space does not affect running of other applications of the client, and improves flexibility of frame rate control.
In this embodiment of the present application, the above-mentioned running frame rate limitation information may also be that when the client first opens the target game, the client obtains local hardware configuration information, determines initial frame rate information of the target game running locally according to the above-mentioned local hardware configuration information, and determines and stores in advance locally according to the above-mentioned initial frame rate information, where the above-mentioned running frame rate limitation information of the target game obtained may directly extract the pre-stored running frame rate limitation information from locally. The client acquires the local hardware configuration information to further determine the running frame rate limiting information of the target game, so that the reliability of frame rate control is improved, the frame rate is maximized under the condition that the client can support, the user game experience is improved, and the reliability and the adaptability of the frame rate control are improved.
When the client detects that the duration time that the plurality of state indexes meet the corresponding index normal conditions is greater than or equal to a preset threshold value, the client determines that the running state data meet the preset frame rate rising conditions, and obtains running frame rate limiting information of the target game, so that the real-time performance and flexibility of frame rate control are improved.
S605: the client determines the frame rate requirement information of the target game according to the running frame rate limiting information.
In this embodiment of the present application, the client may directly use the above running frame rate limitation information as the frame rate requirement information of the target game, or reduce the preset frame based on the above running frame rate limitation information and use the reduced preset frame as the frame rate requirement information of the target game, so as to avoid jamming.
The client determines the frame rate requirement information of the target game according to the running frame rate limiting information, so that the maximization of the game frame rate is facilitated under the condition that the client can support, the game experience of a user is improved, and the reliability and the adaptability of the frame rate control are improved.
In some embodiments, the client may also determine frame rate requirement information for the target game in response to a frame rate adjustment operation by the target user for the target game; the frame rate adjusting operation of the target user for the target game can be sent out according to the actual running condition of the target game, which is beneficial to improving the flexibility of frame rate control.
S305: the client sends a frame rate adjustment request for the target game to the server.
Specifically, the frame rate adjustment request may carry the frame rate requirement information described above.
In the embodiment of the application, the client side monitors the local frame rate influence factors in real time, and then determines the frame rate requirement information of the target game, so that the reliability and the instantaneity of the determined frame rate requirement information are improved; and the client actively transmits a frame rate adjustment request carrying the frame rate requirement information to the server, so that the server can control the frame rate of the target game according to the actual requirement of the client, and the real-time performance and flexibility of the frame rate control are improved.
S307: and the server performs data rendering of the target game based on the frame rate requirement information to generate game data of the target game.
In the embodiment of the application, the server may perform data rendering of the target game based on the frame rate requirement information, and generate game data of the target game. In practical application, the process of generating the game data of the target game may include: the server sends out a rendering instruction of the target game according to a fixed frequency (the fixed frequency is consistent with the frame rate set by the server); the server sequentially executes rendering instructions of the target games to obtain game frame images; the server sequentially encodes the obtained game frame images to obtain game data of the target game, wherein the game data of the target game is encoded stream data (video and audio stream obtained after encoding), and then the server can send the game data of the target game to the client.
In one embodiment, referring to fig. 8, when the preset frame rate adjustment condition includes a preset frame rate reduction condition, the server performs data rendering of the target game based on the frame rate requirement information, and generating game data of the target game may include:
s801: the server obtains the original sending frequency of the rendering instruction of the target game.
In this embodiment of the present application, the original sending frequency of the rendering instruction may represent the frequency of the rendering instruction sent by the server for the target game currently; the original sending frequency of the rendering instruction is consistent with the current set frame rate of the server.
S803: the server determines an instruction skipping rule according to the original transmission frequency of the rendering instruction and the frame rate requirement information.
Specifically, the server may perform calculation of a skip rule according to the original sending frequency of the rendering instruction and the frame rate requirement information, and determine the instruction skip rule; for example, the original transmission frequency of the rendering instruction is 80 per second, and the frame rate requirement information is 40 frames per second, so that the instruction skipping rule can be determined to skip the next rendering instruction for each execution of one rendering instruction. In practical application, the CPU is responsible for sending the rendering instruction at the original sending frequency of the rendering instruction, the GPU is responsible for executing the rendering instruction to obtain a game frame image, and the GPU (Graphics Processing Unit graphics processor) of the server can be set according to the instruction skipping rule, so that the subsequent server can execute the rendering instruction of the target game according to the instruction skipping rule.
S805: and the server executes the rendering instruction of the target game according to the instruction skipping rule to generate game data of the target game.
In an embodiment of the present application, the server executes the rendering instruction of the target game according to the instruction skipping rule, and generating the game data of the target game may include: the server executes the rendering instruction of the target game according to the instruction skipping rule to obtain a game frame image sequence of the target game; the server sequentially carries out coding processing on the game frame images in the game frame image sequence to obtain a coded data stream of the target game, and the coded data stream is used as game data of the target game, wherein the game frame image sequence can comprise a plurality of game frame images which are arranged in sequence.
The method comprises the steps that the original sending frequency of a rendering instruction of a target game is obtained through a server, an instruction skipping rule is determined according to the original sending frequency of the rendering instruction and the frame rate requirement information, the rendering instruction of the target game is executed according to the instruction skipping rule, game data of the target game are generated, cloud game frame rate control can be achieved according to the actual requirement of a client under the condition that the sending frequency of the CPU rendering instruction is fixed, the rendering and coding pressure of the server is reduced, the power consumption of the server is further reduced, and the flexibility of frame rate control is improved.
In another embodiment, the server performs data rendering of the target game based on the frame rate requirement information, and generating the game data of the target game may include: the server updates the original sending frequency of the rendering instruction according to the frame rate demand information to obtain the updated sending frequency of the rendering instruction; the server sends and executes the rendering instruction according to the rendering instruction updating sending frequency to obtain a game frame image sequence of the target game; the server sequentially carries out coding processing on the game frame images in the game frame image sequence to obtain a coded data stream of the target game, and the coded data stream is used as game data of the target game. The method and the device can directly update the original sending frequency of the rendering instruction according to the actual demand of the client under the condition that the sending frequency of the CPU rendering instruction is controllable, reduce the data rendering and coding pressure of the server, further reduce the power consumption of the server and improve the real-time performance of frame rate control.
In another embodiment, the server performs data rendering of the target game based on the frame rate requirement information, and generating the game data of the target game may include: the server performs data rendering according to the original sending frequency of the rendering instruction of the target game to obtain a game frame image sequence of the target game; the server determines a code skipping rule according to the frame rate requirement information, and codes the game frame images in the game frame image sequence according to the code skipping rule; for example, if the original transmission frequency of the rendering command is 80 per second, 80 game frame images are obtained per second, and if the frame rate requirement information is 40 frames/second, it may be determined that the encoding skip rule skips the next game frame image for each encoding of one game frame image. The cloud game frame rate control method and the cloud game frame rate control device are beneficial to conveniently and rapidly realizing the cloud game frame rate control under the condition that the CPU and GPU settings are not changed, the coding pressure of the server is reduced, the power consumption of the server is further reduced, and the flexibility of frame rate control is improved.
And the server performs data rendering of the target game based on the frame rate demand information to generate game data of the target game, so that cloud game frame rate control can be realized according to the actual demand of the client in real time, and the flexibility of the frame rate control is improved.
S309: the server transmits the game data to the client.
In this embodiment of the present application, the server may send the above-mentioned game data to the client, and specifically, the above-mentioned game data may be an encoded data stream of the target game; specifically, referring to fig. 9, after the server sends the game data to the client, the method may further include:
s901: and the client decodes the game data to obtain a game frame image sequence of the target game.
Specifically, the above-mentioned game frame image sequence may include a plurality of game frame images arranged in sequence, and the arrangement order of the game frame images in the above-mentioned game frame image sequence is consistent with the arrangement order of the game frame images in the game frame image sequence rendered by the server.
S903: the client side displays the plurality of game frame images which are arranged in sequence.
In this embodiment of the present application, after the client decodes the game data to obtain the game frame image sequence of the target game, the client may display a plurality of sequentially arranged game frame images in order to implement an online cloud game. In this embodiment of the present application, the client continuously monitors running state data of the target game, and when the client determines that the running state data meets a preset frame rate adjustment condition again, the client may continuously determine frame rate requirement information of the target game and send a frame rate adjustment request carrying the frame rate requirement information to the server, so that the server performs frame rate control of the target game according to the frame rate requirement information of the client; and further, the dynamic control of the target game frame rate is realized, and the real-time performance and the flexibility of the target game frame rate control are improved.
As can be seen from the technical solutions provided in the embodiments of the present application, the running state data of the target game is monitored by the client, where the running state data may include a plurality of state indexes, and when the client detects that any one of the plurality of state indexes meets the index abnormal condition corresponding to the one of the plurality of state indexes, the client determines that the running state data meets the preset frame rate reducing condition, which is favorable for monitoring from multiple dimensions, and is favorable for comprehensively considering the frame rate influencing factors and improving the reliability of frame rate control; and the client side monitors various influencing factors in real time and determines whether an abnormal condition is achieved, so that the real-time performance of frame rate control is improved, the client side timely determines the required frame rate, and further informs the server to adjust the frame rate, so that the frame rate waste caused by the fixed frame rate of the server is avoided, and the flexibility and the reliability of the frame rate control in the cloud game are improved. When the client detects that the duration time of the plurality of state indexes meeting the corresponding index normal conditions is greater than or equal to the preset threshold value, the client determines that the running state data meets the preset frame rate rising conditions, obtains the running frame rate limiting information of the target game and determines the frame rate requirement information of the target game, so that the maximization of the game frame rate under the condition that the client can support is guaranteed, the user game experience is improved, and the reliability and the adaptability of the frame rate control are improved. The client sends the frame rate adjustment request of the target game to the server, and the client actively sends the frame rate adjustment request carrying the frame rate requirement information to the server, so that the server can control the frame rate of the target game according to the actual requirement of the client, and the real-time performance and flexibility of the frame rate control are improved. And the server performs data rendering of the target game based on the frame rate demand information to generate game data of the target game, so that cloud game frame rate control can be realized according to the actual demand of the client in real time, and the flexibility of the frame rate control is improved. The client can continuously monitor the running state data of the target game, and when the client determines that the running state data meets the preset frame rate regulation condition again, the client can continuously determine the frame rate requirement information of the target game and send a frame rate regulation request carrying the frame rate requirement information to the server so that the server can control the frame rate of the target game according to the frame rate requirement information of the client; and further, the dynamic control of the target game frame rate is realized, and the real-time performance and the flexibility of the target game frame rate control are greatly improved.
The embodiment of the application also provides an embodiment of a frame rate control system, which can comprise a client and a server;
the client is used for monitoring running state data of the target game; when the running state data is determined to meet the preset frame rate adjusting condition, determining frame rate requirement information of the target game; sending a frame rate adjustment request of the target game to the server, wherein the frame rate adjustment request carries the frame rate requirement information;
the server is used for carrying out data rendering of the target game based on the frame rate requirement information and generating game data of the target game; and sending the game data to the client.
The embodiment of the application also provides a frame rate control device, as shown in fig. 10, the device may include:
an operation state monitoring module 1010 for monitoring operation state data of the target game;
a frame rate requirement information determining module 1020 configured to determine frame rate requirement information of the target game when it is determined that the running state data satisfies a preset frame rate adjustment condition;
a frame rate adjustment request sending module 1030, configured to send a frame rate adjustment request of the target game to a server, where the frame rate adjustment request carries the frame rate requirement information, so that the server performs data rendering of the target game based on the frame rate requirement information, and generates game data of the target game;
And the game data receiving module 1040 is configured to receive the game data sent by the server.
In one embodiment, the operation state data includes a plurality of state indexes, the preset frame rate adjustment condition includes a preset frame rate reduction condition, and the frame rate requirement information determining module 1020 may include:
a current frame rate information obtaining unit, configured to determine that the running state data satisfies the preset frame rate reduction condition when any one of the plurality of state indexes satisfies a corresponding index abnormal condition, and obtain current frame rate information of the target game;
and the frame rate demand information calculation unit is used for calculating the frame rate demand information of the target game according to the current frame rate information of the target game.
Specifically, the frame rate requirement information calculation unit described above may include:
the proportional coefficient acquisition unit is used for acquiring a preset proportional coefficient;
and the multiplication calculation unit is used for multiplying the current frame rate information of the target game with the preset proportionality coefficient to obtain the frame rate requirement information of the target game.
In another embodiment, the running state data includes a plurality of state indexes, the preset frame rate adjustment condition includes a preset frame rate increase condition, and the frame rate requirement information determining module 1020 may include:
A frame rate increase judging unit configured to determine that the running state data satisfies the preset frame rate increase condition when it is detected that the duration of time that the plurality of state indexes each satisfy the corresponding index normal condition is greater than or equal to a preset threshold;
an operation frame rate limiting information acquisition unit configured to acquire operation frame rate limiting information of the target game;
and the frame rate requirement information determining unit is used for determining the frame rate requirement information of the target game according to the running frame rate limiting information.
In one embodiment, the operation frame rate limit information obtaining unit may include:
the local hardware configuration information acquisition unit is used for acquiring the local hardware configuration information;
an initial frame rate information determining unit, configured to determine initial frame rate information of the target game running locally according to the local hardware configuration information;
and the running frame rate limiting information determining unit is used for determining the running frame rate limiting information of the target game according to the initial frame rate information.
In an embodiment of the present application, the frame rate control device may further include:
the decoding module is used for decoding the game data to obtain a game frame image sequence of the target game, wherein the game frame image sequence comprises a plurality of game frame images which are arranged in sequence;
And the display module is used for displaying the plurality of game frame images which are arranged in sequence.
The embodiment of the application also provides another frame rate control device, as shown in fig. 11, the device may include:
a frame rate adjustment request receiving module 1110, configured to receive a frame rate adjustment request of a target game sent by a client, where the frame rate adjustment request carries frame rate requirement information of the target game, the frame rate requirement information is determined when the client determines that running state data of the target game meets a preset frame rate adjustment condition;
a game data generating module 1120, configured to perform data rendering of the target game based on the frame rate requirement information, and generate game data of the target game;
and a game data transmitting module 1130, configured to transmit the game data to the client.
In one embodiment, when the preset frame rate adjustment condition includes a preset frame rate reduction condition, the game data generation module 1120 may include:
the original sending frequency acquisition unit is used for acquiring the original sending frequency of the rendering instruction of the target game;
An instruction skipping rule determining unit, configured to determine an instruction skipping rule according to the rendering instruction original sending frequency and the frame rate requirement information;
and the rendering instruction execution unit is used for executing the rendering instruction of the target game according to the instruction skipping rule and generating game data of the target game.
The device and method embodiments in the device embodiments described are based on the same application concept.
The embodiment of the application provides a computer device, which comprises a processor and a memory, wherein at least one instruction or at least one section of program is stored in the memory, and the at least one instruction or the at least one section of program is loaded and executed by the processor to realize the frame rate control method provided by the embodiment of the method.
The memory may be used to store software programs and modules that the processor executes to perform various functional applications and data processing by executing the software programs and modules stored in the memory. The memory may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, application programs required for functions, and the like; the storage data area may store data created according to the use of the device, etc. In addition, the memory may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, the memory may also include a memory controller to provide access to the memory by the processor.
The method embodiments provided in the embodiments of the present application may be performed in a mobile terminal, a computer terminal, a server, or a similar computing device, i.e., the above-mentioned computer device may include a mobile terminal, a computer terminal, a server, or a similar computing device. The server may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDNs, basic cloud computing services such as big data and artificial intelligence platforms. The terminal may be, but is not limited to, a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, etc. Taking the example of running on a client, fig. 12 is a schematic structural diagram of a client provided in the embodiment of the present application, and as shown in fig. 12, the client may be used to implement the frame rate control method provided in the foregoing embodiment. Specifically, the present invention relates to a method for manufacturing a semiconductor device.
The clients may include RF (Radio Frequency) circuitry 1210, memory 1220 including one or more computer-readable storage media, input unit 1230, display unit 1240, sensor 1250, audio circuitry 1260, wiFi (wireless fidelity ) module 1270, processor 1280 including one or more processing cores, and power supply 1290. Those skilled in the art will appreciate that the client architecture shown in fig. 12 is not limiting and may include more or fewer components than shown, or may combine certain components, or a different arrangement of components. Wherein:
The RF circuit 1210 may be used for receiving and transmitting signals during a message or a call, and in particular, after receiving downlink information of a base station, the downlink information is processed by one or more processors 1280; in addition, data relating to uplink is transmitted to the base station. Typically, RF circuitry 1210 includes, but is not limited to, an antenna, at least one amplifier, a tuner, one or more oscillators, a Subscriber Identity Module (SIM) card, a transceiver, a coupler, an LNA (Low Noise Amplifier ), a duplexer, and the like. In addition, RF circuitry 1210 may also communicate with networks and other clients through wireless communication. The wireless communication may use any communication standard or protocol including, but not limited to, GSM (Global System of Mobile communication, global system for mobile communications), GPRS (General Packet Radio Service ), CDMA (Code Division Multiple Access, code division multiple access), WCDMA (Wideband Code Division Multiple Access ), LTE (Long Term Evolution, long term evolution), email, SMS (Short Messaging Service, short message service), and the like.
Memory 1220 may be used to store software programs and modules, and processor 1280 may perform various functional applications and data processing by executing the software programs and modules stored in memory 1220. The memory 1220 may mainly include a storage program area that may store an operating system, application programs required for functions, and the like, and a storage data area; the storage data area may store data created according to the use of the client, etc. In addition, memory 1220 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, memory 1220 may also include a memory controller to provide access to memory 1220 by processor 1280 and input unit 1230.
The input unit 1230 may be used to receive input numeric or character information and generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function control. In particular, the input unit 1230 may include a touch-sensitive surface 1231 and other input devices 1232. The touch-sensitive surface 1231, also referred to as a touch display screen or touch pad, may collect touch operations thereon or thereabout by a user (e.g., operations of the user on the touch-sensitive surface 1231 or thereabout using any suitable object or accessory such as a finger, stylus, etc.), and actuate the corresponding connection device according to a pre-set program. Alternatively, the touch-sensitive surface 1231 may comprise two portions, a touch detection device and a touch controller. The touch detection device detects the touch azimuth of a user, detects a signal brought by touch operation and transmits the signal to the touch controller; the touch controller receives touch information from the touch detection device and converts it into touch point coordinates, which are then sent to the processor 1280, and can receive commands from the processor 1280 and execute them. In addition, the touch-sensitive surface 1231 may be implemented in a variety of types, such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch-sensitive surface 1231, the input unit 1230 may also include other input devices 1232. In particular, other input devices 1232 may include, but are not limited to, one or more of a physical keyboard, function keys (e.g., volume control keys, switch keys, etc.), a trackball, mouse, joystick, etc.
The display unit 1240 may be used to display information input by a user or information provided to the user and various graphical user interfaces of the client, which may be composed of graphics, text, icons, video, and any combination thereof. The display unit 1240 may include a display panel 1241, and alternatively, the display panel 1241 may be configured in the form of an LCD (Liquid Crystal Display ), an OLED (Organic Light-Emitting Diode), or the like. Further, the touch-sensitive surface 1231 can overlay the display panel 1241, and upon detection of a touch operation on or near the touch-sensitive surface 1231, the touch-sensitive surface is passed to the processor 1280 to determine the type of touch event, which then the processor 1280 provides a corresponding visual output on the display panel 1241 according to the type of touch event. Wherein the touch-sensitive surface 1231 and the display panel 1241 may be two separate components to implement input and input functions, but in some embodiments the touch-sensitive surface 1231 may be integrated with the display panel 1241 to implement input and output functions.
The client may also include at least one sensor 1250, such as a light sensor, a motion sensor, and other sensors.
Audio circuitry 1260, speaker 1261, microphone 1262 may provide an audio interface between a user and the client.
WiFi belongs to a short-distance wireless transmission technology, and the client can help a user to send and receive e-mails, browse web pages, access streaming media and the like through the WiFi module 1270, so that wireless broadband Internet access is provided for the user. Although fig. 12 shows a WiFi module 1270, it is understood that it does not belong to the essential constitution of the client described above, and may be omitted entirely as required within a range that does not change the essence of the application.
Processor 1280 is a control center of the client, connects various parts of the entire client using various interfaces and lines, and performs various functions and processes data of the client by running or executing software programs and/or modules stored in memory 1220, and calling data stored in memory 1220, thereby performing overall monitoring of the client. Optionally, processor 1280 may include one or more processing cores; preferably, the processor 1280 may integrate an application processor and a modem processor, wherein the application processor primarily handles operating systems, user interfaces, application programs, etc., and the modem processor primarily handles wireless communications. It will be appreciated that the modem processor described above may not be integrated into the processor 1280.
The client also includes a power supply 1290 (e.g., a battery) for powering the various components, which can be logically coupled to the processor 1280 via a power management system to provide charge, discharge, and power management functions via the power management system. Power supply 1290 may also include one or more of any of a dc or ac power supply, a recharging system, a power failure detection circuit, a power converter or inverter, a power status indicator, and the like.
Although not shown, the client may further include a camera, a bluetooth module, etc., which will not be described herein. In particular, in this embodiment, the display unit of the client is a touch screen display, and the client further includes a memory, and one or more programs, where the one or more programs are stored in the memory and configured to be executed by the one or more processors.
Embodiments of the present application also provide a computer readable storage medium that may be provided in a server to store at least one instruction or at least one program related to implementing a frame rate control method in a method embodiment, where the at least one instruction or the at least one program is loaded and executed by the processor to implement the frame rate control method provided in the method embodiment.
Alternatively, in this embodiment, the storage medium may be located in at least one network server among a plurality of network servers of the computer network. Alternatively, in the present embodiment, the storage medium may include, but is not limited to: a U-disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a removable hard disk, a magnetic disk, or an optical disk, or other various media capable of storing program codes.
Embodiments of the present application also provide a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The computer instructions are read from the computer-readable storage medium by a processor of a computer device, and executed by the processor, cause the computer device to perform the methods provided in the various alternative implementations described above.
As can be seen from the embodiments of the frame rate control method, system, apparatus, computer device, storage medium or computer program provided in the present application, the present application monitors, by a client, running state data of a target game, where the running state data may include a plurality of state indexes, and when the client detects that any one of the plurality of state indexes meets an index anomaly condition corresponding to the one of the plurality of state indexes, the client determines that the running state data meets the preset frame rate reduction condition, thereby facilitating monitoring from multiple dimensions, comprehensively considering frame rate influencing factors, and improving reliability of frame rate control; and the client side monitors various influencing factors in real time and determines whether an abnormal condition is achieved, so that the real-time performance of frame rate control is improved, the client side timely determines the required frame rate, and further informs the server to adjust the frame rate, so that the frame rate waste caused by the fixed frame rate of the server is avoided, and the flexibility and the reliability of the frame rate control in the cloud game are improved. When the client detects that the duration time of the plurality of state indexes meeting the corresponding index normal conditions is greater than or equal to the preset threshold value, the client determines that the running state data meets the preset frame rate rising conditions, obtains the running frame rate limiting information of the target game and determines the frame rate requirement information of the target game, so that the maximization of the game frame rate under the condition that the client can support is guaranteed, the user game experience is improved, and the reliability and the adaptability of the frame rate control are improved. The client sends the frame rate adjustment request of the target game to the server, and the client actively sends the frame rate adjustment request carrying the frame rate requirement information to the server, so that the server can control the frame rate of the target game according to the actual requirement of the client, and the real-time performance and flexibility of the frame rate control are improved. And the server performs data rendering of the target game based on the frame rate demand information to generate game data of the target game, so that cloud game frame rate control can be realized according to the actual demand of the client in real time, and the flexibility of the frame rate control is improved. The client can continuously monitor the running state data of the target game, and when the client determines that the running state data meets the preset frame rate regulation condition again, the client can continuously determine the frame rate requirement information of the target game and send a frame rate regulation request carrying the frame rate requirement information to the server so that the server can control the frame rate of the target game according to the frame rate requirement information of the client; and further, the dynamic control of the target game frame rate is realized, and the real-time performance and the flexibility of the target game frame rate control are greatly improved.
It should be noted that: the foregoing sequence of the embodiments of the present application is only for describing, and does not represent the advantages and disadvantages of the embodiments. And the foregoing description has been directed to specific embodiments of this specification. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims can be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
In this specification, each embodiment is described in a progressive manner, and identical and similar parts of each embodiment are all referred to each other, and each embodiment mainly describes differences from other embodiments. In particular, for apparatus, devices and storage medium embodiments, the description is relatively simple as it is substantially similar to method embodiments, with reference to the description of method embodiments in part.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program for instructing relevant hardware, where the program may be stored in a computer readable storage medium, and the storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The foregoing description of the preferred embodiments of the present application is not intended to limit the invention to the particular embodiments of the present application, but to limit the scope of the invention to the particular embodiments of the present application.

Claims (17)

1. A frame rate control method, wherein the method is applied to a client, the method comprising:
monitoring running state data of a target game, wherein the running state data comprises a plurality of state indexes;
when the running state data is determined to meet a preset frame rate adjustment condition, determining frame rate requirement information of the target game, wherein the frame rate requirement information characterizes the frame rate required by the client to currently play the target game, and the preset frame rate adjustment condition comprises a preset frame rate reduction condition or a preset frame rate increase condition; when the duration time that the plurality of state indexes meet the corresponding index normal conditions is detected to be greater than or equal to a preset threshold value, determining that the running state data meet the preset frame rate rising condition, and under the condition that the running state data meet the preset frame rate rising condition, determining the frame rate requirement information according to the running frame rate limiting information of the target game, wherein the plurality of state indexes comprise a terminal state index, a network state index and a user operation state index; the operation frame rate limiting information is obtained according to the following method: acquiring local hardware configuration information; determining initial frame rate information of the target game running locally according to the local hardware configuration information; determining running frame rate limiting information of the target game according to the initial frame rate information;
Sending a frame rate adjustment request of the target game to a server, wherein the frame rate adjustment request carries the frame rate requirement information, so that the server performs data rendering of the target game based on the frame rate requirement information, and generates game data of the target game;
and receiving the game data sent by the server.
2. The method of claim 1, wherein determining the frame rate requirement information of the target game when it is determined that the running state data satisfies a preset frame rate adjustment condition comprises:
when any one of the plurality of state indexes is detected to meet the corresponding index abnormal condition, determining that the running state data meets the preset frame rate reduction condition, and acquiring current frame rate information of the target game;
and calculating the frame rate requirement information of the target game according to the current frame rate information of the target game.
3. The method of claim 1, wherein determining the frame rate requirement information of the target game when it is determined that the running state data satisfies a preset frame rate adjustment condition comprises:
when the duration time that the plurality of state indexes meet the corresponding index normal conditions is detected to be greater than or equal to a preset threshold value, determining that the running state data meet the preset frame rate rising conditions, and acquiring running frame rate limiting information of the target game;
And determining frame rate requirement information of the target game according to the running frame rate limiting information.
4. The method of claim 2, wherein calculating frame rate requirement information for the target game from current frame rate information for the target game comprises:
acquiring a preset proportionality coefficient;
multiplying the current frame rate information of the target game by the preset proportionality coefficient to obtain the frame rate requirement information of the target game.
5. The method of any one of claims 1-4, further comprising:
decoding the game data to obtain a game frame image sequence of the target game, wherein the game frame image sequence comprises a plurality of game frame images which are arranged in sequence;
and displaying the plurality of game frame images which are arranged in sequence.
6. A frame rate control method, wherein the method is applied to a server, the method comprising:
receiving a frame rate adjustment request of a target game sent by a client, wherein the frame rate adjustment request carries frame rate requirement information of the target game, the frame rate requirement information characterizes the frame rate required by the client to currently play the target game, the frame rate requirement information is determined when the client determines that running state data of the target game meets a preset frame rate adjustment condition, and the preset frame rate adjustment condition comprises a preset frame rate reduction condition or a preset frame rate increase condition; the running state data comprises a plurality of state indexes, when the client detects that the duration time that the plurality of state indexes meet the corresponding index normal conditions is greater than or equal to a preset threshold value, the running state data is determined to meet the preset frame rate rising condition, and under the condition that the running state data meets the preset frame rate rising condition, the frame rate requirement information is determined according to the running frame rate limiting information of the target game; the plurality of state indexes comprise a terminal state index, a network state index and a user operation state index; the operation frame rate limiting information is obtained according to the following method: acquiring local hardware configuration information; determining initial frame rate information of the target game running locally according to the local hardware configuration information; determining running frame rate limiting information of the target game according to the initial frame rate information;
Performing data rendering of the target game based on the frame rate requirement information, and generating game data of the target game;
and sending the game data to the client.
7. The method of claim 6, wherein when the preset frame rate adjustment condition includes the preset frame rate reduction condition, the performing data rendering of the target game based on the frame rate requirement information, generating game data of the target game includes:
acquiring the original sending frequency of a rendering instruction of the target game;
determining an instruction skipping rule according to the original transmission frequency of the rendering instruction and the frame rate requirement information;
and executing the rendering instruction of the target game according to the instruction skipping rule, and generating game data of the target game.
8. A frame rate control apparatus, the apparatus being applied to a client, the apparatus comprising:
the running state monitoring module is used for monitoring running state data of the target game, wherein the running state data comprises a plurality of state indexes;
a frame rate requirement information determining module, configured to determine frame rate requirement information of the target game when it is determined that the running state data meets a preset frame rate adjustment condition, where the frame rate requirement information characterizes a frame rate required by the client to currently play the target game, and the preset frame rate adjustment condition includes a preset frame rate reduction condition or a preset frame rate increase condition; when the duration time that the plurality of state indexes meet the corresponding index normal conditions is detected to be greater than or equal to a preset threshold value, determining that the running state data meet the preset frame rate rising condition, and under the condition that the running state data meet the preset frame rate rising condition, determining the frame rate requirement information according to the running frame rate limiting information of the target game, wherein the plurality of state indexes comprise a terminal state index, a network state index and a user operation state index; the operation frame rate limiting information is obtained according to the following method: acquiring local hardware configuration information; determining initial frame rate information of the target game running locally according to the local hardware configuration information; determining running frame rate limiting information of the target game according to the initial frame rate information;
A frame rate adjustment request sending module, configured to send a frame rate adjustment request of the target game to a server, where the frame rate adjustment request carries the frame rate requirement information, so that the server performs data rendering of the target game based on the frame rate requirement information, and generates game data of the target game;
and the game data receiving module is used for receiving the game data sent by the server.
9. The apparatus of claim 8, wherein the frame rate requirement information determination module comprises:
the current frame rate information acquisition unit is specifically configured to determine that the running state data meets the preset frame rate reduction condition when any one of the plurality of state indexes is detected to meet a corresponding index abnormal condition, and acquire the current frame rate information;
and the frame rate demand information calculation unit is used for calculating the frame rate demand information of the target game according to the current frame rate information of the target game.
10. The apparatus of claim 8, wherein the frame rate requirement information determination module comprises:
a frame rate increase judging unit configured to determine that the running state data satisfies the preset frame rate increase condition when it is detected that the duration of time that the plurality of state indexes each satisfy the corresponding index normal condition is greater than or equal to a preset threshold;
An operation frame rate limiting information acquisition unit configured to acquire operation frame rate limiting information of the target game;
and the frame rate requirement information determining unit is used for determining the frame rate requirement information of the target game according to the running frame rate limiting information.
11. The apparatus according to claim 8, wherein the frame rate requirement information calculation unit includes:
the proportional coefficient acquisition unit is used for acquiring a preset proportional coefficient;
and the multiplication calculation unit is used for multiplying the current frame rate information of the target game with the preset proportionality coefficient to obtain the frame rate requirement information of the target game.
12. The apparatus according to any one of claims 8 to 11, further comprising:
the decoding module is used for decoding the game data to obtain a game frame image sequence of the target game, wherein the game frame image sequence comprises a plurality of game frame images which are arranged in sequence;
and the display module is used for displaying the plurality of game frame images which are arranged in sequence.
13. A frame rate control apparatus, the apparatus being applied to a server, the apparatus comprising:
a frame rate adjustment request receiving module, configured to receive a frame rate adjustment request of a target game sent by a client, where the frame rate adjustment request carries frame rate requirement information of the target game, the frame rate requirement information characterizes a frame rate required by the client to currently play the target game, the frame rate requirement information is determined when the client determines that running state data of the target game meets a preset frame rate adjustment condition, and the preset frame rate adjustment condition includes a preset frame rate reduction condition or a preset frame rate increase condition; when the client detects that the duration time that the plurality of state indexes meet the corresponding index normal conditions is greater than or equal to a preset threshold value, the running state data is determined to meet the preset frame rate rising condition, and when the running state data meets the preset frame rate rising condition, the frame rate demand information is determined according to the running frame rate limiting information of the target game, and the plurality of state indexes comprise a terminal state index, a network state index and a user operation state index; the operation frame rate limiting information is obtained according to the following method: acquiring local hardware configuration information; determining initial frame rate information of the target game running locally according to the local hardware configuration information; determining running frame rate limiting information of the target game according to the initial frame rate information;
The game data generation module is used for performing data rendering of the target game based on the frame rate requirement information and generating game data of the target game;
and the game data sending module is used for sending the game data to the client.
14. The apparatus of claim 13, wherein when the preset frame rate adjustment condition includes the preset frame rate reduction condition, the game data generation module comprises:
the original sending frequency acquisition unit is used for acquiring the original sending frequency of the rendering instruction of the target game;
an instruction skipping rule determining unit, configured to determine an instruction skipping rule according to the rendering instruction original sending frequency and the frame rate requirement information;
and the rendering instruction execution unit is used for executing the rendering instruction of the target game according to the instruction skipping rule and generating game data of the target game.
15. An apparatus comprising a processor and a memory having stored therein at least one instruction or at least one program that is loaded and executed by the processor to implement the frame rate control method of any one of claims 1 to 5 or the frame rate control method of any one of claims 6 to 7.
16. A computer-readable storage medium having stored therein at least one instruction or at least one program that is loaded and executed by a processor to implement the frame rate control method of any one of claims 1 to 5 or the frame rate control method of any one of claims 6 to 7.
17. A computer program product comprising computer instructions stored in a computer readable storage medium, the computer instructions being read from the computer readable storage medium by a processor of a computer device, the computer instructions being executed by the processor to cause the computer device to perform the frame rate control method of any one of claims 1 to 5 or the frame rate control method of any one of claims 6 to 7.
CN202110327799.5A 2021-03-26 2021-03-26 Frame rate control method and device Active CN113117326B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110327799.5A CN113117326B (en) 2021-03-26 2021-03-26 Frame rate control method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110327799.5A CN113117326B (en) 2021-03-26 2021-03-26 Frame rate control method and device

Publications (2)

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

Family

ID=76773946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110327799.5A Active CN113117326B (en) 2021-03-26 2021-03-26 Frame rate control method and device

Country Status (1)

Country Link
CN (1) CN113117326B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113750527B (en) * 2021-09-10 2023-09-01 福建天晴数码有限公司 High-accuracy frame rate control method and system thereof
CN113891153A (en) * 2021-09-30 2022-01-04 杭州雾联科技有限公司 Cloud game streaming processing method, device and medium
CN115665482B (en) * 2022-11-09 2023-06-30 腾讯科技(深圳)有限公司 Video rendering method, device, computer equipment and storage medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110289073A1 (en) * 2010-05-18 2011-11-24 Rovi Technologies Corporation Generating browsing hierarchies
CN105763919A (en) * 2016-04-14 2016-07-13 福州瑞芯微电子股份有限公司 Method and device for display and video synchronization
US10594901B2 (en) * 2017-11-17 2020-03-17 Ati Technologies Ulc Game engine application direct to video encoder rendering
CN109379624B (en) * 2018-11-27 2021-03-02 Oppo广东移动通信有限公司 Video processing method and device, electronic equipment and storage medium
CN111045816B (en) * 2019-11-06 2021-07-16 腾讯科技(深圳)有限公司 Performance optimization method and related device
CN111882626B (en) * 2020-08-06 2023-07-14 腾讯科技(深圳)有限公司 Image processing method, device, server and medium
CN117331427A (en) * 2020-11-09 2024-01-02 腾讯科技(深圳)有限公司 Frame rate adjustment method, device, equipment and computer readable storage medium

Also Published As

Publication number Publication date
CN113117326A (en) 2021-07-16

Similar Documents

Publication Publication Date Title
CN111544886B (en) Picture display method and related device
CN113117326B (en) Frame rate control method and device
CN109347722B (en) Interaction system, method, client and background server
US20230215076A1 (en) Image frame display method, apparatus, device, storage medium, and program product
CN110418207B (en) Information processing method, device and storage medium
CN111866433B (en) Video source switching method, video source playing method, video source switching device, video source playing device, video source equipment and storage medium
CN110248245B (en) Video positioning method and device, mobile terminal and storage medium
CN108306851B (en) Information acquisition method, information providing method, information acquisition device, information providing device and information acquisition system
CN113313804B (en) Image rendering method and device, electronic equipment and storage medium
CA2856620A1 (en) Adaptive content delivery
CN115345464A (en) Service order dispatching method and device, computer equipment and storage medium
CN109474833B (en) Network live broadcast method, related device and system
CN110300047B (en) Animation playing method and device and storage medium
CN111857515B (en) Image processing method, device, storage medium and electronic equipment
CN110604921B (en) Display content switching method, server and storable medium
US20220239920A1 (en) Video processing method, related apparatus, storage medium, and program product
CN115623268A (en) Interaction method, device, equipment and storage medium based on virtual space
CN110209924B (en) Recommendation parameter acquisition method, device, server and storage medium
CN116962757B (en) Video code rate grade determining method and device, electronic equipment and storage medium
CN113094577B (en) Information display method, related equipment and storage medium
CN113220405B (en) Message interaction method and related device
CN115002059B (en) Information processing method, information processing device, computer readable storage medium and computer equipment
CN110047076B (en) Image information processing method and device and storage medium
CN117202146A (en) Display control method, device and medium for NFC passive display equipment
CN109003313B (en) Method, device and system for transmitting webpage picture

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