Game running performance determination method and device, electronic equipment and storage medium
By acquiring performance and event data from the game program, automatically marking scene stages using event timestamps, and combining this with game performance control strategies, the accuracy problem of game performance evaluation in existing technologies has been solved, achieving automated and accurate performance evaluation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-27
- Publication Date
- 2026-03-13
AI Technical Summary
In existing technologies, the accuracy of game performance evaluation is low, and it is difficult to effectively evaluate the performance of terminal devices through frame limiting strategies. In particular, frame rate fluctuations are large in complex scenes or when multiple people are interacting. Manual scene division and labeling are prone to errors and are time-consuming and laborious, and cannot effectively eliminate interference from animation and game scenes.
By acquiring performance data and game event data from terminal devices during the game program's execution, and automatically marking scene stages using event timestamps, combined with game performance control strategies, interference items are eliminated, achieving automated performance data processing and accurate performance evaluation.
It improves the accuracy of game performance, reduces the workload of manual labeling, accurately distinguishes scene stages, supports third-party data access, provides high-degree-of-freedom data processing, and ensures the reliability of performance data.
Smart Images

Figure CN121648568A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of game technology, and more specifically, to a method, apparatus, electronic device, and storage medium for determining game performance. Background Technology
[0002] In games, frame rate is a crucial indicator of smoothness, while the number of stutters directly reflects the player's gaming experience. The required frame rate varies across different usage scenarios during game execution. To balance player experience and device performance, frame-limiting strategies are typically implemented for different scenarios. One approach is to use data acquisition tools to collect frame rate data from the terminal device during game execution, and then determine the device's performance based on this data and the frame-limiting strategy. However, the frame rate in some game usage scenarios is influenced by their implementation methods, making it difficult to evaluate the impact on terminal device performance using frame-limiting strategies, thus resulting in lower accuracy in performance assessments. Summary of the Invention
[0003] In view of this, the purpose of this disclosure is to provide a method, apparatus, electronic device and storage medium for determining game performance, so as to improve the accuracy of determining the game performance of a terminal device.
[0004] In a first aspect, embodiments of this disclosure provide a method for determining game performance. The method includes: acquiring performance data and game event data of a terminal device during the running of a game program; the game event data includes: various game events generated by the running of the game program and time information corresponding to each game event; determining the scene stage corresponding to each game event and the performance data corresponding to each scene stage based on the performance data and game event data; and determining the running performance of the game program based on the performance data corresponding to each scene stage and a game performance control strategy.
[0005] Secondly, embodiments of this disclosure provide a device for determining game performance. The device includes: a data acquisition module for acquiring performance data and game event data of a terminal device during the running of a game program; the game event data includes: various game events generated by the running game program and time information corresponding to each game event; a scene stage determination module for determining the scene stage corresponding to each game event and the performance data corresponding to each scene stage based on the performance data and game event data; and a performance determination module for determining the running performance of the game program based on the performance data corresponding to each scene stage and a game performance control strategy.
[0006] Thirdly, embodiments of the present invention provide an electronic device, including a processor and a memory, wherein the memory stores machine-executable instructions that can be executed by the processor, and the processor executes the machine-executable instructions to implement the above-mentioned method for determining game performance.
[0007] Fourthly, embodiments of the present invention provide a machine-readable storage medium storing machine-executable instructions. When the machine-executable instructions are invoked and executed by a processor, the machine-executable instructions cause the processor to implement the aforementioned method for determining game performance.
[0008] The embodiments of the present invention bring the following beneficial effects:
[0009] The aforementioned method, apparatus, electronic device, and storage medium for determining game performance acquire performance data and game event data of a terminal device during the execution of a game program. The game event data includes: various game events generated during the game program's execution and the corresponding time information for each game event. Based on the performance data and game event data, the method determines the scene stage corresponding to each game event, as well as the performance data corresponding to each scene stage. Based on the performance data corresponding to each scene stage and the game performance control strategy, the method determines the game program's performance. In this method, the performance indicators of the terminal device during the duration of each game event are determined using the performance data and game event data obtained by the terminal device during the execution of the game program, thereby determining the terminal device's game performance and improving the accuracy of game performance assessment.
[0010] Other features and advantages of this disclosure will be set forth in the following description and will be apparent in part from the description or may be learned by practicing the disclosure. The objects and other advantages of this disclosure are realized and obtained through the structures particularly pointed out in the description, claims and drawings.
[0011] To make the above-mentioned objects, features and advantages of this disclosure more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0012] To more clearly illustrate the technical solutions in the specific embodiments of this disclosure or the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0013] Figure 1 A flowchart illustrating a method for determining game performance as provided in this embodiment of the disclosure;
[0014] Figure 2 A schematic diagram of the first icon provided for an embodiment of this disclosure;
[0015] Figure 3 A schematic diagram of a data intervention processing flow provided in an embodiment of this disclosure;
[0016] Figure 4 A schematic diagram of a tool interface provided in an embodiment of this disclosure;
[0017] Figure 5 A schematic diagram of another tool interface provided in an embodiment of this disclosure;
[0018] Figure 6 A schematic diagram of the structure of a device for determining game performance provided in an embodiment of this disclosure;
[0019] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation
[0020] To make the objectives, technical solutions, and advantages of the embodiments of this disclosure clearer, the technical solutions of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments of this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.
[0021] In today's game development and optimization field, performance data collection tools are numerous and powerful. Especially in frame rate and stuttering data collection, major game companies have their own specialized tools that can efficiently collect key data such as frame rate (FPS) and stuttering (jank) during game operation. Frame rate is an important indicator of game smoothness, while the number of stutters directly reflects the player's gaming experience. However, due to the unique characteristics of different games, it is often difficult to ensure that data processing methods are completely consistent.
[0022] Under long-term test cases, the collection and analysis of frame rate and stuttering data presents numerous challenges. For example, a game's frame rate may perform well in certain scenarios, but fluctuate in complex scenes or during multiplayer interactions. This is closely related to factors such as game logic processing, resource loading, and network latency. Furthermore, the impact of factors such as graphical user interface (UI) loading and black screens varies greatly across different games and gameplay styles. Some games, due to their complex UI design and extensive resource loading, may exhibit noticeable black screens and stuttering during startup or scene transitions. The manifestation and degree of these phenomena also differ depending on the game engine, hardware configuration, and player operating habits.
[0023] In related technologies, after collecting frame rate data (also known as "performance data") using tools, different frame-limiting strategies apply to different parts of the game. To avoid fluctuations caused by frame-limiting and to analyze the performance of different parts of the game, it is usually necessary to manually divide and label scenes. This process is mainly used to distinguish between longer animation sections and actual game interaction sections, because their performance and optimization requirements differ significantly.
[0024] For example, animation (such as cutscenes) might use pre-rendered CG (Computer Graphics), which could have a higher frame rate than the game itself. It might also utilize real-time rendering at high LOD levels using Levels of Detail (LOD) technology, in which case the frame rate standard might be lower. Game interactions, on the other hand, require real-time rendering, and the frame rate will fluctuate depending on player actions and scene complexity. Manual labeling is necessary for a more accurate overall analysis.
[0025] However, the processing methods used in related technologies have some obvious limitations:
[0026] 1. Increased workload for testers. In long test cases, testers sometimes need to manually divide dozens of scenarios. Moreover, because they need to pay attention to the game situation at all times during the test, it is difficult to divide the scenarios while recording. The video needs to be replayed after the test to divide the scenarios, which is time-consuming and laborious.
[0027] 2. Manual scene segmentation has a large margin of error. Testers find it difficult to accurately segment scenes at the animation's entry and exit points, which may lead to inaccurate data.
[0028] 3. There are issues with collecting lag data on some device models, making it impossible to directly use the collected data for subsequent data analysis. A way is needed to access Jank data collected additionally by the project team's engine layer or script layer.
[0029] 4. The most critical issue is that existing methods struggle to eliminate more granular interference in animation and game scenes. For example, in some projects, frame rate limiting during dialogue can cause continuous fluctuations in the frame rate during game scenes, while short-duration black screen transitions cannot be manually eliminated. These problems severely impact the accuracy and reliability of performance data.
[0030] Based on this, the present disclosure provides a method, apparatus, electronic device, and storage medium for determining game performance. This technology can be applied to scenarios where the performance of a terminal device running a game program is evaluated.
[0031] See Figure 1 First, a method for determining game performance provided by an embodiment of the present invention will be introduced. A graphical user interface is provided through a terminal device; the method includes the following steps:
[0032] Step S102: Obtain performance data and game event data of the terminal device during the running of the game program; the game event data includes: each game event generated by the running of the game program and the time information corresponding to each game event.
[0033] Performance data typically includes frame rate and stuttering data during game operation. Frame rate refers to the number of frames executed per second during game runtime. Frame rate data can be considered as the collection of game frames per second during the time a terminal device is running the game. Stuttering data records the time when stuttering game frames occur. Criteria for determining whether a game frame is stuttering are usually preset. Specifically, this could be a frame duration exceeding a preset threshold, or a significant difference between the frame and its adjacent frames.
[0034] The aforementioned performance data can be collected by the terminal device during the running of the game program. For example, software for collecting performance data can be loaded into the terminal device, or a script for collecting performance data can be written in the game program to directly determine the performance data during the game program's operation. For instance, each time a game frame is generated, a count is performed and the generation time of the game frame is recorded. Then, based on the count and the recorded generation time, the frame rate data is determined. Similarly, the generation time of game frames can be used to determine whether stuttering occurs. If stuttering occurs, the start and end times of the stuttering are recorded to determine the stuttering data. Alternatively, performance data can be collected in real time during the running of the game program on the terminal device by connecting other devices running performance data collection software. There are no restrictions on this.
[0035] Game program execution can generate various game events. These events can include game scene loading events, human-computer interaction scene display events, and game scene transition events. The duration and order of these events can be set in the game program, and can also be affected by player actions. For example, when the graphical user interface provided by the terminal device displays a game scene, i.e., during the duration of the human-computer interaction scene display event, the player can control the game character in the game scene to perform a certain game action, triggering a game scene transition event.
[0036] The aforementioned game event data can indicate the various game events generated during the game program's execution, along with the corresponding time information for each event. For example, when an event occurs, the game event data can record the event's occurrence time; when the event ends, the game event data can record the event's end time. For instance, in a 5-minute game program runtime, 0s to 5s represents the game scene loading event, 5s to 1 minute 20s represents the human-computer interaction scene display event, and 1 minute 20s to 1 minute 30s represents the game scene transition event, etc.
[0037] Step S104: Based on performance data and game event data, determine the scene stage corresponding to each game event, and the performance data corresponding to each scene stage.
[0038] Game event data represents the temporal distribution of various game events generated during the game program's execution. Further, the frame rate data corresponding to the entire game program's execution needs to be divided into the durations of each game event to determine the frame rate within each event's duration. The duration of a game event can be referred to as the scene phase corresponding to that game event.
[0039] In practical implementation, frame rate data and game event data need to be time-aligned to eliminate any time difference between them. Then, based on the game event data, the scene stages corresponding to the generated game events are divided, and the performance data is categorized according to the scene stages corresponding to the game events based on the generation time of the performance data, or the performance data is tagged with its corresponding game event.
[0040] Step S106: Determine the running performance of the game program based on the performance data corresponding to each scene stage and the game performance control strategy.
[0041] The aforementioned game performance control strategies include preset frame-limiting strategies. Frame-limiting strategies refer to using technical means to limit the frame rate of a game or application to achieve specific effects or optimize performance. In frame-limiting strategies, different target frame rates are typically set for different game events.
[0042] After obtaining the performance data corresponding to each scene stage, the average frame rate and frame rate fluctuation within that scene stage can be calculated based on the performance data of the game event that occurred. Then, by comparing the average frame rate within that scene stage with the target frame rate of the corresponding game event, and taking into account the frame rate fluctuation, the frame rate corresponding to that game event can be determined. Simultaneously, the number and duration of stuttering frames generated by each game event can also be statistically analyzed.
[0043] Furthermore, the game's performance can be determined based on the frame rate and stuttering of certain game events generated during the game's operation. Since the frame rate for game animations and game scene loading can vary significantly depending on the implementation method, the frame rate processing for corresponding game events can be omitted when determining the performance of the game on the terminal device.
[0044] The aforementioned method for determining game performance involves acquiring performance data and game event data from a terminal device during game program execution. The game event data includes various game events generated during game program execution and their corresponding time information. Based on the performance data and game event data, the method determines the scene stage corresponding to each game event and the performance data corresponding to each scene stage. Based on the performance data corresponding to each scene stage and game performance control strategies, the method determines the game program's performance. This approach determines the terminal device's performance indicators during the duration of each game event by using performance data and game event data from the terminal device during game program execution, thereby determining the terminal device's game performance and improving the accuracy of game performance assessment.
[0045] The following embodiments provide a specific method for determining the scene stage corresponding to each game event and the performance data corresponding to each scene stage based on performance data and game event data.
[0046] In practical applications, it is necessary to determine the scene stage of each game event within the game program's execution process based on game event data. This game event data typically includes multiple event timestamps corresponding to each game event. These timestamps indicate the occurrence and end times of the game event. Based on these timestamps, the occurrence and end times of each game event within the game program's execution process are determined. Then, for each game event, the time segment between its occurrence and end times can be defined as the scene stage of that game event within the game program's execution process. Specifically, two adjacent event timestamps corresponding to the same game event can be read to determine the scene stage corresponding to that game event.
[0047] Event timestamps can also simply represent the time when a game event occurs. When a game event occurs, a timestamp is generated to record the event. The time between the occurrence times of two adjacent game events represents the scene phase of the game event that occurred earlier.
[0048] Then, for each game event within each game event, based on the scene stage of the game event, determine the performance data corresponding to that scene stage from the performance data. Specifically, the performance data generated in that scene stage can be read from the performance data as the performance data corresponding to that scene stage.
[0049] In practical applications, performance data acquisition tools such as perfdog, Airperf, Gameper, and System Profiler are commonly used to collect performance data. However, for some terminal devices, the performance data collected by these tools often contains numerous errors. To avoid these errors affecting the accuracy of the game program's performance data, logic for obtaining performance data can be added to the game engine logic, or performance data can be obtained through the game script logic.
[0050] In the above scenario, the acquired performance data includes first performance data and second performance data for the terminal device during the running of the game program; the first and second performance data are acquired in different ways. The first performance data can be collected by a preset data acquisition tool during the running of the game program on the terminal device, while the second performance data is obtained based on the game engine logic or game script logic included in the game program.
[0051] After determining the scene stage of each game event, the first game data can be processed. Specifically, for each game event within each game event, based on the scene stage of the game event, the performance data corresponding to the scene stage in the first performance data can be determined. Then, whether there is erroneous data in the first performance data can be determined manually or through preset logic. For example, if the staff does not notice a lag at a certain moment during the game program's operation, but the first performance data indicates a severe lag at that moment, the performance data at that moment can be considered erroneous. Alternatively, a lag threshold can be preset, and then data in the first performance data exceeding this threshold can be considered erroneous data. In this case, the erroneous data is not necessarily true erroneous data, but rather data with a probability of error.
[0052] If it is determined that some data in the first performance data is erroneous, the target data in the second performance data is determined based on the scene stage corresponding to the erroneous data. In specific implementation, for each game event within each game event, the performance data corresponding to the scene stage in the second performance data needs to be determined based on the scene stage of the game event. Then, the performance data corresponding to the scene stage of the erroneous data in the second performance data is determined as the target data. Furthermore, the target data is determined as the performance data corresponding to the scene stage of the erroneous data. That is, the data in the scene stage where the erroneous data in the first performance data is located is replaced with the target data in the second performance data corresponding to that scene stage. If only stuttering data is erroneous, only stuttering data can be replaced; if only frame rate data is erroneous, only frame rate data can be replaced; alternatively, if a certain stage has erroneous performance data, both the frame rate data and stuttering data for that scene stage can be replaced simultaneously, without restriction.
[0053] After determining the scene stage corresponding to each game event and the performance data corresponding to each scene stage, a first icon is generated based on these data. This icon can be viewed as a scatter plot or line graph drawn based on performance. The first icon includes a vertical axis and a horizontal axis. The vertical axis represents performance, such as frame rate, number of stutters, and stutter duration; the horizontal axis represents time. The first icon also includes performance indicators and scene stage indicators located within the display area defined by the vertical and horizontal axes. Figure 2 As shown, the gray area represents the event timestamp range, i.e., the scene stage identifier; the white dots represent the frame rate identifier in the performance identifier; and the solid dots represent the stuttering identifier in the performance identifier.
[0054] Users can view the first icon; for example, by hovering the mouse cursor over the scene stage indicator, the system will display the corresponding game event and its time information, such as the start and end times. Within the same scene stage, the frame rate typically fluctuates within a certain range; however, when the scene stage changes, the frame rate may change significantly. Therefore, users can use the scene stage indicator and frame rate to determine if the frame rate is aligned with the scene stage's timeline. If misalignment is found, users can adjust the timeline of the game event data or performance data to align them.
[0055] The following embodiments provide a specific way to determine the running performance of a game program based on performance data and game performance control strategies corresponding to each scenario stage.
[0056] In practical implementation, the aforementioned game performance control strategy includes specifying the target frame rate corresponding to a game event. These specified game events typically include animation display events and game interaction scene display events, which are not limited here. Other game events besides the specified game events are generally not within the scope of device performance evaluation. The other game events besides the specified game events can be referred to as target game events. These target game events can include one or more of the following: UI element loading events, scene launch events, and scene transition events. To eliminate the impact of target events on the game's performance on the terminal device, the performance data corresponding to each scene stage needs to be filtered based on the target game events; the processed performance data does not include the performance data of the scene stage corresponding to the target game event. Then, based on the processed performance data and the target frame rate corresponding to the specified game event, the game program's performance is determined.
[0057] The processed performance data includes frame rate detection data and stuttering data throughout the duration of the scene phase corresponding to the specified game event. Specifically, for any game event within the specified game event, the runtime performance corresponding to that game event can be determined based on the frame rate detection data and stuttering data of the scene phase corresponding to the game event, as well as the target frame rate for the game event. This runtime performance can be characterized by average frame rate, frame rate range, squared difference of frame rates, stutter duration, stutter count, etc., without limitation here. Furthermore, based on the runtime performance of each game event within the specified game event, the runtime performance of the game program is determined. In practical implementation, weights can be assigned to different specified game events, and then the runtime performance of the game program is determined based on the weights and the runtime performance of multiple specified game events.
[0058] The following embodiments provide a detailed process for implementing a method to determine game performance. Figure 1 Implemented based on the method shown.
[0059] This method solves the following problem:
[0060] 1. Implement automatic tagging of raw data (equivalent to the "first performance data" mentioned above) using event timestamps.
[0061] 2. It has a way to be compatible with the access of third-party collected stuttering data (equivalent to the "second performance data" mentioned above).
[0062] 3. It can visualize event timestamps and frame rate stuttering data for intuitive checking for errors.
[0063] Its core function lies in its ability to easily intervene in data processing. The data intervention and processing flow is as follows: Figure 3As shown. Whether to intervene in data processing, whether to timestamp events, and whether to use third-party data for data reconstruction are typically chosen by relevant personnel, or certain conditions can be preset for judgment. For example, data intervention can be determined based on data length; if the data length is greater than or equal to a preset length threshold, data intervention is determined; if the data length is less than the threshold, data intervention is determined not to be performed.
[0064] After data intervention and processing are completed, the subsequent data calculation process can begin. The processed data eliminates most of the interference, allowing for the identification of detailed information such as frame rate and stuttering in different stages of animation and game scenes after interference removal. This enables a more accurate representation of the overall frame rate and stuttering situation, resulting in more accurate game performance on the terminal device.
[0065] This method is implemented through the following steps:
[0066] 1. Display the tool usage window in the graphical user interface, such as... Figure 4 As shown in the image, this window provides data input controls. Users can directly retrieve JSON data by entering a JSON URL, or obtain local JSON data using the Local JSON format, thereby acquiring the initial performance data collected through performance data acquisition.
[0067] 2. This interface provides a device tier selection control. After selecting the device tier, subsequent processing will calculate the frame rate distribution based on the corresponding device tier, essentially determining the target frame rate for each game event. This interface also provides a data layout selection control. After selecting the data layout, data can be quickly and easily written to the clipboard for later operations. Specifically, data is categorized according to a preset data classification method, and then the categorized data is written to the clipboard according to the classification results, making it convenient for users to import data from the clipboard into relevant files.
[0068] 3. This interface provides controls for importing third-party data. The ScopeTag file refers to game event data, including event timestamp information; the JankProfiler file refers to stuttering data (equivalent to the aforementioned "secondary performance data"). After inputting these two types of data, the event timestamp information and stuttering data can be used to reconstruct the data.
[0069] 4. Additional features include the ability to adjust data involving third parties, i.e. Figure 3 The Time Offset and Time Extand settings shown can be adjusted to change the time difference between third-party intervention data and frame rate data. This is to prevent discrepancies in timestamps between the intervention data and the original data from the performance acquisition tool.
[0070] 5. Data processing results output: The overall data will be output here. For example... Figure 5 The image shows specific use cases, with the processing results of the corresponding inputs listed from top to bottom. Figure 2 The output after visualizing the icon.
[0071] This approach enables complete automation of performance data segmentation, thoroughly eliminating the need for manual scene labeling and more accurately distinguishing event segments. It supports third-party data access, providing greater flexibility and additional processing options. Filtering based on event timestamps yields more reliable performance data after filtering.
[0072] For the above method embodiments, see Figure 6 The apparatus shown is a device for determining game performance, the apparatus comprising:
[0073] The data acquisition module 602 is used to acquire performance data and game event data of the terminal device during the running of the game program; the game event data includes: each game event generated by the running of the game program and the time information corresponding to each game event;
[0074] The scene stage determination module 604 is used to determine the scene stage corresponding to each game event and the performance data corresponding to each scene stage based on performance data and game event data.
[0075] The performance determination module 606 is used to determine the running performance of the game program based on the performance data corresponding to each scene stage and the game performance control strategy.
[0076] The aforementioned device for determining game performance acquires performance data and game event data from a terminal device during the execution of a game program. The game event data includes various game events generated by the game program and their corresponding time information. Based on the performance data and game event data, it determines the scene stage corresponding to each game event and the performance data corresponding to each scene stage. Based on the performance data corresponding to each scene stage and a game performance control strategy, it determines the game program's performance. This method determines the terminal device's performance indicators during the duration of each game event by using performance data and game event data from the terminal device during game program execution, thereby determining the terminal device's game performance and improving the accuracy of game performance assessment.
[0077] The aforementioned scenario stage determination module is also used to: determine the scenario stage of each game event during the operation of the game program based on game event data; and for each game event, determine the performance data corresponding to the scenario stage in the performance data based on the scenario stage of the game event.
[0078] The time information in the aforementioned game event data includes the event timestamp corresponding to each game event; the event timestamp is used to indicate the generation time and end time of the game event; the aforementioned scene stage determination module is also used to: determine the generation time and end time of each game event in the running process of the game program based on the event timestamp corresponding to each game event; for each game event, the time stage between the generation time and end time of the game event is determined as the scene stage of the game event in the running process of the game program.
[0079] The aforementioned game performance control strategy includes specifying the target frame rate corresponding to a game event; the performance determination module is also used to: filter the performance data corresponding to each scene stage based on the target game event; the processed performance data does not include the performance data of the scene stage corresponding to the target game event; the target game event is other game events among the game events except for the specified game event; and determine the running performance of the game program based on the processed performance data and the target frame rate corresponding to the specified game event.
[0080] The processed performance data includes: frame rate detection data and stuttering data during the continuous process of the scene phase corresponding to the specified game event; the performance determination module is also used to: determine the performance of the game event corresponding to any game event in the specified game event based on the frame rate detection data and stuttering data of the scene phase corresponding to the game event and the target frame rate corresponding to the game event; and determine the performance of the game program based on the performance of each game event in the specified game event.
[0081] The aforementioned target game events include at least one of the following: UI element loading event, scene startup event, and scene transition event.
[0082] The aforementioned performance data includes first performance data and second performance data for the terminal device during the running of the game program; the first performance data and second performance data are obtained in different ways; the scene stage determination module is also used to: for each game event in each game event, based on the scene stage of the game event, determine the performance data in the first performance data corresponding to the scene stage; if it is determined that some data in the first performance data is erroneous data, determine the target data in the second performance data based on the scene stage corresponding to the erroneous data; and determine the target data as the performance data corresponding to the scene stage corresponding to the erroneous data.
[0083] The aforementioned scenario stage determination module is also used to: for each game event in each game event, based on the scenario stage of the game event, determine the performance data in the second performance data corresponding to the scenario stage; and determine the performance data in the second performance data corresponding to the scenario stage corresponding to the error data as the target data.
[0084] The first performance data mentioned above is collected by a preset data acquisition tool during the running of the game program on the terminal device; the second performance data is obtained based on the game engine logic or game script logic included in the game program.
[0085] The aforementioned device further includes: an icon generation module, used to generate a first icon based on the scene stage corresponding to each game event and the performance data corresponding to each scene stage; the first icon includes a vertical axis and a horizontal axis; the vertical axis represents performance and the horizontal axis represents time; the first icon also includes a performance indicator and a scene stage indicator located in the display area defined by the vertical axis and the horizontal axis.
[0086] The aforementioned device also includes: an event time information display module, used to display the game event corresponding to the scene stage indicator and the time information corresponding to the game event in response to the mouse cursor hovering over the scene stage indicator.
[0087] This embodiment also provides an electronic device, including a processor and a memory. The memory stores machine-executable instructions that can be executed by the processor. The processor executes the machine-executable instructions to implement the aforementioned method for determining game performance, for example:
[0088] Acquire performance data and game event data of the terminal device during the running of the game program; the game event data includes: each game event generated by the running of the game program and the time information corresponding to each game event; based on the performance data and game event data, determine the scene stage corresponding to each game event, and the performance data corresponding to each scene stage; based on the performance data corresponding to each scene stage and the game performance control strategy, determine the running performance of the game program.
[0089] In the above method, the performance indicators of the terminal device during the continuous phase of each game event are determined by the performance data and game event data of the terminal device during the running of the game program, thereby determining the game running performance of the terminal device and improving the accuracy of game running performance.
[0090] Optionally, the steps of determining the scene stage corresponding to each game event and the performance data corresponding to each scene stage based on performance data and game event data include: determining the scene stage of each game event in the running process of the game program based on game event data; and for each game event, determining the performance data corresponding to the scene stage in the performance data based on the scene stage of the game event.
[0091] Optionally, the time information in the aforementioned game event data includes the event timestamp corresponding to each game event; the event timestamp is used to indicate the generation time and end time of the game event; based on the game event data, the steps to determine the scene stage of each game event in the operation of the game program include: based on the event timestamp corresponding to each game event, determining the generation time and end time of each game event in the operation of the game program; for each game event, determining the time stage between the generation time and end time of the game event as the scene stage of the game event in the operation of the game program.
[0092] Optionally, the above game performance control strategy includes the following steps: specifying the target frame rate corresponding to a game event; determining the running performance of the game program based on the performance data corresponding to each scene stage and the game performance control strategy, including: filtering the performance data corresponding to each scene stage based on the target game event; the processed performance data does not include the performance data of the scene stage corresponding to the target game event; the target game event is other game events among the game events besides the specified game event; and determining the running performance of the game program based on the processed performance data and the target frame rate corresponding to the specified game event.
[0093] Optionally, the processed performance data includes: frame rate detection data and stuttering data during the continuous process of the scene phase corresponding to the specified game event; the step of determining the running performance of the game program based on the processed performance data and the target frame rate corresponding to the specified game event includes: for any game event in the specified game event, determining the running performance corresponding to the game event based on the frame rate detection data and stuttering data of the scene phase corresponding to the game event and the target frame rate corresponding to the game event; and determining the running performance of the game program based on the running performance of each game event in the specified game event.
[0094] Optionally, the aforementioned target game events shall include at least one of the following: UI element loading event, scene start event, and scene transition event.
[0095] Optionally, the aforementioned performance data includes first performance data and second performance data for the terminal device during the running of the game program; the first performance data and second performance data are obtained in different ways; for each game event in each game event, the step of determining the performance data corresponding to the scene stage in the performance data based on the scene stage of the game event includes: for each game event in each game event, determining the performance data corresponding to the scene stage in the first performance data based on the scene stage of the game event; if it is determined that some data in the first performance data is erroneous data, determining the target data in the second performance data based on the scene stage corresponding to the erroneous data; and determining the target data as the performance data corresponding to the scene stage corresponding to the erroneous data.
[0096] Optionally, the step of determining the target data in the second performance data based on the scene stage corresponding to the error data includes: for each game event in each game event, determining the performance data in the second performance data corresponding to the scene stage based on the scene stage of the game event; and determining the performance data in the second performance data corresponding to the scene stage corresponding to the error data as the target data.
[0097] Optionally, the first performance data is collected by a preset data acquisition tool during the running of the game program on the terminal device; the second performance data is obtained based on the game engine logic or game script logic included in the game program.
[0098] Optionally, the above method further includes: generating a first icon based on the scene stage corresponding to each game event and the performance data corresponding to each scene stage; the first icon includes a vertical axis and a horizontal axis; the vertical axis represents performance and the horizontal axis represents time; the first icon also includes a performance identifier and a scene stage identifier located in the display area defined by the vertical axis and the horizontal axis.
[0099] Optionally, the above method further includes: in response to the mouse cursor hovering over the scene stage indicator, displaying the game event corresponding to the scene stage indicator and the time information corresponding to the game event.
[0100] See Figure 7 As shown, the electronic device includes a processor 100 and a memory 101. The memory 101 stores machine-executable instructions that can be executed by the processor 100. The processor 100 executes the machine-executable instructions to implement the above-mentioned method for determining game performance.
[0101] Furthermore, Figure 7 The electronic device shown also includes a bus 102 and a communication interface 103, with the processor 100, the communication interface 103 and the memory 101 connected via the bus 102.
[0102] The memory 101 may include high-speed random access memory (RAM) or non-volatile memory, such as at least one disk storage device. Communication between this system network element and at least one other network element is achieved through at least one communication interface 103 (which can be wired or wireless), such as the Internet, wide area network, local area network, or metropolitan area network. The bus 102 may be an ISA bus, PCI bus, or EISA bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 7 The symbol is represented by a single double-headed arrow, but this does not mean that there is only one bus or one type of bus.
[0103] The processor 100 may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed by the integrated logic circuitry in the hardware of the processor 100 or by instructions in software form. The processor 100 may be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this disclosure. The general-purpose processor may be a microprocessor or any conventional processor. The methods disclosed in the embodiments of this disclosure can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module can reside in a mature storage medium in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory 101, and processor 100 reads information from memory 101 and, in conjunction with its hardware, completes the method of the aforementioned embodiments.
[0104] This embodiment also provides a machine-readable storage medium storing machine-executable instructions. When the machine-executable instructions are called and executed by a processor, the machine-executable instructions cause the processor to implement the above-described method for determining game performance.
[0105] This disclosure provides a method, apparatus, and electronic device for determining game performance, including a computer-readable storage medium storing program code. The program code includes instructions that can be used to execute the methods described in the preceding method embodiments, for example:
[0106] Acquire performance data and game event data of the terminal device during the running of the game program; the game event data includes: each game event generated by the running of the game program and the time information corresponding to each game event; based on the performance data and game event data, determine the scene stage corresponding to each game event, and the performance data corresponding to each scene stage; based on the performance data corresponding to each scene stage and the game performance control strategy, determine the running performance of the game program.
[0107] In the above method, the performance indicators of the terminal device during the continuous phase of each game event are determined by the performance data and game event data of the terminal device during the running of the game program, thereby determining the game running performance of the terminal device and improving the accuracy of game running performance.
[0108] Optionally, the steps of determining the scene stage corresponding to each game event and the performance data corresponding to each scene stage based on performance data and game event data include: determining the scene stage of each game event in the running process of the game program based on game event data; and for each game event, determining the performance data corresponding to the scene stage in the performance data based on the scene stage of the game event.
[0109] Optionally, the time information in the aforementioned game event data includes the event timestamp corresponding to each game event; the event timestamp is used to indicate the generation time and end time of the game event; based on the game event data, the steps to determine the scene stage of each game event in the operation of the game program include: based on the event timestamp corresponding to each game event, determining the generation time and end time of each game event in the operation of the game program; for each game event, determining the time stage between the generation time and end time of the game event as the scene stage of the game event in the operation of the game program.
[0110] Optionally, the above game performance control strategy includes the following steps: specifying the target frame rate corresponding to a game event; determining the running performance of the game program based on the performance data corresponding to each scene stage and the game performance control strategy, including: filtering the performance data corresponding to each scene stage based on the target game event; the processed performance data does not include the performance data of the scene stage corresponding to the target game event; the target game event is other game events among the game events besides the specified game event; and determining the running performance of the game program based on the processed performance data and the target frame rate corresponding to the specified game event.
[0111] Optionally, the processed performance data includes: frame rate detection data and stuttering data during the continuous process of the scene phase corresponding to the specified game event; the step of determining the running performance of the game program based on the processed performance data and the target frame rate corresponding to the specified game event includes: for any game event in the specified game event, determining the running performance corresponding to the game event based on the frame rate detection data and stuttering data of the scene phase corresponding to the game event and the target frame rate corresponding to the game event; and determining the running performance of the game program based on the running performance of each game event in the specified game event.
[0112] Optionally, the aforementioned target game events shall include at least one of the following: UI element loading event, scene start event, and scene transition event.
[0113] Optionally, the aforementioned performance data includes first performance data and second performance data for the terminal device during the running of the game program; the first performance data and second performance data are obtained in different ways; for each game event in each game event, the step of determining the performance data corresponding to the scene stage in the performance data based on the scene stage of the game event includes: for each game event in each game event, determining the performance data corresponding to the scene stage in the first performance data based on the scene stage of the game event; if it is determined that some data in the first performance data is erroneous data, determining the target data in the second performance data based on the scene stage corresponding to the erroneous data; and determining the target data as the performance data corresponding to the scene stage corresponding to the erroneous data.
[0114] Optionally, the step of determining the target data in the second performance data based on the scene stage corresponding to the error data includes: for each game event in each game event, determining the performance data in the second performance data corresponding to the scene stage based on the scene stage of the game event; and determining the performance data in the second performance data corresponding to the scene stage corresponding to the error data as the target data.
[0115] Optionally, the first performance data is collected by a preset data acquisition tool during the running of the game program on the terminal device; the second performance data is obtained based on the game engine logic or game script logic included in the game program.
[0116] Optionally, the above method further includes: generating a first icon based on the scene stage corresponding to each game event and the performance data corresponding to each scene stage; the first icon includes a vertical axis and a horizontal axis; the vertical axis represents performance and the horizontal axis represents time; the first icon also includes a performance identifier and a scene stage identifier located in the display area defined by the vertical axis and the horizontal axis.
[0117] Optionally, the above method further includes: in response to the mouse cursor hovering over the scene stage indicator, displaying the game event corresponding to the scene stage indicator and the time information corresponding to the game event.
[0118] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the system and apparatus described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0119] Furthermore, in the description of the embodiments of this disclosure, unless otherwise expressly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in this disclosure based on the specific circumstances.
[0120] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of this disclosure, in essence, or the parts that contribute to the prior art, or parts of the technical solutions, can be embodied in the form of software products. These computer software products are stored in a storage medium and include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this disclosure. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0121] In the description of this disclosure, it should be noted that the terms "center," "upper," "lower," "left," "right," "vertical," "horizontal," "inner," and "outer," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings, and are only for the convenience of describing this disclosure and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of this disclosure. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0122] Finally, it should be noted that the above embodiments are merely specific implementations of this disclosure, used to illustrate the technical solutions of this disclosure, and not to limit it. The protection scope of this disclosure is not limited thereto. Although this disclosure has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art can still modify or easily conceive of changes to the technical solutions described in the foregoing embodiments, or make equivalent substitutions for some of the technical features, within the scope of the technology disclosed in this disclosure. Such modifications, changes, or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this disclosure, and should all be covered within the protection scope of this disclosure. Therefore, the protection scope of this disclosure should be determined by the protection scope of the claims.
Claims
1. A method for determining game performance, characterized in that, The method includes: Acquire performance data and game event data of the terminal device during the running of the game program; the game event data includes: each game event generated by the running of the game program and the time information corresponding to each game event; Based on the performance data and the game event data, determine the scene stage corresponding to each game event, and the performance data corresponding to each scene stage; Based on the performance data and game performance control strategies corresponding to each scenario stage, the running performance of the game program is determined.
2. The method according to claim 1, characterized in that, Based on the performance data and the game event data, the steps for determining the scene stage corresponding to each game event and the performance data corresponding to each scene stage include: Based on the game event data, determine the scene stage of each game event during the operation of the game program; For each game event, based on the scene stage of the game event, determine the performance data corresponding to the scene stage in the performance data.
3. The method according to claim 2, characterized in that, The time information in the game event data includes the event timestamps corresponding to each game event; the event timestamps are used to indicate the occurrence time and end time of the game event. Based on the game event data, the steps for determining the scene stage of each game event during the operation of the game program include: Based on the event timestamps corresponding to each game event, the generation time and end time of each game event during the operation of the game program are determined. For each game event, the time interval between the occurrence time and the end time of the game event is defined as the scene stage of the game event during the operation of the game program.
4. The method according to claim 1, characterized in that, The game performance control strategy includes specifying the target frame rate for game events; The steps for determining the running performance of the game program based on the performance data and game performance control strategies corresponding to each scenario stage include: The performance data corresponding to each scene stage is filtered based on the target game event; the processed performance data does not include the performance data of the scene stage corresponding to the target game event; the target game event is any game event other than the specified game event among the game events. Based on the processed performance data and the target frame rate corresponding to the specified game event, the running performance of the game program is determined.
5. The method according to claim 4, characterized in that, The processed performance data includes: frame rate detection data and stuttering data during the continuous process of the scene phase corresponding to the specified game event; The step of determining the running performance of the game program based on the processed performance data and the target frame rate corresponding to the specified game event includes: For any game event among the specified game events, the running performance corresponding to the game event is determined based on the frame rate detection data and stuttering data of the scene stage corresponding to the game event and the target frame rate corresponding to the game event. The performance of the game program is determined based on the performance of each game event in the specified game event.
6. The method according to claim 4, characterized in that, The target game event includes at least one of the following: interface element loading event, scene start event, and scene transition event.
7. The method according to claim 1, characterized in that, The performance data includes first performance data and second performance data for the terminal device during the running of the game program; the first performance data and the second performance data are obtained in different ways. For each of the aforementioned game events, the step of determining the performance data corresponding to the scene stage in the performance data based on the scene stage of the game event includes: For each game event, based on the scene stage of the game event, determine the performance data in the first performance data corresponding to the scene stage; If it is determined that some data in the first performance data is erroneous, the target data in the second performance data is determined based on the scenario stage corresponding to the erroneous data. The target data is determined to be the performance data corresponding to the scenario stage of the erroneous data.
8. The method according to claim 7, characterized in that, The step of determining the target data in the second performance data based on the scenario stage corresponding to the erroneous data includes: For each game event, based on the scene stage of the game event, determine the performance data in the second performance data corresponding to the scene stage; The performance data corresponding to the scenario stage in the second performance data that corresponds to the error data is determined as the target data.
9. The method according to claim 7, characterized in that, The first performance data is collected by a preset data acquisition tool during the running of the game program on the terminal device; The second performance data is obtained based on the game engine logic or game script logic included in the game program.
10. The method according to claim 1, characterized in that, The method further includes: Based on the scene stage corresponding to each game event and the performance data corresponding to each scene stage, a first icon is generated; The first icon includes a vertical axis and a horizontal axis; the vertical axis represents performance and the horizontal axis represents time; the first icon also includes a performance indicator and a scene stage indicator located in the display area defined by the vertical axis and the horizontal axis.
11. The method according to claim 10, characterized in that, The method further includes: In response to the mouse cursor hovering over the scene stage identifier, the game event corresponding to the scene stage identifier and the time information corresponding to the game event are displayed.
12. A device for determining game performance, characterized in that, The device includes: The data acquisition module is used to acquire performance data and game event data of the terminal device during the running of the game program; the game event data includes: each game event generated by the running of the game program and the time information corresponding to each game event; The scene stage determination module is used to determine the scene stage corresponding to each game event and the performance data corresponding to each scene stage based on the performance data and the game event data. The performance determination module is used to determine the performance of the game program based on the performance data corresponding to each scene stage and the game performance control strategy.
13. An electronic device, characterized in that, The system includes a processor and a memory, the memory storing machine-executable instructions that can be executed by the processor, the processor executing the machine-executable instructions to implement the method for determining game performance as described in any one of claims 1-11.
14. A machine-readable storage medium, characterized in that, The machine-readable storage medium stores machine-executable instructions, which, when invoked and executed by a processor, cause the processor to implement the method for determining game performance as described in any one of claims 1-11.