Data processing method and apparatus, electronic device, computer program product, and computer-readable storage medium
By dynamically adjusting the server refresh frequency, the problem of uneven intensity in shooting games is solved based on the game mode and game feature information, and the balance between server performance optimization and player experience is achieved.
Patent Information
- Application Number
- PCT/CN2024/088215
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-15
- Filing Date
- 2024-04-17
- Publication Date
- 2024-12-19
AI Technical Summary
Due to the different game resources, modes and player styles in shooting games, the distribution of each game is uneven in intensity, which makes it impossible to balance the player experience and server load. The existing technology cannot effectively adjust the server refresh frequency. .
By obtaining game mode and current game feature information, dynamically adjust the server refresh frequency, configure the benchmark refresh frequency according to game mode, and make flexibly adjust according to game stage and attribute information in game game.
It realizes the reduction of server load and consumption while ensuring player experience, optimizes server performance, and balances player experience and server load.
Smart Images

Figure CN2024088215_19122024_PF_FP_ABST
Abstract
Description
Data processing method, device, electronic device, computer program product, and computer-readable storage medium
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application is based on the Chinese patent application with application number 202310714876.1 and application date June 15, 2023, and claims the priority of the above Chinese patent application. The entire content of the above Chinese patent application is hereby introduced into this application as a reference. Technical Field
[0003] The present application relates to the field of computer technology, and in particular to a data processing method, device, electronic device, computer program product, and computer-readable storage medium. Background Art
[0004] In shooting games, players are often in a high frequency of exchanges of fire, so the frame rate needs to be maintained at a high level. These games do not limit the server refresh rate, and usually complete a single game at a fixed frequency, which also puts greater pressure on the server.
[0005] However, due to differences in game resources, game modes, and player styles, the intensity of each game is often uneven. This characteristic is largely dependent on the play style of each player. Therefore, whether using a higher or lower frame rate for the entire game cannot achieve a good balance between player experience and server load.
[0006] Summary of the Invention
[0007] Embodiments of the present application provide a data processing method, apparatus, electronic device, computer program product, and computer-readable storage medium, which can allocate a corresponding baseline refresh frequency according to the game mode and dynamically adjust the server refresh frequency during a game.
[0008] The technical solution of the embodiment of the present application is implemented as follows:
[0009] An embodiment of the present application provides a data processing method, applied to an electronic device, the method comprising:
[0010] In response to the client entering a game match, obtaining a game mode for the current game match and determining a baseline refresh rate corresponding to the game mode;
[0011] Obtaining current game feature information of the game game, and determining a current game stage of the game game based on the current game feature information;
[0012] Determining a target refresh frequency corresponding to the current game phase based on the current game phase and the benchmark refresh frequency;
[0013] The game data between the server and the client is refreshed according to the target refresh frequency.
[0014] An embodiment of the present application provides a data processing device, the device comprising:
[0015] A first determination module is configured to, in response to a client entering a game session, obtain a game mode of the current game session and determine a reference refresh rate corresponding to the game mode;
[0016] a second determination module configured to obtain current game feature information of the game game, and determine a current game stage of the game game based on the current game feature information;
[0017] a third determining module configured to determine a target refresh frequency corresponding to the current game stage based on the current game stage and the reference refresh frequency;
[0018] The data refresh module is configured to execute game data refresh between the server and the client according to the target refresh frequency.
[0019] An embodiment of the present application provides an electronic device, comprising:
[0020] a memory for storing computer-executable instructions;
[0021] The processor is used to implement the data processing method provided in the embodiment of the present application when executing the computer-executable instructions stored in the memory.
[0022] An embodiment of the present application provides a computer-readable storage medium storing computer-executable instructions or a computer program. When the computer-executable instructions or the computer program are executed by a processor, the data processing method provided in the embodiment of the present application is implemented.
[0023] An embodiment of the present application provides a computer program product, including computer-executable instructions or a computer program, which, when executed by a processor, implements the data processing method provided in the embodiment of the present application.
[0024] The embodiments of the present application have the following beneficial effects: on the one hand, the embodiments of the present application configure a corresponding benchmark refresh frequency for each game mode. After the game starts, the benchmark refresh frequency of the current game is obtained based on the game mode of the game, thereby providing a reference standard for the normal operation of the game; on the other hand, the benchmark refresh frequency is dynamically adjusted according to the game feature information within the game, thereby determining the target refresh frequency of the game in different game stages. While ensuring the player's gaming experience, it can also reduce server load and consumption, achieving a balance between server performance optimization and player experience improvement. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] FIG1 is a schematic diagram of the architecture of a data processing system 100 provided in an embodiment of the present application;
[0026] FIG2 is a schematic diagram of the structure of a server 200 provided in an embodiment of the present application;
[0027] FIG3A is a flow chart of a data processing method according to an embodiment of the present application;
[0028] FIG3B is a schematic diagram of an implementation flow of determining a reference refresh rate corresponding to a game mode according to an embodiment of the present application;
[0029] FIG3C is a schematic diagram of another implementation flow of determining a reference refresh rate corresponding to a game mode according to an embodiment of the present application;
[0030] FIG3D is a schematic diagram of another implementation flow of determining a reference refresh rate corresponding to a game mode according to an embodiment of the present application;
[0031] FIG3E is a schematic diagram of an implementation flow of determining a target refresh frequency corresponding to the current game stage based on the current game stage and the reference refresh frequency, provided by an embodiment of the present application;
[0032] FIG4 is a schematic diagram of a processing flow of the data processing method provided in an embodiment of the present application when applied to a shooting game. DETAILED DESCRIPTION
[0033] In order to make the purpose, technical solutions and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limiting this application. All other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.
[0034] In the following description, reference is made to “some embodiments”, which describes a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0035] In the following description, the terms "first / second / third" involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It is understandable that "first / second / third" can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.
[0036] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program that has a predetermined function and works together with other related parts to achieve a predetermined goal, and can be fully or partially implemented by using software, hardware (such as processing circuits or memories) or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the function of the module or unit.
[0037] Unless otherwise defined, all technical and scientific terms used in the embodiments of the present application have the same meanings as those commonly understood by those skilled in the art. The terms used in the embodiments of the present application are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application.
[0038] Before further describing the embodiments of the present application in detail, the nouns and terms involved in the embodiments of the present application are explained. The nouns and terms involved in the embodiments of the present application are subject to the following interpretations.
[0039] 1) Unreal Engine 4 (UE4): A game engine primarily designed for first-person shooters, but now successfully used in a variety of game genres, including stealth, fighting, and role-playing games.
[0040] 2) Dedicated Server (DS): DS is the server side of UE4 games. Its role is to make various decisions in UE4 games, including all master control states, handling client connections, moving to new maps, and handling the overall game flow when the game starts / ends. It is an important part of UE4 multiplayer games.
[0041] 3) Dedicated Server Agent (DSA): DSA is the proxy server of DS. Its function is to manage DS on the server and serve as a bridge between DS and other game logic services.
[0042] 4) Tick Rate: Also known as "server refresh rate," "server frame rate," "DS refresh rate," "DS frame rate," or "frame rate," it is the number of times the server performs polling per second. For example, it measures the number of times the server receives and calculates game operation data from the player client, or the frequency with which the server uses client information to update data.
[0043] 5) Game modes refer to the different gameplay methods or game rules designed in video games, which allow players to experience different game styles and challenges. Different game modes usually bring different gaming experiences and fun to players. The following are some common game modes:
[0044] (1) Single Player Mode: Players play the game alone, competing against AI opponents or fixed environments. Players can complete the game independently according to the game's plot or missions.
[0045] (2) Cooperative Multiplayer Mode: Players collaborate with other players to solve in-game puzzles or complete tasks. Players must work together and assist each other to win the game.
[0046] (3) Competitive Multiplayer Mode: Players compete against other players to determine the winner. This mode typically includes competitive games (such as shooting games, fighting games, etc.) and racing games.
[0047] (4) Survival Mode: Players must survive in a hostile environment, typically managing resources, fighting enemies, and maintaining health. Survival Mode typically tests the player's endurance, strategy, and reflexes.
[0048] (5) Time Attack Mode: Players need to complete specific tasks or challenges within a specified time, usually with the goal of defeating the opponent or reaching the finish line as quickly as possible.
[0049] Different game modes can provide players with a diverse gaming experience, meeting the preferences and needs of different player groups. Players can choose the game mode that suits them according to their interests to enjoy the game fun.
[0050] 6) Baseline refresh rate: This is a standard or recommended refresh rate set to ensure proper operation and user experience. In the gaming field, the baseline refresh rate can refer to the number of times per second that a game engine or server polls. In short, the baseline refresh rate is a reference standard used to ensure that gaming applications can run at a predetermined performance level. It can help developers optimize code and serve as an important indicator of user experience quality.
[0051] In related technologies, the same game has relatively few game modes, and the server load is relatively consistent across different game modes. There's typically no separate configuration for server refresh rates (DS frame rates) for different game modes, nor is there flexible adjustment for the frame rate within a single game. Instead, the game maintains a stable data refresh level throughout the entire game. For example, in shooter games, players often engage in high-frequency exchanges, requiring a high frame rate. These games don't impose limits on server refresh rates, and typically complete a single game at a fixed rate, which places even greater pressure on the server.
[0052] However, due to variations in map resources, game modes, and player play styles, each game has varying player counts, player density, and resource density. Furthermore, the intensity of the game varies across different stages within the same game. Therefore, whether using a higher or lower frame rate for the entire game, it's difficult to achieve a balance between player experience and server load.
[0053] The embodiments of the present application provide a data processing method, device, electronic device, computer program product and computer-readable storage medium, which can dynamically adjust the server refresh frequency based on the game mode and the real-time status of the game. During the game, the frequency can be adjusted in real time according to the game status, so as to better utilize the server resources. The following describes an exemplary application of the electronic device provided by the embodiment of the present application. The electronic device provided by the embodiment of the present application can be implemented as a server, wherein the server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content distribution networks (CDN, Content Delivery Network), and basic cloud computing services such as big data and artificial intelligence platforms. The following describes an exemplary application when the electronic device is implemented as a server.
[0054] Referring to Figure 1, Figure 1 is a schematic diagram of the architecture of a data processing system 100 provided in an embodiment of the present application. This embodiment of the present application uses the data processing method applied to a gaming application as an example for illustration. In this embodiment of the present application, the data processing system 100 includes at least a server 200, a network 300, and terminals (terminals 400-1 and 400-2 are shown as examples). The server 200 may be a standalone server (DS), which may constitute the electronic device of the embodiment of the present application.
[0055] The terminal is connected to the server 200 via a network 300, which can be a wide area network or a local area network, or a combination of the two. Each terminal runs a client (exemplarily showing client 410-1 on terminal 400-1 and client 410-2 on terminal 400-2), such as a game client, i.e., a game library client user end, which is the other end relative to the game server end running on the server 200. It can be understood that the server end serves the game database and is responsible for game logic, transfer data, etc., while the client end is a game data user end and is responsible for displaying and running the game, etc. In the embodiment of the present application, one or more clients of the same game each enter the game round in response to player operation. In response to each client entering a game match, the server 200 obtains the game mode of the current game match and determines a baseline refresh frequency corresponding to the game mode; obtains current match feature information of the game match, and determines the current match stage of the game match based on the current match feature information; determines a target refresh frequency corresponding to the current match stage based on the current match stage and the baseline refresh frequency; and executes game data refresh between the server and the client according to the target refresh frequency.
[0056] In some embodiments, the server 200 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The terminal can be a smart phone, tablet computer, laptop computer, desktop computer, smart speaker, smart watch, car terminal, etc., but is not limited to this. The terminal and the server can be directly or indirectly connected via wired or wireless communication, which is not limited in the embodiments of the present application.
[0057] Referring to FIG. 2 , FIG. 2 is a schematic diagram of the structure of a server 200 provided in an embodiment of the present application. The server 200 shown in FIG. 2 includes: at least one processor 210, a memory 240, and at least one network interface 220. The various components in the electronic device are coupled together via a bus system 230. It is understood that the bus system 230 is used to implement connection and communication between these components. In addition to the data bus, the bus system 230 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, in FIG. 2 , all various buses are labeled as the bus system 230.
[0058] The processor 210 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., where the general-purpose processor can be a microprocessor or any conventional processor, etc.
[0059] The memory 240 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard disk drives, optical disk drives, and the like. The memory 240 may optionally include one or more storage devices physically located away from the processor 210. The memory 240 includes a volatile memory or a non-volatile memory, and may also include both volatile and non-volatile memories. The non-volatile memory may be a read-only memory (ROM), and the volatile memory may be a random access memory (RAM). The memory 240 described in the embodiments of the present application is intended to include any suitable type of memory. In some embodiments, the memory 240 is capable of storing data to support various operations, examples of which include programs, modules, and data structures, or subsets or supersets thereof, as exemplarily described below.
[0060] The network communication module 241 is used to reach other electronic devices via one or more (wired or wireless) network interfaces 220. Exemplary network interfaces 220 include Bluetooth, Wireless LAN (WiFi), and Universal Serial Bus (USB).
[0061] In some embodiments, the data processing device provided in the embodiments of the present application can be implemented in software. FIG2 shows a data processing device 242 stored in a memory 240. The data processing device 242 can be software in the form of a program or plug-in, and includes the following software modules: a first determination module 2421, a second determination module 2422, a third determination module 2423, and a data refresh module 2424. These modules are logical and can be arbitrarily combined or further separated according to the functions implemented. The functions of each module will be described below.
[0062] In other embodiments, the apparatus provided in the embodiments of the present application may be implemented in hardware. As an example, the apparatus provided in the embodiments of the present application may be a processor in the form of a hardware decoding processor, which is programmed to execute the data processing method provided in the embodiments of the present application. For example, the processor in the form of a hardware decoding processor may be one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), or other electronic components.
[0063] In some embodiments, the server can implement the data processing method provided in the embodiments of the present application by running various computer-executable instructions or computer programs. For example, the computer-executable instructions can be microprogram-level commands, machine instructions, or software instructions. In general, the above-mentioned computer-executable instructions can be instructions in any form, and the above-mentioned computer program can be an application, module, or plug-in in any form.
[0064] The following describes the data processing method provided by the embodiment of the present application. As mentioned above, the electronic device that implements the data processing method of the embodiment of the present application may be a server. Therefore, the execution entity of each step will not be repeatedly described below.
[0065] Refer to Figure 3A, which is a flow chart of the data processing method provided in an embodiment of the present application, and will be explained in conjunction with the steps shown in Figure 3A.
[0066] In step 101, in response to the client entering a game session, a game mode of the game session is obtained, and a reference refresh frequency corresponding to the game mode is determined.
[0067] As an example of step 101, obtaining the game mode of the game match may include: the server determining the game mode of the current game match based on a connection request sent by the client, wherein the connection request is used to at least establish a data connection between the server and the client. For example, in response to a player operation, the client initiates a game match and sends a connection request to the server, wherein the connection request may include game mode information, such as game mode identification information; the server responds to the connection request, determines the game mode of the current game match based on the game mode information in the connection request, and sends game information of the current game match, such as a game map, to the client; the client loads the game based on the game information for the player to operate.
[0068] In an embodiment of the present application, after a client enters a game match in response to a player's operation, the server (or DS) obtains the game mode of the current game match. The game mode refers to the mode that players can select in the game. These modes can be, for example, single-player, multiplayer, or multiplayer online, as well as challenges, competitions, or informal games. Game modes are often closely linked to game design or game mechanics, allowing players to have a unique and interactive experience within the game. For example, game modes can be divided according to gameplay, with different game modes offering different gameplay styles, such as training mode or competitive mode, single-player mode or multiplayer mode, etc. Game modes can also be divided according to game scenes, such as farm, valley, mountain, fortress, etc., each of which has different tactical styles. It can be understood that game mode is an important factor in the gaming experience. Players can choose the mode that best suits them from different game modes to better enjoy the game.
[0069] In an embodiment of the present application, the refresh frequency may also be referred to as "server frame rate", "frame rate" or "DS frame rate", which refers to the server polling frequency. For example, the server polls 60 times per second, that is, the server receives the game data sent by the client and processes it 60 times per second.
[0070] It should be noted that the server refresh rate does not directly affect the player's experience on the client side. Most of the time, players cannot feel the high or low server refresh rate. When encountering a confrontation scenario, such as the process of players peeking out from behind cover and shooting in a shooting game: Player A is behind cover, Player B is in the center of the room, and Player A pokes out of cover at this time. This process or action needs to go through the following process to be reflected on Player B's client: Player A's client peeks out, the server executes the peeking out command, and the server sends the action to Player B's client. The server refresh rate affects this process, from the time the server receives the command to the time the server synchronizes it to other clients. The higher the refresh rate, the shorter the time required. By increasing the refresh rate, the time from when Player A enters the peeking out command to when Player B sees Player A's peeking out action can be reduced, thereby reducing data latency and improving the player experience.
[0071] In general, a DS with a high refresh rate can provide players with a lower latency experience. However, a high frame rate DS also means higher CPU (Central Processing Unit) overhead. The data processing solution of the embodiment of the application can balance these two factors to find a refresh rate setting suitable for different game modes and stages.
[0072] In some embodiments, the game application may provide multiple game modes for players to choose from, and each game mode may have unique identification information, such as a mode code, to distinguish different game modes selected by players.
[0073] In some embodiments, determining the baseline refresh rate corresponding to the game mode in step 101 may include: the server determining the baseline refresh rate corresponding to the game mode of the current game match based on a pre-acquired association between various game modes and baseline refresh rates. The association may be determined based on the server load or game intensity corresponding to the game mode. In some embodiments, the association may include identification information corresponding to various game modes and the baseline refresh rate corresponding to each identification information.
[0074] As an example, the benchmark refresh frequency may include a first benchmark refresh frequency and a second benchmark refresh frequency, wherein the first benchmark refresh frequency is lower than the second benchmark refresh frequency. The association relationship may include each game mode and the first benchmark refresh frequency corresponding to the first type of mode, and each game mode and the second benchmark refresh frequency corresponding to the second type of mode. The first type of mode may, for example, be a game mode with a higher server load requirement than the second type of mode, or a game mode with a higher game intensity than the second type of mode.
[0075] Exemplarily, the game modes can be divided into the first type of mode and the second type of mode based on the basic type of the game mode, the entry threshold, the player level or the specificity of the mode. For example, when the game modes are divided into the first type of mode and the second type of mode based on the basic type of the mode of a single game, exemplarily, the first type of mode can be the novice mode, which generally only supports one team to enter the game, and the game usually does not involve a high-strength team fighting scene, and the game is less intense. The first type of mode can be set to use a lower first benchmark refresh frequency, and the second type of mode can be the skilled mode, which can support at least two teams to enter the game, and fierce conflicts may occur in the game. The second type of mode can be set to use a second benchmark refresh frequency that is greater than the first benchmark refresh frequency; when the game modes are divided into the first type of mode and the second type of mode based on the entry threshold setting, the game mode can be divided into the first type of mode that requires the value of equipment brought in to be lower than the first value threshold, or requires the value of materials brought in to be lower than the second value threshold. mode, and a second mode that requires the value of equipment brought in to be higher than the first value threshold, or that requires the value of supplies brought in to be higher than the second value threshold. For example, in some game modes, the value of equipment brought in must meet certain requirements (that is, the value of equipment brought in must be higher than the first value threshold), or specified high-value supplies must be brought in (that is, the value of supplies brought in must be higher than the second value threshold). Due to the designed access mechanism, the game intensity will be higher than that of the regular mode, and the player's requirements for the game experience will also change accordingly. Therefore, it is possible to consider setting the baseline refresh frequency of this type of mode (that is, the second type of mode) to the second baseline refresh frequency; when dividing game modes into the first and second types of modes based on player level, game modes with an average player rank lower than or equal to the rank threshold can be classified as the first type of mode, and game modes with an average player rank higher than the rank threshold can be classified as the second type of mode. For the second type of mode played by high-level players, such as high-end games, these players are more sensitive to game delays, have more complex operations, and have higher requirements for server refresh rates. Therefore, it is considered to set the second type of mode to use the second benchmark refresh rate; in addition, for certain special game modes, such as a game mode that supports multiple players and multiple AI players at the same time, which puts a large load on the server, in order to ensure the normal progress of a single game, the game mode can be set to use the first benchmark refresh rate.
[0076] It should be noted that, in this embodiment, the first category of modes or the second category of modes may include multiple specific game modes. For example, the first category of modes may include game modes corresponding to the novice mode, game modes with no or low player entry requirements, game modes with low player levels, etc. The second category of modes may include game modes corresponding to the non-novice mode, game modes with high player entry requirements, game modes with high player levels, game modes that support multiple players and multiple artificial intelligence (AI, Artificial Intelligence) players at the same time, etc. It can be understood that, when the base refresh frequency may include the first base refresh frequency and the second base refresh frequency, the first category of modes is only used to refer to all game modes that use the first base refresh frequency, and the second category of modes is only used to refer to all game modes that use the second base refresh frequency. Similarly, when the base refresh frequency may include more than two refresh frequencies, the corresponding game modes may also be divided into more than two types of modes, and each category of modes may include multiple specific game modes.
[0077] In some embodiments, referring to FIG. 3B , “determining the baseline refresh rate corresponding to the game mode” in step 101 shown in FIG. 3A can be implemented by following steps 1011A to 1013A, which are described in detail below.
[0078] In step 1011A, a pre-stored correspondence table between game modes and refresh frequencies is obtained, wherein the correspondence table includes reference refresh frequencies corresponding to various game modes.
[0079] In some embodiments, the server retrieves a pre-stored correspondence table, wherein the reference refresh rates corresponding to various game modes in the correspondence table may be pre-determined based on the server load or game intensity corresponding to each game mode. The server load may be estimated or statistically determined based on test data for the game mode, and the game intensity may be determined based on the design expectations of the game mode.
[0080] As an example, the reference refresh frequency may include a first reference refresh frequency and a second reference refresh frequency, wherein the first reference refresh frequency is lower than the second reference refresh frequency. In some embodiments, in the correspondence table, if the server load corresponding to the game mode is higher than a first preset threshold, the reference refresh frequency corresponding to the game mode is the first reference refresh frequency; if the server load corresponding to the game mode is lower than or equal to the first preset threshold, the reference refresh frequency corresponding to the game mode is the second reference refresh frequency, and the first preset threshold is the server load threshold; or, if the game intensity corresponding to the game mode is higher than a second preset threshold, the reference refresh frequency corresponding to the game mode is the second reference refresh frequency; if the game intensity corresponding to the game mode is lower than or equal to the second preset threshold, the reference refresh frequency corresponding to the game mode is the first reference refresh frequency, and the second preset threshold is the game intensity threshold.
[0081] Exemplarily, in the correspondence table, the reference refresh frequency of each game mode corresponding to the novice mode, no or low entry threshold requirements, or low player level is the first reference refresh frequency, and the reference refresh frequency of each game mode corresponding to the non-novice mode, high entry threshold requirements, high player level, or support for multiple players and multiple AI players is the second reference refresh frequency.
[0082] In some embodiments, the correspondence table may include identification information corresponding to each of a plurality of game modes and a reference refresh frequency corresponding to the identification information. In some embodiments, the identification information may be, for example, a mode code.
[0083] In step 1012A, a reference refresh frequency corresponding to the game mode of the game match is obtained from the correspondence table.
[0084] Through steps 1011A and 1012A, the embodiment of the present application can configure appropriate baseline refresh frequencies for different game modes, thereby achieving reasonable allocation of server resources. When a player enters a game match through a client, the server can quickly determine the baseline refresh frequency based on the game mode initiated by the player, thereby improving data processing efficiency.
[0085] In step 1013A, when the reference refresh frequency is within a preset candidate refresh frequency range, the reference refresh frequency is determined as the base refresh frequency corresponding to the game mode.
[0086] In this embodiment, the candidate refresh frequency range is a safe frame rate range to ensure the operation of the game, and is used to perform a security check on the reference refresh frequency in the correspondence table. The candidate refresh frequency range can be a continuous numerical interval. For example, the candidate refresh frequency range can be [30, 120]. If the reference refresh frequency is within the numerical interval [30, 120], assuming that the reference refresh frequency is 75, then the reference refresh frequency is determined as the baseline refresh frequency corresponding to the game mode. In some embodiments, the candidate refresh frequency range can also be a numerical set consisting of multiple discrete numerical values. For example, the candidate refresh frequency range can be {30, 60, 90, 120}. Assuming that the reference refresh frequency is 75, it is confirmed that the reference refresh frequency is not within the candidate refresh frequency range.
[0087] In some embodiments, the candidate refresh frequency range may be obtained in advance based on stress test data.
[0088] Through step 1013A, only when the reference refresh frequency in the correspondence table is within the candidate refresh frequency range, the corresponding benchmark refresh frequency is configured according to the reference refresh frequency in the correspondence table, thereby reducing the probability of operation errors.
[0089] In some embodiments, referring to FIG. 3C , after step 1013A shown in FIG. 3B , steps 1014A to 1015A may be further performed, as described in detail below.
[0090] In step 1014A, when the reference refresh frequency is not within the preset candidate refresh frequency range, a default refresh frequency is obtained.
[0091] The default refresh rate refers to a pre-configured refresh rate that ensures the normal operation of the game. In some embodiments, the default refresh rate can be predetermined based on stress test data. For example, the default refresh rate can be 60 times per second.
[0092] In step 1015A, the default refresh rate is determined as the base refresh rate corresponding to the game mode.
[0093] Through steps 1014A and 1015A, when the reference refresh frequency in the correspondence table is not within the candidate refresh frequency range, the corresponding benchmark refresh frequency is configured according to the default refresh frequency to prevent game operation errors caused by malicious tampering of the correspondence table.
[0094] In some embodiments, referring to FIG. 3D , “determining the baseline refresh rate corresponding to the game mode” in step 101 shown in FIG. 3A can be implemented by following steps 1011B to 1012B, which are described in detail below.
[0095] In step 1011B, frequency configuration information sent by the proxy server is obtained, where the frequency configuration information at least includes a refresh frequency corresponding to the game mode.
[0096] In this embodiment, the server obtains frequency configuration information sent by the proxy server. The proxy server is used to manage each independent server on the server and can send frequency configuration information to the independent server to configure the refresh frequency of the independent server through the startup parameters of the independent server when starting the independent server.
[0097] In some embodiments, the frequency configuration information includes at least identification information corresponding to the game mode and a refresh frequency corresponding to the game mode. The identification information may be, for example, a mode code.
[0098] In step 1012B, the refresh frequency included in the frequency configuration information is determined as the base refresh frequency corresponding to the game mode.
[0099] In some embodiments, when the reference refresh frequency corresponding to the game mode obtained from the correspondence table through step 1012A is inconsistent with the refresh frequency corresponding to the game mode included in the frequency configuration information obtained through step 1011B, the refresh frequency corresponding to the game mode included in the frequency configuration information is determined as the benchmark refresh frequency corresponding to the game mode.
[0100] As an example of step 1012B, when the refresh frequency corresponding to the game mode included in the frequency configuration information is within a pre-set candidate refresh frequency range, the refresh frequency included in the frequency configuration information is determined as the benchmark refresh frequency corresponding to the game mode; when the refresh frequency corresponding to the game mode included in the frequency configuration information is not within the pre-set candidate refresh frequency range, the default refresh frequency is obtained, and the default refresh frequency is determined as the benchmark refresh frequency corresponding to the game mode.
[0101] Through steps 1011B and 1012B, this embodiment can solve the problem that the correspondence table must be stored in advance and is not timely. For example, in an emergency situation where the refresh frequency of a certain game mode needs to be modified immediately, the frequency configuration information sent by the proxy server can be used to specify the baseline refresh frequency of the game mode in the form of server startup parameters, which makes the configuration method more flexible.
[0102] 3A , the description continues with step 102 above.
[0103] In step 102, current game feature information of the game game is obtained, and based on the current game feature information, the current game stage of the game game is determined.
[0104] In this embodiment, the current game feature information may be feature information of each game stage determined according to the game design logic, which may be used to reflect the game stage. For example, for a shooting game, in the game stage before the game starts, it is necessary to first load the game map and wait for the player to enter the map. The game feature information of this stage may include information indicating resource loading, players not entering the map, etc.; in the game, the game officially begins after all player resources are loaded. The game feature information of this stage may include information indicating resource loading completion, players entering the map, etc.; in the game settlement stage after the game is completed, all players exit and there are no players on the map. The game feature information of this stage may include information indicating that the number of players in the game is zero, etc.
[0105] In some embodiments, the current game feature information of the game can be obtained based on the interaction data between the server and the client during the game operation. Step 102 can be implemented in the following manner: the server receives a data request sent by the client, the data request is used to request game data, and the current game stage of the game is determined according to the data request, for example, it is used to request to establish a connection to load game resources or request a map data packet. In this case, the server can determine that the current game stage is the game stage before the game starts; or, the server receives a data packet sent by the client, the data packet may include player operation information, and the current game stage of the game is determined according to the data packet. For example, the data packet may include operation information of the player entering the map. In this case, the server can determine that the current game stage is the game stage in progress, or the data includes operation information of the player exiting the game. In this case, the server can determine that the current game stage is the game stage after the game is completed.
[0106] In some embodiments, the current game feature information includes at least current game status flag information. Determining the current game stage of the game game based on the current game feature information in step 102 may include: when the current game status flag information is first flag information indicating that the game game has not started, determining that the current game stage of the game game is the first game stage; when the current game status flag information is second flag information indicating that the game game is in progress, determining that the current game stage of the game game is the second game stage; when the current game status flag information is third flag information indicating that the game game has ended, determining that the current game stage of the game game is the third game stage.
[0107] As an example, the first flag information is used to indicate that the game match is in the first match phase, and may include, for example, information indicating that game resources are being loaded and that the player has not yet entered the game map. The second flag information is used to indicate that the game match is in the second match phase, and may include, for example, information indicating that game resources have been loaded and that the player has entered the game map. The third flag information is used to indicate that the game match is in the third match phase, and may include, for example, information indicating that all players have left the game map and that the game has begun liquidation.
[0108] Through step 102, this embodiment reasonably divides the game phases of a single game, making it easy to configure different server refresh frequencies for different game phases, thereby optimizing server performance and improving player experience.
[0109] 3A , the description continues with step 103 above.
[0110] In step 103, based on the current game stage and the reference refresh frequency, a target refresh frequency corresponding to the current game stage is determined.
[0111] In an embodiment of the present application, the server can adjust the benchmark refresh frequency according to the game stage, determine the target refresh frequency corresponding to different game stages of the game, and thus flexibly adjust the server refresh frequency within the game to achieve server performance optimization and improve player experience.
[0112] In some embodiments, referring to FIG. 3E , step 103 shown in FIG. 3A may be implemented by following steps 1031 to 1033 , which are described in detail below.
[0113] In step 1031, when the current game stage is the first game stage or the third game stage, the product of the first proportional coefficient and the reference refresh frequency is determined as the target refresh frequency corresponding to the current game stage, and the first proportional coefficient is a real number greater than 0 and less than 1.
[0114] In this embodiment, the first game stage is the game stage before the game starts, and the third game stage is the game stage after the game ends. The first proportional coefficient is used to reduce the server refresh frequency of the first game stage or the third game stage based on the baseline refresh frequency. The first proportional coefficient can be pre-set.
[0115] In some embodiments, the first proportional coefficient corresponding to the first game stage may be the same as or different from the first proportional coefficient corresponding to the third game stage.
[0116] In step 1032, when the current game stage is the second game stage, game attribute information is obtained.
[0117] In an embodiment of the present application, the second game stage is the game stage in which the player is playing the game, and the game attribute information can be used to characterize the player's game status, and may include information that affects the server load and / or game intensity in the game, for example, it may include the number of players, the number of player teams, whether the players are fighting, player equipment attributes, player level, player rank, and other information.
[0118] In some embodiments, the server can obtain game attribute information based on data packets sent by each client in the same game. For example, the server can determine the number of players and the number of player teams based on the number of clients sending data packets, and determine whether players are engaged in a battle based on player operation information in the data packets.
[0119] In step 1033, a target refresh frequency corresponding to the current game stage is determined based on the reference refresh frequency and the game attribute information.
[0120] In an embodiment of the present application, the server adjusts the reference refresh frequency according to the game attribute information to obtain the target refresh frequency corresponding to the current game stage.
[0121] Through steps 1031 to 1033, this embodiment configures corresponding server refresh frequencies for different game stages according to the divided game stages within the game, taking into account both the player's gaming experience and server load balancing, thereby achieving server performance optimization while ensuring the player's gaming experience.
[0122] In some embodiments, step 1033 may include: when the number of teams is less than a preset number threshold, determining the target refresh frequency based on a second proportional coefficient and the benchmark refresh frequency, the second proportional coefficient being a real number greater than 0 and less than 1; when the number of teams is greater than or equal to the number threshold, determining the benchmark refresh frequency as the target refresh frequency.
[0123] In this embodiment, the second proportional coefficient is used to reduce the server refresh rate during the second game phase based on the baseline refresh rate. The second proportional coefficient can be pre-set. It will be understood that the second game phase is the stage of the game during which players are currently playing. During this second game phase, only when the number of player teams falls below a preset threshold is the game considered to have entered an endgame or low-intensity state, and the server refresh rate is reduced. In all other cases, the baseline refresh rate is used.
[0124] In some embodiments, determining the target refresh frequency based on the second proportional coefficient and the reference refresh frequency may include: determining a product of the second proportional coefficient and the reference refresh frequency as the target refresh frequency.
[0125] In some embodiments, the second scaling factor may be the same as or different from the first scaling factor.
[0126] As an example, the game attribute information may also include player rank information. When the number of teams is less than a preset number threshold, the target refresh frequency is determined based on the second proportional coefficient and the benchmark refresh frequency. This may include: when the number of teams is less than the preset number threshold, obtaining the player rank information; when the player rank information is lower than the preset rank threshold, multiplying the second proportional coefficient and the benchmark refresh frequency as the target refresh frequency; when the player rank information is higher than or equal to the rank threshold, determining the benchmark refresh frequency as the target refresh frequency.
[0127] In this embodiment, in addition to adjusting the refresh frequency based on the number of player teams, the player rank information is also taken into consideration during the second game stage. Only when the number of player teams is less than a preset threshold and the player rank information is lower than a preset threshold is the server refresh frequency reduced according to the second proportional coefficient. In all other cases, the base refresh frequency is used.
[0128] Through step 1033, this embodiment ensures the game experience of players in fierce confrontation, while the server flexibly configures the server refresh frequency in different confrontation situations within the game according to the game attribute information, thereby optimizing the server performance.
[0129] 3A , the description will continue with step 104 above.
[0130] In step 104, game data is refreshed between the server and the client according to the target refresh frequency.
[0131] It should be noted that the target refresh frequency in the embodiment of the present application is only for the server. The target refresh frequency can affect the game data refresh on the client, but is not used to specify the refresh frequency of the game data on the client side.
[0132] In some embodiments, the data processing method may also include: when the target refresh frequency is the benchmark refresh frequency, obtaining server load information at intervals of a preset duration; when the load information is greater than a preset load threshold, obtaining a third proportional coefficient, wherein the third proportional coefficient is a real number greater than 0 and less than 1; and determining the product of the third proportional coefficient and the benchmark refresh frequency as the target refresh frequency.
[0133] In this embodiment, the third proportional coefficient is used to reduce the server refresh rate based on the baseline refresh rate. The third proportional coefficient can be pre-set or determined based on the server load information. It is understood that in this embodiment, during the second match phase, current server load information can be periodically obtained. When the server load exceeds a preset load threshold, the server refresh rate is adjusted based on the third proportional coefficient, thereby achieving a balance between server load and player gaming experience and reducing server load overhead.
[0134] In some embodiments, the third proportional coefficient may be the same as or different from the first proportional coefficient and the second proportional coefficient in the aforementioned embodiments.
[0135] The following describes an exemplary application of the embodiments of the present application in a practical application scenario.
[0136] In the embodiment of the present application, the data processing method is applied to a shooting game as an example for description. It should be noted that the data processing method provided in the embodiment of the present application is also applicable to other types of games.
[0137] Currently, mainstream shooters don't limit server frame rates, typically completing a single round at a fixed frame rate. For example, in Call of Duty Mobile's popular Conquest mode, dozens of players engage in constant, high-frequency firefights, requiring a high frame rate to be maintained, which in turn places even greater pressure on the server.
[0138] This is a UE4-based shooter with large maps, numerous items, and a sophisticated gameplay experience. In some modes, there are only a few players in a single round, and the competition isn't intense. For these modes, running the server at a consistently high refresh rate is a waste of server resources. Dark Zone Breakouts also experience uneven intensity, a characteristic that depends heavily on the playstyles of different players. Therefore, whether using a higher or lower frame rate for the entire game, it's impossible to achieve a balance between player experience and server load. Furthermore, the number of players, player density, and resource density vary across maps and modes. Using the same refresh rate across all modes or the entire game doesn't provide the most efficient resource allocation for every map or mode.
[0139] Before describing the processing flow of this example, the configuration rules of the server basic frame rate (ie, the reference refresh frequency in the aforementioned embodiment) in this example are first introduced.
[0140] This example uses two configurable base frame rates as an example. Both server base frame rates are derived from stress testing data to ensure safe operation. The following describes the high base frame rate and the low base frame rate, respectively. This example first distinguishes the various game modes within the game based on the game design logic. Each game mode has its own unique characteristics, but also has commonalities.
[0141] In this example, the configuration rules primarily consider two factors: server CPU load and game intensity. Generally speaking, for game modes with higher CPU loads, the server frame rate should be adjusted to a lower frame rate to ensure usability; for game modes with higher intensity, the server frame rate should be adjusted to a higher frame rate to ensure a good gaming experience. This example configures the server's base frame rate for each game mode, primarily considering the basic single-game mode type, mode threshold, player level, and special modes.
[0142] For example, based on the basic type of single-game mode, some game modes can be determined to be novice modes. These modes only support one player team to enter, and high-strength team battles usually do not occur in the game. The game intensity is relatively low. Therefore, the basic frame rate of these novice modes can be set to a low basic frame rate.
[0143] Based on the mode threshold, some game modes have certain entry requirements, such as equipment value requirements or the carrying of designated high-value supplies. Due to this entry mechanism, the game in these modes is more intense and players have higher expectations for the gaming experience. Therefore, consider setting the base frame rate of these game modes to a high base frame rate.
[0144] Based on the player level of each mode, some game modes can be determined as high-end games played by high-level players. These players are more sensitive to game delays, have more complex operations, and place higher requirements on the server frame rate. Therefore, consider setting the base frame rate of these game modes to a high base frame rate.
[0145] Depending on the specific mode, some modes may have higher CPU load requirements. For example, a certain mode supports up to 30 players and many AI players at the same time, which puts a heavy CPU load. To ensure the normal progress of a single game, the base frame rate of these modes is set to a low base frame rate.
[0146] Therefore, the server basic frame rate corresponding to each game mode can be determined according to the above configuration rules.
[0147] See FIG4 , which is a schematic diagram of a processing flow of the data processing method provided in an embodiment of the present application when applied to a shooting game, and will be described in conjunction with the processing flow shown in FIG4 .
[0148] Before starting a standalone server, first configure the server's basic frame rate. In this example, there are two ways to configure the basic frame rate, which are described below.
[0149] First, a configuration table is used. The configuration table records the DS basic frame rates corresponding to the various game modes determined according to the aforementioned configuration rules, such as the mode identification information (mode code, etc.) and the corresponding server basic frame rate corresponding to each game mode. The server can determine the server basic frame rate corresponding to the activated game mode based on the configuration table. Referring to Figure 4, this method is essentially to convert the configuration table (such as an Excel configuration table) into a virtual engine data table (UDataTable) file format that can be directly read by UE4, such as the correspondence table between the game mode and the refresh rate pre-stored in the aforementioned embodiment, for the server to read and use.
[0150] It should be noted that due to the properties of the configuration table, the configuration table can be modified by multiple people. To ensure the normal operation of the game, a default frame rate (corresponding to the default refresh frequency in other embodiments) can be set in advance. The default frame rate may include multiple frame rate options that have been stress-tested. Only when the frame rate in the configuration table belongs to the default frame rate will the server frame rate be configured according to the configuration table. Otherwise, the default frame rate will be configured to reduce the possibility of errors.
[0151] This method will store the configuration table directly in the game package. In daily use, if you encounter an emergency and need to immediately modify the server frame rate of a certain game mode, you need to update the configuration table, so it is not timely.
[0152] The second method is to use startup parameters. Specifically, you can modify or configure the proxy server configuration file through the proxy server, in which you specify the game mode number and the corresponding server base frame rate. When starting a standalone server based on the proxy server configuration file, the server startup parameters will be directly used to control the frame rate of the standalone server. This method can override the frame rate configured using the configuration table.
[0153] It should be noted that when the server startup parameters do not belong to the default frame rate, they should be configured according to the default frame rate to reduce the possibility of errors.
[0154] After configuring the server base frame rate using the above method, you can determine the corresponding server base frame rate for each game mode, meaning that different game modes can run at different configured server base frame rates. Furthermore, after the game begins, this example dynamically adjusts the server frame rate based on in-game characteristics.
[0155] First, consider the two stages in the game when there are no players fighting against each other, namely the stage before the game starts (i.e., the first stage mentioned above) and the stage after the game ends (i.e., the third stage mentioned above). Before the game starts, there is a process of loading the map and waiting for players to join after the server is started. During this process, the server can run below the base frame rate; after the game ends, there are no players in the game, and the server will need to go through a period of settlement before it can completely exit. At this time, the server can also run below the base frame rate. For the stage of player battles (i.e., the second stage mentioned above), when all game resources are loaded, the single game officially begins. Since there is a certain degree of randomness in the player's birthplace in the game, an exchange of fire may occur immediately after the start of the game, so the server frame rate needs to be immediately adjusted from below the base frame rate to the base frame rate.
[0156] In addition, during a game, a higher frame rate can ensure the player's gaming experience in an intense confrontation. However, for games that allow any player to freely explore the game before the end of the game, there may be a period of time when only one player or one team of players is left in the game. Therefore, during the game, the server frame rate can also be dynamically adjusted according to the intensity of the game in the game. For example, under normal circumstances, the server frame rate remains stable, such as maintaining at the base frame rate, but when the number of player teams drops below a preset threshold (for example, 2), it can be determined that the game has entered an endgame or low-intensity state, and the server frame rate can be reduced to below the base frame rate. At the same time, if the number of teams increases to or above the preset threshold due to players joining the game in the middle, the frame rate will be restored to the base frame rate.
[0157] Based on the above analysis, the server can obtain the current game feature information of the game after startup, and determine the current game stage of the game based on the current game feature information. Exemplarily, the current game stage of the game can be determined as the first game stage, the second game stage or the third game stage based on the current game status flag information. The current game status flag information can be, for example, information used to determine whether to enter each game stage. For example, the server executes the first game stage of the game based on the first function, the second function and the third function respectively. Then, the current game stage can be determined as the first game stage if the operating condition of the first function is met, the current game stage can be determined as the second game stage if the operating condition of the second function is met, and the current game stage can be determined as the third game stage if the operating condition of the third function is met.
[0158] 4 , the first game phase is the phase before the game starts, and the third game phase is the phase after the game ends. At this time, the server can determine the target frame rate for the first game phase based on the product of the first proportional coefficient and the base frame rate. The first proportional coefficient is a real number greater than 0 and less than 1, which is used to limit the target frame rate to be less than the base frame rate. The second game phase is the phase during the game. After the game starts, the DS can immediately restore to the base frame rate and adjust the frame rate according to the game characteristics (i.e., the aforementioned game attribute information) during this phase. For example, the number of teams in the game is obtained. When the number of teams is less than a preset number threshold, the server can adjust the frame rate based on the second proportional coefficient and the base frame rate. The target frame rate is determined by multiplying the basic frame rates, and the second proportional coefficient is a real number greater than 0 and less than 1, so as to limit the frame rate when it is determined that the game has entered an endgame or a low-intensity state; or the player rank information is obtained, when the number of teams is less than a preset number threshold and the player team is lower than the preset rank threshold, the target frame rate is determined based on the product of the second proportional coefficient and the basic frame rate; or, the server CPU load information (not shown in Figure 4) can also be periodically obtained, and when the load information is greater than the preset load threshold, the target frame rate is determined based on the product of the third proportional coefficient and the basic frame rate, and the third proportional coefficient is a real number greater than 0 and less than 1.
[0159] As a result, the server can dynamically adjust the server frame rate based on the game mode and real-time status of the game. Through flexible configuration, the server frame rate can be dynamically adjusted during the game, while achieving server performance optimization and improving player experience.
[0160] The following further describes an exemplary structure of the data processing device 242 provided in an embodiment of the present application implemented as a software module. In some embodiments, as shown in FIG2 , the software modules stored in the data processing device 242 of the memory 240 may include:
[0161] A first determination module 2421 is configured to, in response to a client entering a game session, obtain a game mode of the game session and determine a reference refresh rate corresponding to the game mode;
[0162] A second determination module 2422 is configured to obtain current game feature information of the game game, and determine a current game stage of the game game based on the current game feature information;
[0163] A third determination module 2423 is configured to determine a target refresh frequency corresponding to the current game phase based on the current game phase and the reference refresh frequency;
[0164] The data refresh module 2424 is configured to execute game data refresh between the server and the client according to the target refresh frequency.
[0165] In some embodiments, the first determination module 2421 is further configured to obtain a pre-stored correspondence table between game modes and refresh frequencies, wherein the correspondence table includes reference refresh frequencies corresponding to various game modes; obtain the reference refresh frequency corresponding to the game mode from the correspondence table; and when the reference refresh frequency is within a pre-set candidate refresh frequency range, determine the reference refresh frequency as the benchmark refresh frequency corresponding to the game mode.
[0166] In some embodiments, the first determination module 2421 is further configured to obtain a default refresh frequency when the reference refresh frequency is not within a preset candidate refresh frequency range; and determine the default refresh frequency as the benchmark refresh frequency corresponding to the game mode.
[0167] In some embodiments, the first determination module 2421 is further configured to obtain frequency configuration information sent by the proxy server, where the frequency configuration information at least includes the refresh frequency corresponding to the game mode; and determine the refresh frequency included in the frequency configuration information as the baseline refresh frequency corresponding to the game mode.
[0168] In some embodiments, the current game status information includes at least current game status flag information; the second determination module 2422 is further configured to determine that the current game stage of the game game is the first game stage when the current game status flag information is the first flag information indicating that the game game has not started; determine that the current game stage of the game game is the second game stage when the current game status flag information is the second flag information indicating that the game game is in progress; and determine that the current game stage of the game game is the third game stage when the current game status flag information is the third flag information indicating that the game game has ended.
[0169] In some embodiments, the third determination module 2423 is further configured to, when the current game stage is the first game stage or the third game stage, determine the product of the first proportional coefficient and the reference refresh frequency as the target refresh frequency corresponding to the current game stage, and the first proportional coefficient is a real number greater than 0 and less than 1; when the current game stage is the second game stage, obtain game attribute information; and, determine the target refresh frequency corresponding to the current game stage based on the reference refresh frequency and the game attribute information.
[0170] In some embodiments, the game attribute information includes at least the number of teams in the game; the third determination module 2423 is further configured to determine the target refresh frequency based on a second proportional coefficient and the benchmark refresh frequency when the number of teams is less than a preset number threshold, and the second proportional coefficient is a real number greater than 0 and less than 1; and when the number of teams is greater than or equal to the number threshold, the benchmark refresh frequency is determined as the target refresh frequency.
[0171] In some embodiments, the game attribute information also includes player rank information, and the third determination module 2423 is further configured to obtain the player rank information when the number of teams is less than a preset number threshold; when the player rank information is lower than the preset rank threshold, the product of the second proportional coefficient and the benchmark refresh frequency is determined as the target refresh frequency; and when the player rank information is higher than or equal to the rank threshold, the benchmark refresh frequency is determined as the target refresh frequency.
[0172] In some embodiments, the data processing device 242 also includes a fourth determination module, which is configured to obtain server load information at intervals of a preset duration when the target refresh frequency is a benchmark refresh frequency; obtain a third proportional coefficient when the load information is greater than a preset load threshold, and the third proportional coefficient is a real number greater than 0 and less than 1; and determine the product of the third proportional coefficient and the benchmark refresh frequency as the target refresh frequency.
[0173] In some embodiments, the data processing device 242 also includes an attribute acquisition module and a fifth determination module. The attribute acquisition module is configured to obtain the game attribute information again after a preset time interval when it is determined that the current game stage is still the second game stage; the fifth determination module is configured to determine the baseline refresh frequency as the target refresh frequency when the number of teams in the game attribute information is greater than or equal to the number threshold.
[0174] The present invention provides a computer program product including computer-executable instructions or a computer program stored in a computer-readable storage medium. A processor of an electronic device reads the computer-executable instructions from the computer-readable storage medium and executes the computer-executable instructions, causing the electronic device to perform the data processing method described in the present invention.
[0175] An embodiment of the present application provides a computer-readable storage medium storing computer-executable instructions, which stores computer-executable instructions or computer programs. When the computer-executable instructions or computer programs are executed by a processor, the processor will execute the data processing method provided by an embodiment of the present application, for example, the data processing method shown in Figure 3A.
[0176] In some embodiments, the computer-readable storage medium may be a memory such as RAM, ROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or may be various devices including one or any combination of the above memories.
[0177] In some embodiments, computer-executable instructions may be in the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
[0178] As an example, computer-executable instructions may, but need not, correspond to a file in a file system, may be stored as part of a file that stores other programs or data, such as in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple coordinating files (e.g., files storing one or more modules, subroutines, or code portions).
[0179] By way of example, computer-executable instructions may be deployed to be executed on one electronic device, or on multiple electronic devices located at one site, or on multiple electronic devices distributed across multiple sites and interconnected by a communication network.
[0180] To summarize, through the embodiments of the present application, on the one hand, a corresponding baseline refresh frequency is configured for each game mode; on the other hand, the refresh frequency of different game stages is dynamically adjusted according to game feature information, game attribute information, etc., while ensuring the player's gaming experience, the server load and consumption are reduced, achieving a balance between server performance optimization and player experience improvement.
[0181] The above description is merely an embodiment of the present application and is not intended to limit the scope of protection of the present application. Any modifications, equivalent replacements, and improvements made within the spirit and scope of the present application are included in the scope of protection of the present application.
Claims
1. A data processing method, applied to an electronic device, comprising: In response to the client entering a game match, obtaining a game mode of the game match, and determining a reference refresh frequency corresponding to the game mode; Acquire current game feature information of the game game, and determine a current game stage of the game game based on the current game feature information; Determining a target refresh frequency corresponding to the current game stage based on the current game stage and the reference refresh frequency; The game data between the server and the client is refreshed according to the target refresh frequency.
2. The method according to claim 1, wherein: The determining of the reference refresh frequency corresponding to the game mode includes: Obtaining a pre-stored correspondence table between game modes and refresh frequencies, wherein the correspondence table includes reference refresh frequencies corresponding to various game modes; Obtaining a reference refresh frequency corresponding to the game mode of the game match from the correspondence table; When the reference refresh frequency is within a preset candidate refresh frequency range, the reference refresh frequency is determined as a base refresh frequency corresponding to the game mode.
3. The method according to claim 2, wherein: The determining of the reference refresh frequency corresponding to the game mode includes: When the reference refresh frequency is not within the preset candidate refresh frequency range, obtaining a default refresh frequency; The default refresh rate is determined as a reference refresh rate corresponding to the game mode.
4. The method according to claim 1, wherein: The determining of the reference refresh frequency corresponding to the game mode includes: Obtaining frequency configuration information sent by a proxy server, wherein the frequency configuration information at least includes a refresh frequency corresponding to the game mode; The refresh frequency included in the frequency configuration information is determined as a reference refresh frequency corresponding to the game mode.
5. The method according to claim 1, wherein: The current game feature information at least includes current game state flag information, and determining the current game stage of the game based on the current game feature information includes: When the current game state flag information is the first flag information indicating that the game has not started, determining that the current game stage of the game is the first game stage; When the current game state flag information is the second flag information indicating that the game is in progress, determining that the current game stage of the game is the second game stage; When the current game state flag information is the third flag information indicating the end of the game, it is determined that the current game stage of the game is the third game stage.
6. The method according to claim 5, wherein: The determining, based on the current game stage and the reference refresh frequency, a target refresh frequency corresponding to the current game stage includes: When the current game stage is the first game stage or the third game stage, the product of a first proportional coefficient and the reference refresh frequency is determined as a target refresh frequency corresponding to the current game stage, and the first proportional coefficient is a real number greater than 0 and less than 1; When the current game stage is the second game stage, obtaining game attribute information; A target refresh frequency corresponding to the current game stage is determined based on the benchmark refresh frequency and the game attribute information.
7. The method according to claim 6, wherein: The game attribute information includes at least the number of teams in the game, and determining the target refresh frequency corresponding to the current game stage based on the benchmark refresh frequency and the game attribute information includes: When the number of teams is less than a preset number threshold, determining the target refresh frequency based on a second proportional coefficient and the reference refresh frequency, wherein the second proportional coefficient is a real number greater than 0 and less than 1; When the number of teams is greater than or equal to the number threshold, the reference refresh frequency is determined as the target refresh frequency.
8. The method according to claim 7, wherein: The game attribute information also includes player rank information. When the number of teams is less than a preset number threshold, determining the target refresh frequency based on a second proportional coefficient and the reference refresh frequency includes: When the number of teams is less than a preset number threshold, obtaining the player rank information; When the player rank information is lower than a preset rank threshold, the product of the second proportional coefficient and the reference refresh frequency is determined as the target refresh frequency; When the player rank information is higher than or equal to the rank threshold, the benchmark refresh frequency is determined as the target refresh frequency.
9. The method according to claim 7 or 8, wherein: When the number of teams is less than a preset number threshold, after determining the target refresh frequency based on the second proportional coefficient and the reference refresh frequency, the method further includes: After a preset time interval, when it is determined that the current game stage is still the second game stage, obtaining game attribute information again; When the number of teams in the game attribute information is greater than or equal to the number threshold, the reference refresh frequency is determined as the target refresh frequency.
10. The method according to any one of claims 1 to 8, wherein: The method further comprises: When the target refresh frequency is the reference refresh frequency, the server load information is obtained at every preset time interval; When the load information is greater than a preset load threshold, a third proportionality coefficient is obtained, where the third proportionality coefficient is a real number greater than 0 and less than 1; The product of the third proportional coefficient and the reference refresh frequency is determined as the target refresh frequency.
11. A data processing device, comprising: A first determination module is configured to obtain a game mode of the game in response to a client entering a game match, and determine a reference refresh frequency corresponding to the game mode; A second determination module is configured to obtain current game feature information of the game game, and determine a current game stage of the game game based on the current game feature information; A third determination module is configured to determine a target refresh frequency corresponding to the current game stage based on the current game stage and the reference refresh frequency; The data refresh module is configured to execute game data refresh between the server and the client according to the target refresh frequency.
12. An electronic device, comprising: A memory for storing computer executable instructions; A processor, configured to implement the data processing method according to any one of claims 1 to 10 when executing the computer executable instructions stored in the memory.
13. A computer-readable storage medium storing computer-executable instructions or a computer program, wherein the computer-executable instructions or the computer program, when executed by a processor, implement the data processing method according to any one of claims 1 to 9.
14. A computer program product, comprising computer executable instructions or a computer program, wherein the computer executable instructions or the computer program, when executed by a processor, implements the data processing method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Frame rate control method and device
CN113117326A
Game control method, mobile terminal and computer readable storage medium
CN113975796A
Game fluency optimization method and device, terminal and computer readable storage medium
CN114210052A
Terminal equipment performance adjusting method and related device
CN114632329A
Method and apparatus for processing resource request
US20190303201A1
