Performance data processing method and system, storage medium, and electronic device

CN117442972BActive Publication Date: 2026-09-29NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311302081.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-10-07
Publication Date
2026-09-29
Estimated Expiration
2043-10-07

AI Technical Summary

Technical Problem

[0004]本公开的目的在于提供一种性能数据的处理方法、性能数据的处理装置、计算机可读存储介质以及电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的数据处理效率较低的问题

Benefits of technology

[0020]本公开实施例提供的一种性能数据的处理方法,一方面,通过游戏引擎层采集目标游戏引擎在执行目标游戏任务过程中所产生的原始性能数据;然后通过数据解析层抓取原始性能数据,并对原始性能数据对原始性能数据进行结构化处理,得到目标性能数据;进而通过数据解析层将目标性能数据存储至数据存储引擎,对数据存储引擎中的目标性能数据进行分析,得到引擎性能分析结果;最后通过前端展示层根据引擎性能分析结果生成可视化展示界面,并对可视化展示界面进行展示,以使得测试人员根据可视化展示界面对游戏引擎的性能消耗进行分析,实现了对性能数据的自动采集、自动处理、自动存储以及自动分析,解决现有技术中由于无法自动化的实现性能数据的处理,进而使得数据处理效率较低的问题,提高了性能数据的处理效率;另一方面,由于可以根据引擎性能分析结果生成可视化展示界面,并对可视化展示界面进行展示,以使得测试人员根据可视化展示界面对游戏引擎的性能消耗进行分析,进而提高了性能消耗的分析效率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117442972B_ABST
    Figure CN117442972B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a performance data processing method and system, a storage medium and an electronic device, and relates to the technical field of computers. The method comprises the following steps: a game engine layer collects original performance data generated by a target game engine during execution of a target game task; a data analysis layer captures the original performance data, and performs structured processing on the original performance data to obtain target performance data; the data analysis layer stores the target performance data into a data storage engine, and analyzes the target performance data in the data storage engine to obtain an engine performance analysis result; a front-end display layer generates a visual display interface according to the engine performance analysis result, and displays the visual display interface, so that a tester analyzes performance consumption of the game engine according to the visual display interface. The present disclosure improves data processing efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, and more specifically, to a method for processing performance data, an apparatus for processing performance data, a computer-readable storage medium, and an electronic device. Background Technology

[0002] Existing methods for processing performance data require manual input of data processing commands during game startup or operation, which cannot automate the processing of performance data, resulting in low data processing efficiency.

[0003] It should be noted that the information in the background section above is only used to enhance the understanding of the background of this disclosure, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention

[0004] The purpose of this disclosure is to provide a method for processing performance data, a device for processing performance data, a computer-readable storage medium, and an electronic device, thereby overcoming, at least to some extent, the problem of low data processing efficiency caused by limitations and defects in related technologies.

[0005] According to one aspect of this disclosure, a method for processing performance data is provided, comprising:

[0006] The game engine layer collects raw performance data generated by the target game engine during the execution of the target game task;

[0007] The data parsing layer captures the raw performance data and performs structured processing on the raw performance data to obtain the target performance data;

[0008] The data parsing layer stores the target performance data in the data storage engine and analyzes the target performance data in the data storage engine to obtain engine performance analysis results.

[0009] The front-end presentation layer generates a visual display interface based on the engine performance analysis results and displays the visual display interface so that testers can analyze the performance consumption of the game engine based on the visual display interface.

[0010] According to one aspect of this disclosure, a performance data processing system is provided, comprising:

[0011] The game engine layer is used to collect raw performance data generated by the target game engine during the execution of the target game task.

[0012] A data parsing layer is used to capture the raw performance data and perform structured processing on the raw performance data to obtain target performance data; and

[0013] The target performance data is stored in the data storage engine, and the target performance data in the data storage engine is analyzed to obtain the engine performance analysis results.

[0014] The front-end presentation layer is used to generate a visual display interface based on the engine performance analysis results, and to display the visual display interface so that testers can analyze the performance consumption of the game engine based on the visual display interface.

[0015] According to one aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method for processing performance data as described in any of the preceding claims.

[0016] According to one aspect of this disclosure, an electronic device is provided, comprising:

[0017] Processor; and

[0018] Memory for storing the executable instructions of the processor;

[0019] The processor is configured to execute the performance data processing method described above by executing the executable instructions.

[0020] This disclosure provides a performance data processing method. On one hand, it collects raw performance data generated by a target game engine during the execution of a target game task through a game engine layer. Then, it captures the raw performance data through a data parsing layer and performs structured processing on the raw performance data to obtain target performance data. Next, the data parsing layer stores the target performance data in a data storage engine, analyzes the target performance data in the data storage engine, and obtains engine performance analysis results. Finally, a front-end display layer generates a visual display interface based on the engine performance analysis results and displays the visual display interface, allowing testers to analyze the performance consumption of the game engine based on the visual display interface. This achieves automatic collection, processing, storage, and analysis of performance data, solving the problem of low data processing efficiency in existing technologies due to the inability to automate performance data processing, and improving the efficiency of performance data processing. On the other hand, since a visual display interface can be generated and displayed based on the engine performance analysis results, allowing testers to analyze the performance consumption of the game engine based on the visual display interface, the efficiency of performance consumption analysis is improved.

[0021] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0022] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure. It is obvious that the drawings described below are merely some embodiments of this disclosure, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.

[0023] Figure 1 The flowchart illustrates a method for processing performance data according to an example embodiment of the present disclosure.

[0024] Figure 2 A block diagram illustrating a performance data processing system according to an example embodiment of the present disclosure is shown schematically.

[0025] Figure 3 The diagram illustrates a specific scenario example of a client adapted according to an exemplary embodiment of the present disclosure.

[0026] Figure 4 The illustration shows an example diagram of a visualization interface that includes reporting an overall overview and analyzing macro data, according to an example embodiment of the present disclosure.

[0027] Figure 5 An example diagram is shown schematically of a visual interface including a diagnostic reporting function according to an exemplary embodiment of the present disclosure.

[0028] Figure 6 The diagram illustrates an example of a visualization interface for viewing the stuttering of a specific frame according to an exemplary embodiment of the present disclosure.

[0029] Figure 7 The illustration shows an example scenario of combining a visual display interface for more in-depth analysis according to an example embodiment of the present disclosure.

[0030] Figure 8 The illustration shows an example scenario of automatic comparative analysis based on an automatically labeled benchmark report according to an exemplary embodiment of the present disclosure.

[0031] Figure 9 The illustration shows an example diagram of a visualization interface that displays the loading time of game resources according to an example embodiment of the present disclosure.

[0032] Figure 10 An example diagram is shown schematically of a visualization interface that records the memory status of each frame according to an exemplary embodiment of the present disclosure.

[0033] Figure 11 An example diagram schematically illustrates a visualization interface including detailed system memory data according to an exemplary embodiment of the present disclosure.

[0034] Figure 12 The illustration shows an example scenario of viewing the overall data of each frame of individual data according to an example embodiment of the present disclosure.

[0035] Figure 13 The illustration shows an example scenario of displaying the loading status of the top 100 most time-consuming resources according to an example embodiment of the present disclosure.

[0036] Figure 14 The diagram illustrates an example of a visualization interface for displaying historical trend data under the same use case, according to an example embodiment of the present disclosure.

[0037] Figure 15 This diagram schematically illustrates a block diagram of a performance data processing apparatus according to an exemplary embodiment of the present disclosure.

[0038] Figure 16 An electronic device for implementing the above-described method for processing performance data is illustrated according to an example embodiment of the present disclosure. Detailed Implementation

[0039] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided to make this disclosure more comprehensive and complete, and to fully convey the concept of the example embodiments to those skilled in the art. The described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a full understanding of embodiments of this disclosure. However, those skilled in the art will recognize that the technical solutions of this disclosure can be practiced with one or more of the specific details omitted, or other methods, components, apparatus, steps, etc., can be employed. In other instances, well-known technical solutions are not shown or described in detail to avoid obscuring various aspects of this disclosure.

[0040] Furthermore, the accompanying drawings are merely illustrative of this disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0041] As players' demands for game quality continue to rise, performance optimization has become a critical issue for game developers. In this context, the complexity of gameplay and content necessitates substantial human and material resources for game engine performance testing. This often leads to the following problems for game developers: First, rushed optimization; that is, performance optimization is performed close to game launch or the release of certain game features, using unconventional methods to solve problems, followed by a lack of attention to game performance, resulting in a decline in game quality after repeated iterations. Second, the diverse causes of performance issues; that is, the rapid iteration of game products, such as design configurations and art resources, can cause game lag / memory issues / overheating, etc. However, conducting large-scale performance analysis every time a problem occurs consumes a lot of manpower. Third, the complexity of performance analysis tools; that is, existing performance tools in the industry have a high learning curve, making them difficult for people with weak technical backgrounds to use. Finally, historical version comparison of performance data; that is, functional personnel often do not retain performance data for a long time after recording it, leading to data loss and difficulty in tracing.

[0042] To address the aforementioned issues, some game engines (such as Unreal Engine) offer an engine performance analysis tool called Insights. In practice, Insights requires manual command input during game startup or runtime, after which data is transmitted to Insights via network or file for analysis. However, this approach has the following problems:

[0043] On the one hand, using Unreal Insights for performance testing is cumbersome, with most processes not automated, leading to significant manpower costs due to repetitive tasks. Furthermore, the tool itself requires a learning curve, making it unusable for those without computer science training. On the other hand, the performance analysis results displayed by Unreal Insights are not intuitive and lack multi-dimensional data statistics, hindering analysis by testers. In other words, Unreal Insights is better suited for specialized personnel to pinpoint problems, significantly increasing the cost of performance analysis. Moreover, the massive amount of data recorded by Unreal Insights is difficult to share and store, historical data cannot be effectively utilized, and long-term trend monitoring of performance data is impossible. Furthermore, Unreal Insights lacks the ability to compare and analyze historical data across various dimensions under discrete testing, limiting it to targeted, brute-force solutions (i.e., Unreal Insights cannot directly compare the differences between two performance data sets, nor can it display the overall trend of a metric over time; it can only show the results of a single performance test).

[0044] Based on this, this exemplary embodiment first provides a method for processing performance data, which can run on servers, server clusters, or cloud servers, etc. Of course, those skilled in the art can also run the method disclosed herein on other platforms as needed, and this exemplary embodiment does not impose any special limitations on this. Specifically, refer to... Figure 1 As shown, the method for processing this performance data may include the following steps:

[0045] Step S110. The game engine layer collects the raw performance data generated by the target game engine during the execution of the target game task;

[0046] Step S120. The data parsing layer captures the raw performance data and performs structured processing on the raw performance data to obtain the target performance data;

[0047] Step S130. The data parsing layer stores the target performance data in the data storage engine and analyzes the target performance data in the data storage engine to obtain the engine performance analysis results;

[0048] Step S140. The front-end presentation layer generates a visualization interface based on the engine performance analysis results and displays the visualization interface so that testers can analyze the performance consumption of the game engine based on the visualization interface.

[0049] In the aforementioned performance data processing method, on the one hand, the raw performance data generated by the target game engine during the execution of the target game task is collected through the game engine layer; then, the raw performance data is captured through the data parsing layer and structured to obtain the target performance data; subsequently, the target performance data is stored in the data storage engine through the data parsing layer, and the target performance data in the data storage engine is analyzed to obtain the engine performance analysis results; finally, the front-end display layer generates a visual display interface based on the engine performance analysis results and displays the visual display interface, allowing testers to analyze the performance consumption of the game engine based on the visual display interface. This achieves automatic collection, automatic processing, automatic storage, and automatic analysis of performance data, solving the problem of low data processing efficiency in existing technologies due to the inability to automate performance data processing, and thus improving the efficiency of performance data processing. On the other hand, since a visual display interface can be generated and displayed based on the engine performance analysis results, allowing testers to analyze the performance consumption of the game engine based on the visual display interface, the efficiency of performance consumption analysis is improved.

[0050] The following will provide a detailed explanation and description of the performance data processing method described in the exemplary embodiments of this disclosure, in conjunction with the accompanying drawings.

[0051] First, the proper nouns involved in the exemplary embodiments of this disclosure will be explained and described.

[0052] (1) Built-in Profiler, also known as a built-in performance analysis tool, can be implemented by embedding rich profiling code within the engine; this built-in performance analysis tool also has the following attributes:

[0053] Intrusiveness: This means that it can intrude into the engine code and be compiled together with the engine;

[0054] Configurability: This means that the built-in performance analysis tool itself has system overhead, which has a certain impact on the engine's running performance. Therefore, it can generally be disabled in the Shipping version through compilation switches. At the same time, UE can also add switches for CPU (Central Processing Unit), GPU (Graphics Processing Unit), and Memory in versions such as DEV, which can be dynamically configured when the game is launched.

[0055] Network transmission capability (or local storage capability): The UE can send performance data outwards through the port, or store it as a local file;

[0056] Customizability: Users can customize stubs using the Trace framework provided by UE;

[0057] Of course, the built-in performance analysis tool also features rich content and strong targeting capabilities.

[0058] (2) Client-side adaptation layer: Based on the characteristics of the target game engine, in practical applications, it is first necessary to be familiar with the transmission protocol of the UE engine itself, and to understand the meaning of the UE's Trace framework and performance data. Simultaneously, a client-side adaptation layer is built upon this foundation, and then the UE performance data is parsed using the client-side adaptation layer, organized into formatted data, and stored in Rocksdb. Furthermore, the client-side adaptation layer described here has the following characteristics:

[0059] Non-real-time: This means that the client adaptation layer is mainly used for archiving and tracing, and does not have high requirements for real-time data presentation;

[0060] Non-intrusive: This means that the client adaptation layer can directly parse the profiling data stream without adding plugins or modifying the engine source code;

[0061] Low latency: This means that the client adaptation layer can process the data sent by the client to the target game engine in a timely manner, avoiding the blocking of client data;

[0062] Low resource consumption: This means that the client adaptation layer can provide both file-based and real-time parsing versions;

[0063] Long-term operation: This means that the client adaptation layer can support continuous high-intensity profiling for several hours, with data being stored in real time to avoid memory explosion;

[0064] Fast readability: This means that after the data is parsed, the client adaptation layer can demodulate the data by category and use the embedded database RocksDB for fast data storage and retrieval.

[0065] It should be noted that the reason for setting up a client adaptation layer is that Insights is seamlessly compatible with multiple platforms, and Insights itself is already integrated into the UE engine and can be used directly. Therefore, the client adaptation layer described in this application is also compatible with multiple platforms and consoles, and does not require users to make any modifications to their own games. This can greatly gain the trust of customers who already use the Insights tool and take into account their usage habits, thereby improving the user experience.

[0066] Secondly, the technical implementation principles of the exemplary embodiments of this disclosure will be explained and described. Specifically, the performance data processing method described in the exemplary embodiments of this disclosure can address the problems and process deficiencies existing in Unreal Insights by proposing an automated client performance monitoring platform based on the Unreal Engine. This platform enables automatic collection, processing, storage, and analysis of performance data. Specifically, the automated collection process can be implemented via command-line startup; this method allows users to easily integrate it into various automation frameworks and use the tool to generate game performance data. Simultaneously, the data collection tool hooks the performance data generated by the Unreal Engine. Next, the performance data is processed into a (key, value) format based on its characteristics; where the key is a timestamp and the value is specific performance data (e.g., function call stack and memory values). Further, the data is stored in RocksdDB (RocksdDB is an LSM-tree architecture engine that provides key-value storage and read / write functionality). Simultaneously, real-time parsing and storage to the hard drive can achieve… This effectively solves the problem of Unreal Insights' inability to perform profile (performance analysis) for extended periods. Finally, at the end of the profile (performance analysis), statistical analysis can be performed on the formatted data, which is then sent to a remote server in JSON format to display the corresponding analysis results (i.e., a web report) to the user. Simultaneously, corresponding interfaces are provided in the front-end presentation layer, allowing users to retrieve data for secondary analysis. It's worth noting that the web report provides dozens of dimensions and various clear data classifications, aggregation analysis results, etc., making performance issues readily apparent. This saves testing manpower and allows other personnel to gain a clearer understanding of the relevant data of the test object, improving project development efficiency.

[0067] It should be noted that the target game engine described in this exemplary embodiment may include, but is not limited to, the Unreal Engine, as well as the Maya Engine, Unity, Source Engine, Scream Engine, Cocos2D, and Rampage Engine, etc. This example does not impose any special limitations on this. This exemplary embodiment uses Unreal Engine as the target game engine for illustration. The specific implementation methods of other engines are generally similar, and this example will not elaborate further.

[0068] Furthermore, since the Unreal Engine itself can generate performance data, and this performance data can be sent out via the network or stored as a local file, the example embodiment of this disclosure automatically starts a performance data receiving tool before the game starts. This tool parses the data (by parsing the Unreal Engine's transmission protocol) into formatted data via the network (ensuring low latency and no blocking when receiving network data) or by generating a Utrace file. The formatted data is then analyzed and processed, uploaded to the server, and displayed according to user needs. In practical applications, the entire process is easy to learn and operate, with no learning curve, and the resulting reports can be customized. Therefore, all personnel can browse performance data through the website or obtain formatted data for analysis through the website interface. This approach effectively saves testing manpower and improves project development efficiency.

[0069] Finally, the performance data processing system involved in the exemplary embodiments of this disclosure will be explained and described. Specifically, refer to... Figure 2 As shown, the performance data processing system may include a game engine layer 210, a data parsing layer 220, and a front-end presentation layer 230. The game engine layer communicates with the data parsing layer via a wired or wireless network, and the data parsing layer communicates with the front-end presentation layer via a wired or wireless network. Additionally, the performance data processing system may also include a data storage engine 240, which communicates with the data parsing layer via a wired or wireless network.

[0070] In practical applications, the game engine layer can be used to collect raw performance data generated by the target game engine during the execution of the target game task; the data parsing layer can be used to capture the raw performance data and perform structured processing on the raw performance data to obtain target performance data; at the same time, the data parsing layer can also be used to store the target performance data in the data storage engine, analyze the target performance data in the data storage engine, and obtain engine performance analysis results; the front-end display layer can be used to generate a visual display interface based on the engine performance analysis results, and display the visual display interface so that testers can analyze the performance consumption of the game engine based on the visual display interface.

[0071] The following will combine Figure 2 right Figure 1 The processing method for the performance data shown will be further explained and illustrated. Specifically:

[0072] In step S110, the game engine layer collects the raw performance data generated by the target game engine during the execution of the target game task.

[0073] Specifically, at the game engine layer, the raw performance data generated by the target game engine during the execution of the target game task can be collected in the following way: First, multiple different data transmission channels are configured in the target game engine, and the switches of each data transmission channel are turned on before the target game engine starts; wherein, each data transmission channel corresponds one-to-one with the performance attributes of the target game engine; second, based on a preset data acquisition tool, the raw performance data generated by the target game engine during the execution of the target game task is collected through the data transmission channels; wherein, the performance attributes recorded here may include CPU performance attributes, GPU performance attributes, and memory performance attributes, etc.; the data transmission channels recorded here may include a first data transmission channel corresponding to the CPU performance attributes, a second data transmission channel corresponding to the GPU performance attributes, and a third data transmission channel corresponding to the memory performance attributes, etc.

[0074] In one example embodiment, the raw performance data generated by the target game engine during the execution of the target game task is collected through the data transmission channel using a preset data acquisition tool. This can be achieved in the following ways: First raw performance data corresponding to the central processing unit performance attributes is collected through a first data transmission channel using a preset data acquisition tool; and / or second raw performance data corresponding to the graphics processing unit performance attributes is collected through a second data transmission channel using a preset data acquisition tool; and / or third raw performance data corresponding to the memory performance attributes is collected through a third data transmission channel using a preset data acquisition tool.

[0075] The following will explain the specific process of collecting raw performance data. Specifically, in practical applications, firstly, multiple different data transmission channels can be configured in the target game engine (for example, Unreal Engine), such as CPU channels, GPU channels, and Memory channels, etc., and each data transmission channel is initialized based on the Setup function; then, before the target game engine starts, the switches of each data transmission channel are turned on; after the target game engine starts, the data collection tool can hook the raw performance data generated by the Unreal Engine based on each data transmission channel.

[0076] It's worth noting that collecting raw performance data for different performance attributes through appropriate data transmission channels facilitates direct analysis of the corresponding performance attributes during subsequent data analysis, thereby improving data analysis efficiency. Furthermore, after collecting the relevant performance data, the game engine layer can either store it directly on its local disk or send it to the intermediate adaptation layer via network streaming; this example does not impose any special restrictions on this.

[0077] In step S120, the data parsing layer captures the raw performance data and performs structured processing on the raw performance data to obtain the target performance data.

[0078] In this example embodiment, firstly, raw performance data is captured through a data parsing layer. Specifically, this can be achieved as follows: based on the data transmission channel corresponding to the raw performance data, the raw performance data generated by the target game engine during the execution of the target game task is captured from the local disk of the game engine layer; or based on preset data receiving rules, the raw performance data generated by the target game engine during the execution of the target game task is received by the game engine layer through the data transmission channel corresponding to the raw performance data. The preset data receiving rules include at least one of low latency, low CPU overhead, and non-blocking. That is, in practical applications, raw performance data can be captured by directly obtaining the raw performance data from the target game engine's local disk, or the raw data stream transmitted by the game engine layer can be received in real time. Simultaneously, during real-time reception of the raw data stream, the principle of not making intrusive modifications to the original engine must be maintained during data capture, and the principles of low latency, low CPU overhead, and non-blocking must be followed. Furthermore, the reason for adhering to the principles of low latency, low CPU overhead, and non-blocking is to avoid excessive resource consumption during performance data transmission affecting game operation.

[0079] Secondly, the raw performance data is structured to obtain target performance data. Specifically, this can be achieved as follows: First, the raw performance data is parsed to obtain the data generation time and detailed data information. Second, using the data generation time as the key and the detailed data information as the value, target performance data corresponding to the raw performance data is constructed. That is, the raw performance data needs to be organized into a key-value format for storage. This avoids the problems of existing technologies, such as the massive data volume after recording in Unreal Insights making sharing and storage difficult, the inability to effectively utilize historical data, and the inability to monitor long-term performance trends. It also avoids the problem that Unreal Insights lacks the ability to compare and analyze historical data across various dimensions under discrete testing, and can only solve problems through targeted testing (i.e., Unreal Insights cannot directly compare the differences between two sets of performance data results, cannot show the overall trend of a certain indicator over time, and can only show the results of a single performance test).

[0080] In step S130, the data parsing layer stores the target performance data in the data storage engine and analyzes the target performance data in the data storage engine to obtain engine performance analysis results.

[0081] In this example embodiment, the target performance data is first stored in the data storage engine. Specifically, this can be achieved as follows: based on preset data storage rules, the target performance data is written into the data storage engine; wherein, the preset data storage rules include a data throughput greater than a preset throughput threshold and a resource consumption less than a preset resource consumption threshold. That is, in practical applications, data uploads should adhere to the principle of having sufficiently high data throughput and consuming sufficiently low resources, thereby avoiding the problem of excessive resource consumption affecting game operation during data uploads.

[0082] It should be noted that, by writing the target performance data to Rocksdb instead of directly to the hard disk, the example embodiment of this disclosure can greatly reduce the high CPU usage caused by writing to the hard disk in a multi-threaded manner. At the same time, it can also greatly reduce memory usage, thereby significantly improving the use of CPU and memory.

[0083] Secondly, the target performance data in the data storage engine is analyzed to obtain engine performance analysis results. The target performance data described here may include, but is not limited to, first target performance data corresponding to the CPU performance attribute, second target performance data corresponding to the GPU performance attribute, and third target performance data corresponding to the memory performance attribute, etc. In this scenario, the analysis of the target performance data in the data storage engine to obtain engine performance analysis results can be achieved in the following ways: Based on a preset built-in performance analysis tool, the first target performance data in the data storage engine is analyzed to obtain a first engine performance analysis result corresponding to the CPU performance attribute; and / or based on a preset built-in performance analysis tool, the second target performance data in the data storage engine is analyzed to obtain a second engine performance analysis result corresponding to the GPU performance attribute; and / or based on a preset built-in performance analysis tool, the third target performance data in the data storage engine is analyzed to obtain a third engine performance analysis result corresponding to the memory performance attribute.

[0084] In one example embodiment, analyzing the first target performance data in the data storage engine to obtain a first engine performance analysis result corresponding to the CPU performance attribute can be achieved as follows: based on the key of the first target performance data, obtain detailed data information corresponding to the CPU performance attribute at two different time points from the data storage engine; compare the detailed data information at the two different time points to obtain the first engine performance analysis result corresponding to the CPU performance attribute; wherein, the first engine performance analysis result includes the CPU performance consumption at the two different time points.

[0085] In one example embodiment, based on a preset built-in performance analysis tool, the second target performance data in the data storage engine is analyzed to obtain a second engine performance analysis result corresponding to the graphics processor performance attribute. This can be achieved as follows: according to the key of the second target performance data, detailed data information corresponding to the graphics processor performance attribute at two different time points is obtained from the data storage engine; the detailed data information at the two different time points is compared to obtain the second engine performance analysis result corresponding to the graphics processor performance attribute; wherein, the second engine performance analysis result includes the performance consumption of the graphics processor at the two different time points.

[0086] In one example embodiment, based on a preset built-in performance analysis tool, the third target performance data in the data storage engine is analyzed to obtain a third engine performance analysis result corresponding to the memory performance attribute. This can be achieved as follows: based on the key of the third target performance data, detailed data information corresponding to the memory performance attribute at two different time points is obtained from the data storage engine; the detailed data information at the two different time points is compared to obtain the third engine performance analysis result corresponding to the memory performance attribute; wherein, the third engine performance analysis result includes the memory usage of the memory at the two different time points.

[0087] Furthermore, after obtaining the corresponding engine performance analysis results, the processing method for this performance data may further include: a data parsing layer converting the engine performance analysis results with a first preset data format to obtain engine performance analysis results with a second preset data format, and uploading the engine performance analysis results with the second preset data format to the front-end display layer; wherein, the first preset data format includes an object structure data format presented in key-value pair form, and the second preset data format includes a standard JSON string format. That is, in practical applications, in order to achieve a visual display of the engine performance analysis results, it is necessary to convert the engine performance analysis results into a visual JSON string format before uploading them to the front-end display layer, thereby achieving the goal of solving the inability to visualize in the existing technology; furthermore, in order to further save resources, the converted engine performance analysis results may be compressed before uploading them to the front-end display layer, and then the compressed engine performance analysis results are uploaded to the front-end display layer.

[0088] In one example embodiment, compressing the format-converted engine performance analysis results can be achieved as follows: First, construct the header and footer of a GZIP format file, and parse the engine performance analysis results with a second preset data format to obtain the original text, matching length, and offset distance included in the engine performance analysis results with the second preset data format; second, perform Huffman coding on the original text, matching length, and offset distance to obtain data blocks with Deflate format, and encapsulate the header, footer, and data blocks with Deflate format to obtain the compressed engine performance analysis results.

[0089] In one example embodiment, the file header of a GZIP format file can be constructed as follows: First, the first byte of the GZIP format checksum in the file header is set to a first preset value, and the second byte of the GZIP format checksum is set to a second preset value; second, the compression algorithm identifier in the file header is set to a third preset value, and each bit of the flag bits in the file header is set to zero; then, the source file timestamp in the file header is set to the current time, and the additional flags and operating system flags in the file header are both set to a fourth preset value.

[0090] In step S140, the front-end presentation layer generates a visualization interface based on the engine performance analysis results and displays the visualization interface so that testers can analyze the performance consumption of the game engine based on the visualization interface.

[0091] Specifically, after receiving the engine performance analysis results, the front-end presentation layer can generate and display the corresponding visual interface, allowing testers to analyze the performance consumption of the game engine based on the visual interface. For example, the visual interface can be used to analyze the parts of the game that consume too much CPU, GPU, or memory, so that abnormal parts can be debugged in a timely manner and the game can run normally.

[0092] It should be added that in practical applications, alarms can be pushed for daily, weekly, and version-specific FPS fluctuations, and even all performance metrics exceeding the set threshold can be monitored.

[0093] Furthermore, in practical applications, users can also perform secondary analysis on the target performance data stored in the data storage engine based on the front-end presentation layer. Specifically, this can be achieved as follows: the front-end presentation layer responds to a data analysis request sent by the user terminal, parses the request to obtain the performance attribute to be analyzed and the data generation time of that attribute; the front-end presentation layer retrieves detailed data information of the performance attribute to be analyzed from the data storage engine based on the attribute and its generation time; the front-end presentation layer calls the data transmission channel corresponding to the performance attribute to be analyzed and sends the detailed data information to the user terminal via the data transmission channel, enabling the user terminal to analyze the performance of the target game engine based on the detailed data information. In other words, in practical applications, other users can access data reports through the front-end presentation layer or retrieve data for secondary analysis via scripts.

[0094] Thus, the performance data processing method described in the exemplary embodiments of this disclosure has been fully implemented. The following will explain and illustrate the specific application scenarios of the performance data processing method in practical applications, in conjunction with specific embodiments.

[0095] The following sections will showcase the highlights and unique data visualizations, and will also include specific reports explaining how users analyze and utilize performance data.

[0096] In one example embodiment, an adapter client is required when performing performance analysis; specifically, the client's specific adaptation scenarios can be found in [reference needed]. Figure 3 As shown; in one example embodiment, the visualization interface may include an overall report overview - analyzing macro data, and specific example figures can be found in [reference]. Figure 4 As shown; meanwhile, the bolded parts may be data that could exceed the given safety value, and the left side shows the classification of various data.

[0097] In one example embodiment, the visualization interface may further include report diagnostic functions; for example, based on this visualization interface, automatic analysis of stuttering frames can be performed, listing the consumption ranking of all data on the stuttering frames, and users can focus on the top-ranked indicators that experience significant fluctuations; specific scenario diagrams can be referenced. Figure 5 As shown; in one example embodiment, the visualization interface can also view the stuttering situation of a specific frame; wherein, the specific scene diagram can be referred to Figure 6 As shown; for example, in Figure 6 In the scene diagram shown, the CPU Stall-Wait For Event function not only ranks first in selftime but also exhibits significant fluctuations in the data during the stuttering frame, making this function highly likely the cause of the stutter. However, within a single frame, we can see numerous paths in the function stack calling CPU Stall-Wait For Event. How can we narrow down the search scope? Since the stack list is sorted, we can see that the top-ranked call stack was only called once, consuming 31ms, which is the culprit behind the stutter. This demonstrates a process of using GPM to analyze and resolve the issue. This example only reveals one of GPM's most convenient analysis methods and does not impose any special limitations on it.

[0098] In one example embodiment, a more in-depth analysis can be performed by combining a visual display interface. Specific scenario example diagrams can be found in [reference needed]. Figure 7 As shown; furthermore, automatic comparative analysis can be performed based on automatically tagged benchmark reports (historical reports of the same model and test cases), where the resulting scenario example diagrams can be referenced. Figure 8As shown; furthermore, the visualization interface can also display the loading time of game resources, and the resulting scene example image can be referenced. Figure 9 As shown.

[0099] In one example embodiment, the UE's memory analysis function can also capture UE stats profile and memreport data, thereby solving the problem of the UE's native memreport data having a messy format and extremely poor readability. Furthermore, it also records the memory status of each frame, essentially recording a memory snapshot for all frames. The specific scenario example diagram obtained can be found in [reference needed]. Figure 10 As shown.

[0100] In one example embodiment, the visualization interface also includes LLM (Low Level Memory Tracker) system memory data from the UE engine; detailed information on the specific system memory data can be found in [reference needed]. Figure 11 As shown; in practical applications, you can also click on specific items to view the overall data situation of each frame for that item, which can help determine whether there is a memory leak; for specific scenario examples, please refer to the diagram. Figure 12 As shown in the image; furthermore, it can directly display the loading, post-processing, serialization, and other time-consuming data of the top 100 most time-consuming resources, making it easier for projects to locate resource loading timeout issues; specific scenario example images can be found in the image. Figure 13 As shown.

[0101] In one example embodiment, the visualization interface can also pre-create and customize data items, supporting the labeling of multiple custom data items, and can be used to display historical trend data under the same use case; specific scenario example diagrams can be found here. Figure 14 As shown.

[0102] Thus, the performance data analysis method described in the exemplary embodiments of this disclosure has been fully implemented. Based on the foregoing description, it can be understood that the performance data analysis method described in the exemplary embodiments of this disclosure achieves the following functions: On the one hand, it provides all data interfaces for secondary analysis of projects; on the other hand, it can be easily integrated into various automation frameworks to automatically start games and collect data, using Unreal Insights to collect performance data; furthermore, it can use command line (integration with automation) or GUI interface to receive raw performance data via file stream or network stream, where the network data part must be low latency and non-blocking, and then parsed and organized to obtain formatted data, which is efficiently stored using an embedded key-value database; furthermore, it can read formatted local data, use Python for calculation, organization, and data compression, and upload it to the server; at the same time, users can also access data reports through a webpage or pull data for secondary analysis through scripts.

[0103] Furthermore, the performance data processing method described in the exemplary embodiments of this disclosure can quickly realize automated performance testing of UE projects, generating massive amounts of performance test data per unit time, and achieving accurate monitoring of performance data for each version and each performance test case. Moreover, by converting performance data from binary data to a database, it achieves storability, monitorability, and traceability, and can be visualized on a webpage, significantly improving readability and enabling non-performance professionals to easily read and analyze game performance data. Furthermore, it greatly saves time and manpower costs in UE performance testing, eliminating reliance on the engine's own hardcore performance testing tools and significantly reducing labor costs. Even further, it is seamlessly compatible with multiple platforms, including consoles, and can be used directly without any engine modifications, eliminating the need for complex engine modifications and merges; it is simple and straightforward, with virtually zero integration costs.

[0104] The following are embodiments of the apparatus disclosed herein, which can be used to execute embodiments of the method disclosed herein. For details not disclosed in the apparatus embodiments of this disclosure, please refer to the embodiments of the method disclosed herein.

[0105] This disclosure also provides an example embodiment of a performance data processing apparatus. Specifically, refer to... Figure 15 As shown, the performance data processing device may include a performance data acquisition module 1510, a structured processing module 1520, a performance data analysis module 1530, and an interface display module 1540. Wherein:

[0106] The performance data acquisition module 1510 can be used to collect raw performance data generated by the target game engine during the execution of the target game task through the game engine layer;

[0107] The structured processing module 1520 can be used to capture the raw performance data through the data parsing layer and perform structured processing on the raw performance data to obtain target performance data.

[0108] The performance data analysis module 1530 can be used to store the target performance data to the data storage engine through the data parsing layer, and analyze the target performance data in the data storage engine to obtain engine performance analysis results.

[0109] The interface display module 1540 can be used to generate a visual display interface based on the engine performance analysis results through the front-end display layer, and display the visual display interface so that testers can analyze the performance consumption of the game engine based on the visual display interface.

[0110] In one example embodiment of this disclosure, collecting raw performance data generated by the target game engine during the execution of the target game task includes: configuring multiple different data transmission channels in the target game engine, and turning on the switches of each of the data transmission channels before the target game engine starts; wherein, the data transmission channels correspond one-to-one with the performance attributes of the target game engine; and collecting the raw performance data generated by the target game engine during the execution of the target game task through the data transmission channels using a preset data acquisition tool.

[0111] In one example embodiment of this disclosure, the performance attributes include at least one of central processing unit (CPU) performance attributes, graphics processing unit (GPU) performance attributes, and memory performance attributes; the data transmission channels include at least one of a first data transmission channel corresponding to the CPU performance attributes, a second data transmission channel corresponding to the GPU performance attributes, and a third data transmission channel corresponding to the memory performance attributes; wherein, based on a preset data acquisition tool, the raw performance data generated by the target game engine during the execution of the target game task is collected through the data transmission channels, including: based on a preset data acquisition tool, collecting the first raw performance data corresponding to the CPU performance attributes generated by the target game engine during the execution of the target game task through the first data transmission channel; and / or based on a preset data acquisition tool, collecting the second raw performance data corresponding to the GPU performance attributes generated by the target game engine during the execution of the target game task through the second data transmission channel; and / or based on a preset data acquisition tool, collecting the third raw performance data corresponding to the memory performance attributes generated by the target game engine during the execution of the target game task through the third data transmission channel.

[0112] In one example embodiment of this disclosure, capturing the raw performance data includes: capturing raw performance data generated by the target game engine during the execution of a target game task from the local disk of the game engine layer based on a data transmission channel corresponding to the raw performance data; or receiving raw performance data generated by the target game engine during the execution of a target game task sent by the game engine layer through a data transmission channel corresponding to the raw performance data based on a preset data receiving rule; wherein the preset data receiving rule includes at least one of low latency, low CPU overhead, and non-blocking.

[0113] In one example embodiment of this disclosure, the raw performance data is structured to obtain target performance data, including: parsing the raw performance data to obtain the data generation time and detailed data information of the raw performance data; and constructing target performance data corresponding to the raw performance data using the data generation time as the key and the detailed data information as the value.

[0114] In one example embodiment of this disclosure, storing the target performance data in a data storage engine includes: writing the target performance data into the data storage engine based on preset data storage rules; wherein the preset data storage rules include a data throughput greater than a preset throughput threshold and a resource consumption less than a preset resource consumption threshold.

[0115] In one example embodiment of this disclosure, the target performance data includes at least one of a first target performance data corresponding to a central processing unit (CPU) performance attribute, a second target performance data corresponding to a graphics processing unit (GPU) performance attribute, and a third target performance data corresponding to a memory performance attribute. The analysis of the target performance data in the data storage engine to obtain engine performance analysis results includes: analyzing the first target performance data in the data storage engine based on a preset built-in performance analysis tool to obtain a first engine performance analysis result corresponding to the CPU performance attribute; and / or analyzing the second target performance data in the data storage engine based on a preset built-in performance analysis tool to obtain a second engine performance analysis result corresponding to the GPU performance attribute; and / or analyzing the third target performance data in the data storage engine based on a preset built-in performance analysis tool to obtain a third engine performance analysis result corresponding to the memory performance attribute.

[0116] In one example embodiment of this disclosure, analyzing the first target performance data in the data storage engine to obtain a first engine performance analysis result corresponding to the central processing unit (CPU) performance attribute includes: obtaining detailed data information corresponding to the CPU performance attribute at two different time points from the data storage engine based on the key of the first target performance data; comparing the detailed data information at the two different time points to obtain the first engine performance analysis result corresponding to the CPU performance attribute; wherein the first engine performance analysis result includes the performance consumption of the CPU at the two different time points.

[0117] In one exemplary embodiment of this disclosure, the performance data processing apparatus further includes:

[0118] The engine performance analysis result upload module can be used to convert the engine performance analysis results with a first preset data format through the data parsing layer to obtain the engine performance analysis results with a second preset data format, and upload the engine performance analysis results with the second preset data format to the front-end display layer; wherein, the first preset data format includes an object structure data format presented in the form of key-value pairs, and the second preset data format includes a standard JSON string format.

[0119] In one exemplary embodiment of this disclosure, the performance data processing apparatus further includes:

[0120] The data analysis request parsing module can be used to parse the data analysis request sent by the user terminal in response to the front-end display layer, and obtain the performance attribute to be analyzed and the data generation time of the performance attribute to be analyzed.

[0121] The detailed data acquisition module can be used to acquire detailed data of the performance attribute to be analyzed from the data storage engine through the front-end display layer based on the performance attribute to be analyzed and the data generation time of the performance attribute to be analyzed;

[0122] The data details sending module can be used by the front-end presentation layer to call the data transmission channel corresponding to the performance attribute to be analyzed, and send the data details to the user terminal based on the data transmission channel, so that the user terminal can analyze the performance of the target game engine based on the data details.

[0123] The specific details of each module in the aforementioned performance data processing device have been described in detail in the corresponding performance data processing methods, so they will not be repeated here.

[0124] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0125] Furthermore, although the steps of the method in this disclosure are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.

[0126] In an exemplary embodiment of this disclosure, an electronic device capable of implementing the above-described method is also provided.

[0127] Those skilled in the art will understand that various aspects of this disclosure can be implemented as a system, method, or program product. Therefore, various aspects of this disclosure can be specifically implemented in the following forms: a completely hardware implementation, a completely software implementation (including firmware, microcode, etc.), or a combination of hardware and software aspects, collectively referred to herein as a "circuit," "module," or "system."

[0128] The following reference Figure 16 To describe an electronic device 1600 according to such an embodiment of the present disclosure. Figure 16 The electronic device 1600 shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments disclosed herein.

[0129] like Figure 16 As shown, the electronic device 1600 is manifested in the form of a general-purpose computing device. The components of the electronic device 1600 may include, but are not limited to: at least one processing unit 1610, at least one storage unit 1620, a bus 1630 connecting different system components (including storage unit 1620 and processing unit 1610), and a display unit 1640.

[0130] The storage unit stores program code that can be executed by the processing unit 1610, causing the processing unit 1610 to perform the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of this disclosure. For example, the processing unit 1610 can perform actions such as... Figure 1The steps shown are as follows: Step S110: The game engine layer collects the raw performance data generated by the target game engine during the execution of the target game task; Step S120: The data parsing layer captures the raw performance data and performs structured processing on the raw performance data to obtain target performance data; Step S130: The data parsing layer stores the target performance data in the data storage engine and analyzes the target performance data in the data storage engine to obtain engine performance analysis results; Step S140: The front-end display layer generates a visual display interface based on the engine performance analysis results and displays the visual display interface so that testers can analyze the performance consumption of the game engine based on the visual display interface.

[0131] Storage unit 1620 may include readable media in the form of volatile storage units, such as random access memory (RAM) 16201 and / or cache memory 16202, and may further include read-only memory (ROM) 16203.

[0132] Storage unit 1620 may also include a program / utility 16204 having a set (at least one) program module 16205, such program module 16205 including but not limited to: operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.

[0133] Bus 1630 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.

[0134] Electronic device 1600 can also communicate with one or more external devices 1700 (e.g., keyboard, pointing device, Bluetooth device, etc.), one or more devices that enable a user to interact with electronic device 1600, and / or any device that enables electronic device 1600 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 1650. Furthermore, electronic device 1600 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 1660. As shown, network adapter 1660 communicates with other modules of electronic device 1600 via bus 1630. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 1600, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0135] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the methods according to the embodiments of this disclosure.

[0136] In exemplary embodiments of this disclosure, a computer-readable storage medium is also provided, on which a program product capable of implementing the methods described above is stored. In some possible implementations, various aspects of this disclosure may also be implemented as a program product including program code that, when the program product is run on a terminal device, causes the terminal device to perform the steps of the various exemplary embodiments of this disclosure described in the "Exemplary Methods" section above.

[0137] The program product for implementing the above-described method according to embodiments of the present disclosure may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited thereto. In this document, the readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.

[0138] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0139] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting programs for use by or in conjunction with an instruction execution system, apparatus, or device.

[0140] The program code contained on the readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.

[0141] Program code for performing the operations of this disclosure can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java and C++, and conventional procedural programming languages ​​such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0142] Furthermore, the above figures are merely illustrative of the processes included in the method according to exemplary embodiments of this disclosure and are not intended to be limiting. It is readily understood that the processes shown in the above figures do not indicate or limit the temporal order of these processes. Additionally, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.

[0143] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention described herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not invented by this disclosure. The specification and embodiments are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the claims.

Claims

1. A method for processing performance data, characterized in that, include: The game engine layer collects raw performance data generated by the target game engine during the execution of the target game task; The data parsing layer captures the raw performance data and performs structured processing on the raw performance data to obtain the target performance data; The data parsing layer stores the target performance data into the data storage engine based on preset data storage rules, and analyzes the target performance data in the data storage engine to obtain engine performance analysis results; wherein, the preset data storage rules include data throughput being greater than a preset throughput threshold and resource consumption being less than a preset resource consumption threshold. The front-end presentation layer generates a visual display interface based on the engine performance analysis results and displays the visual display interface so that testers can analyze the performance consumption of the game engine based on the visual display interface.

2. The performance data processing method according to claim 1, characterized in that, Collect raw performance data generated by the target game engine during the execution of the target game task, including: Multiple different data transmission channels are configured in the target game engine, and the switches of each data transmission channel are turned on before the target game engine starts; wherein, each data transmission channel corresponds one-to-one with the performance attributes of the target game engine; Based on a preset data acquisition tool, the raw performance data generated by the target game engine during the execution of the target game task is collected through the data transmission channel.

3. The performance data processing method according to claim 2, characterized in that, Performance attributes include at least one of central processing unit performance attributes, graphics processing unit performance attributes, and memory performance attributes; The data transmission channel includes at least one of a first data transmission channel corresponding to the performance attributes of the central processing unit, a second data transmission channel corresponding to the performance attributes of the graphics processing unit, and a third data transmission channel corresponding to the performance attributes of the memory. Specifically, based on a preset data acquisition tool, the raw performance data generated by the target game engine during the execution of the target game task is collected through the data transmission channel, including: Based on a preset data acquisition tool, first raw performance data corresponding to the central processing unit performance attributes generated by the target game engine during the execution of the target game task is acquired through a first data transmission channel; and / or Based on a preset data acquisition tool, second raw performance data corresponding to the graphics processor performance attributes generated by the target game engine during the execution of the target game task is acquired through a second data transmission channel; and / or Based on a preset data acquisition tool, the third raw performance data corresponding to the memory performance attributes generated by the target game engine during the execution of the target game task is acquired through a third data transmission channel.

4. The performance data processing method according to claim 1, characterized in that, The raw performance data is captured, including: Based on the data transmission channel corresponding to the raw performance data, the raw performance data generated by the target game engine during the execution of the target game task is retrieved from the local disk of the game engine layer; or Based on preset data receiving rules, the game engine layer receives the original performance data generated by the target game engine during the execution of the target game task, which is sent by the game engine layer through the data transmission channel corresponding to the original performance data; The preset data acceptance rules include at least one of low latency, low CPU overhead, and non-blocking.

5. The performance data processing method according to claim 1, characterized in that, The raw performance data is structured to obtain target performance data, including: The raw performance data is parsed to obtain the data generation time and detailed data information of the raw performance data. Using the data generation time as the key and the detailed data information as the value, construct target performance data corresponding to the original performance data.

6. The performance data processing method according to claim 1, characterized in that, The target performance data includes at least one of the following: first target performance data corresponding to the performance attributes of the central processing unit, second target performance data corresponding to the performance attributes of the graphics processing unit, and third target performance data corresponding to the performance attributes of the memory. This includes analyzing the target performance data in the data storage engine to obtain engine performance analysis results, including: Based on the preset built-in performance analysis tools, the first target performance data in the data storage engine is analyzed to obtain the first engine performance analysis results corresponding to the performance attributes of the central processing unit; and / or Based on the preset built-in performance analysis tools, the second target performance data in the data storage engine is analyzed to obtain the second engine performance analysis results corresponding to the graphics processor performance attributes; and / or Based on the preset built-in performance analysis tool, the third target performance data in the data storage engine is analyzed to obtain the third engine performance analysis results corresponding to the memory performance attributes.

7. The performance data processing method according to claim 6, characterized in that, The first target performance data in the data storage engine is analyzed to obtain the first engine performance analysis results corresponding to the central processing unit performance attributes, including: Based on the key of the first target performance data, retrieve detailed data information corresponding to the central processing unit performance attributes with two different time points from the data storage engine; By comparing detailed data from two different time points, the performance analysis results of the first engine corresponding to the performance attributes of the central processing unit are obtained. The first engine performance analysis results include the performance consumption of the central processing unit at two different time points.

8. The method for processing performance data according to claim 1, characterized in that, After obtaining the engine performance analysis results, the method for processing the performance data further includes: The data parsing layer converts the engine performance analysis results with a first preset data format to obtain engine performance analysis results with a second preset data format, and uploads the engine performance analysis results with the second preset data format to the front-end display layer. The first preset data format includes an object structure data format presented in key-value pair form, and the second preset data format includes a standard JSON string format.

9. The performance data processing method according to claim 1, characterized in that, The method for processing the performance data also includes: The front-end presentation layer responds to the data analysis request sent by the user terminal, parses the data analysis request, and obtains the performance attribute to be analyzed and the data generation time of the performance attribute to be analyzed. The front-end presentation layer obtains detailed data information of the performance attribute to be analyzed from the data storage engine based on the performance attribute to be analyzed and the data generation time of the performance attribute to be analyzed; The front-end presentation layer invokes the data transmission channel corresponding to the performance attribute to be analyzed, and sends the detailed data information to the user terminal based on the data transmission channel, so that the user terminal can analyze the performance of the target game engine based on the detailed data information.

10. A performance data processing system, characterized in that, include: The game engine layer is used to collect raw performance data generated by the target game engine during the execution of the target game task. The data parsing layer is used to capture the raw performance data and perform structured processing on the raw performance data to obtain the target performance data. as well as The target performance data is stored in the data storage engine based on preset data storage rules. The target performance data in the data storage engine is analyzed to obtain engine performance analysis results. The preset data storage rules include data throughput greater than a preset throughput threshold and resource consumption less than a preset resource consumption threshold. The front-end presentation layer is used to generate a visual display interface based on the engine performance analysis results, and to display the visual display interface so that testers can analyze the performance consumption of the game engine based on the visual display interface.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the performance data processing method according to any one of claims 1-9.

12. An electronic device, characterized in that, include: processor; as well as Memory for storing the executable instructions of the processor; The processor is configured to perform the performance data processing method according to any one of claims 1-9 by executing the executable instructions.

Citation Information

Patent Citations

  • Submarine naval battle game implementation method and system based on simulation calculation engine

    CN105363198A

  • Automated cross-session video game testing

    US10949325B1