Movatterモバイル変換


[0]ホーム

URL:


CN120803867A - Performance report display method, device, apparatus, medium and program product - Google Patents

Performance report display method, device, apparatus, medium and program product

Info

Publication number
CN120803867A
CN120803867ACN202510905408.1ACN202510905408ACN120803867ACN 120803867 ACN120803867 ACN 120803867ACN 202510905408 ACN202510905408 ACN 202510905408ACN 120803867 ACN120803867 ACN 120803867A
Authority
CN
China
Prior art keywords
performance
performance data
time
mode
threshold
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202510905408.1A
Other languages
Chinese (zh)
Inventor
王一妃
何璐
吴一凡
廖诚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co LtdfiledCriticalTencent Technology Shenzhen Co Ltd
Publication of CN120803867ApublicationCriticalpatent/CN120803867A/en
Pendinglegal-statusCriticalCurrent

Links

Abstract

The application discloses a performance report display method, a performance report display device, performance report display equipment, performance report display media and performance report display program products, which are applied to the field of man-machine interaction. The method comprises the steps of receiving performance data of a target application program when the target application program runs, responding to selection operation, selecting a display mode from candidate display modes, wherein the different candidate display modes indicate performance reports with different corresponding detailed degrees, and displaying the performance reports of the performance data in the display mode, wherein the performance reports are used for displaying analysis results of the performance data in a visual mode. The scheme improves the man-machine interaction efficiency.

Description

Performance report display method, device, apparatus, medium and program product
Technical Field
The embodiment of the application relates to the field of man-machine interaction, in particular to a performance report display method, a performance report display device, performance report display equipment, performance report display media and performance report display program products.
Background
The engine is a game development tool which provides a great deal of core technology, data generation tools and basic support for game developers, and is widely applied to the fields of game development, film and television production and the like. The analysis system is a debugging and analysis tool provided by the engine for performance analysis and optimization, which can help game developers understand performance bottlenecks of the game or application.
In the related art, the analysis system directly displays the collected time-consuming information in combination with the time axis. Wherein the time-consuming information is the time consumed by the execution of the program code.
However, in this manner of displaying the information in combination with the time axis, the developer has difficulty in capturing useful information from the time axis, which results in low human-computer interaction efficiency.
Disclosure of Invention
The embodiment of the application provides a performance report display method, device, equipment, medium and program product. The technical scheme is as follows:
in one aspect, a method for displaying a performance report is provided, the method comprising:
receiving performance data of a target application program when the target application program runs;
responding to a selection operation, selecting a display mode from candidate display modes, wherein the corresponding detail degrees of the performance reports indicated by different candidate display modes are different;
And displaying a performance report of the performance data in the display mode, wherein the performance report is used for displaying analysis results of the performance data in a visual form.
In another aspect, there is provided a display device for performance reporting, the device comprising:
The receiving module is used for receiving the performance data of the target application program when the target application program runs;
The processing module is used for responding to the selection operation, selecting a display mode from candidate display modes, wherein the detail degrees corresponding to the performance reports indicated by different candidate display modes are different;
and the display module is used for displaying a performance report of the performance data in the display mode, wherein the performance report is used for displaying the analysis result of the performance data in a visual form.
In another aspect, a computer device is provided that includes a processor and a memory storing a computer program that is loaded and executed by the processor to implement a method of displaying a performance report as described above.
In another aspect, a computer readable storage medium is provided, which stores a computer program that is loaded and executed by a processor to implement a method of displaying a performance report as described above.
In another aspect, a computer program product is provided, the computer program product comprising computer instructions stored in a computer readable storage medium, from which a processor retrieves the computer instructions, causing the processor to load and execute to implement a method of displaying a performance report as described above.
The technical scheme provided by the embodiment of the application has the beneficial effects that at least:
A method is provided for supporting performance reporting of display performance data in different display modes. By receiving performance data generated at the time of the target application program run, the developer can select a display mode from among different candidate display modes by a selection operation, and display a performance report of the performance data in the display mode. Because the corresponding detail degrees of the performance reports indicated by different candidate display modes are different, a developer can automatically select and view the performance reports with different detail degrees according to actual service demands, the knowledge degree of the developer on the service and the engine, the development knowledge possessed by the developer and other factors, so that the performance report is more adaptive and suitable for novice developers unfamiliar with the service, developers familiar with the service and senior developers familiar with the engine and the service, and the man-machine interaction efficiency is improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present application, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a block diagram of a computer system provided in accordance with an exemplary embodiment of the present application;
FIG. 2 is a flow chart of a method of displaying a performance report provided by an exemplary embodiment of the present application;
FIG. 3 is a schematic illustration of a first performance report provided by an exemplary embodiment of the present application;
FIG. 4 is a schematic illustration of a timeline display provided by an exemplary embodiment of the present application;
FIG. 5 is a schematic illustration of a second performance report provided by an exemplary embodiment of the present application;
FIG. 6 is a schematic illustration of a third performance report provided by an exemplary embodiment of the present application;
FIG. 7 is a schematic illustration of a timeline display provided by an exemplary embodiment of the present application;
FIG. 8 is a schematic diagram of a performance rule provided by an exemplary embodiment of the present application;
FIG. 9 is a flowchart of a method of displaying a performance report provided by an exemplary embodiment of the present application;
FIG. 10 is a schematic diagram of a time-consuming information format provided by an exemplary embodiment of the present application;
FIG. 11 is a flowchart of a method of displaying a performance report provided by an exemplary embodiment of the present application;
FIG. 12 is a flowchart of a method of displaying a performance report provided by an exemplary embodiment of the present application;
FIG. 13 is a flowchart of a method of displaying a performance report provided by an exemplary embodiment of the present application;
FIG. 14 is a block diagram of a display device for performance reporting provided by an exemplary embodiment of the application;
Fig. 15 is a block diagram of a computer device according to an exemplary embodiment of the present application.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the present application more apparent, the embodiments of the present application will be described in further detail with reference to the accompanying drawings.
Reference will now be made in detail to exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, the same numbers in different drawings refer to the same or similar elements, unless otherwise indicated. The implementations described in the following exemplary examples do not represent all implementations consistent with the application. Rather, they are merely examples of apparatus and methods consistent with aspects of the application as detailed in the accompanying claims.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in this specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein refers to and encompasses any or all possible combinations of one or more of the associated listed items.
It should be understood that, although the terms first, second, etc. may be used herein to describe various information, these information should not be limited by these terms. These terms are only used to distinguish one type of information from another. For example, a first parameter may also be referred to as a second parameter, and similarly, a second parameter may also be referred to as a first parameter, without departing from the scope of the application. The term "if" as used herein may be interpreted as "at..once" or "when..once" or "in response to a determination", depending on the context.
It should be noted that, before collecting relevant data and performance data of a user and a target application program and in the process of collecting relevant data of a user, the application can display a prompt interface, a popup window or output voice prompt information, wherein the prompt interface, the popup window or the voice prompt information is used for prompting the user to collect relevant data currently, so that the application only starts to execute the relevant step of acquiring relevant data of the user after acquiring the confirmation operation of the user on the prompt interface or the popup window, otherwise, the relevant step of acquiring relevant data of the user is ended when the confirmation operation of the user on the prompt interface or the popup window is not acquired, namely, the relevant data of the user is not acquired. In other words, all user data collected by the present application is collected with the consent and authorization of the user, and the collection, use and processing of relevant user data requires compliance with relevant laws and regulations and standards of the relevant country and region.
First, the terms involved in the embodiments of the present application will be briefly described:
Time-consuming information, or time-consuming dotting information, is the time consumed by the execution of the program code. The execution time is recorded for a section of program code before and after running to obtain time-consuming information, and a specific character string can be designated at the same time so as to distinguish the time-consuming information. Wherein, time consuming dotting is to add specific mark points (dotting) in the program code to record and detect time consuming information of the target application program in running. The time-consuming dotting granularity can be a function or a piece of executable code, and one function can add a plurality of time-consuming dotting.
The performance data is data collected when the target application program runs and is used for analyzing the state and performance of the target application program. The performance data is different, and the indicated performance indexes are also different. The performance data includes at least one of time consuming information, frame rate, memory usage, cache hit rate, central processing unit (Central Processing Unit, CPU) usage, average response time, maximum response time, throughput. To obtain more detailed performance, performance data of finer granularity may be additionally recorded, for example, the game application program, where the performance data further includes at least one of an interactive object (Actor) number, a frame update (Tick) number, a texture total memory, a texture uncompressed total memory, a drawing command (Draw Call) number, shader complexity, and illumination calculation overhead.
User generated content (User Generated Content, UGC) refers to content generated by a user. In the game scene, the user creates the level, the map, the role, the article and the like through the creation tool, the code editor and the like provided by the game scene, so that the individuation and the expansibility of the game are increased.
User-generated content developers, which are developers of user-generated content platforms or applications, tend not to be well known about software development techniques, but rather are more biased towards content generation.
A first mode, also referred to as an analysis mode, for performing an analysis on the performance data using predefined performance rules and presenting the analysis results of the performance data. The first mode is the least technically demanding for the developer, can be presented in the simplest way, and can be read by UGC developers unfamiliar with the business.
And the second mode is also called a basic mode or a time-consuming tree mode, is used for combining time-consuming information in the performance data of the selected frame, analyzing the performance data based on the calling hierarchy relation and the calling type, presenting the analysis result of the performance data, displaying the data in a more focused mode, enabling the calling hierarchy relation to be more definite, and finally, optionally simplifying naming. The second mode may assist UGC developers that are better aware of the traffic of the target application, but are not familiar with the underlying architecture of the engine, to further discover detailed performance hot spots.
The third mode, also called advanced mode, has time-consuming information in the performance data of all frames, can display the calling level relation and time-consuming information of all or part of frames of the whole time axis at the same time, and has large displayed information quantity, including engine bottom layers, such as rendering, physics, skeleton animation and the like, and business layers, such as map loading, distance detection, button click triggering and the like. UGC developers reviewing this information need to have specialized development knowledge, while also obtaining the most detailed performance hot spots. The third mode adds more detailed time-consuming dotting to the business and carries additional call types when time-consuming dotting, based on the CPU Trace view time-consuming information in conjunction with the engine analysis system (Engine Unreal Insight).
Performance hot spot refers to program code or functions that cause performance bottlenecks in the software development process.
In response to a condition or state representing a dependency of an operation performed, one or more operations performed may be performed in real-time or with a set delay when the dependency is satisfied, and without any particular limitation to execution sequencing of the operations performed.
FIG. 1 is a block diagram of a computer system provided in an exemplary embodiment of the application. Computer system 100 may be a system architecture that implements a method of displaying performance reports. Computer system 100 includes a terminal 120 and a server 140.
The terminal 120 installs a client running the target application. Optionally, the target application includes at least one of a game-like application, a game development engine, a game user original content (User Generated Content, UGC) editor, a visual programming tool, a code editor, a map editor, a chart-like application, a document-like application, a video-like application, an instant messaging-like application, and a shopping-like application. The Game-like application may be any one of a large fleeing shooting Game, a Virtual Reality (VR) Game, an augmented Reality (Augmented Reality, AR) program, a three-dimensional map program, a Virtual Reality Game, an augmented Reality Game, a First-person shooting Game (FPS), a Third-person shooting Game (Third-Personal Shooting Game, TPS), a multiplayer online tactical Game (Multiplayer Online Battle ARENA GAMES, MOBA), a strategy Game (SLG), a Game party Game, and a Game UGC editor provided by the foregoing respective games.
In some embodiments, terminal 120 also installs a client running an application. The application program is used for providing an analysis function of the performance data of the target application program and/or a display function of the performance report, and the user can view the performance report corresponding to the performance data of the target application program in the terminal 120.
The terminal 120 is a user-used terminal, and the user uses the terminal 120 to control virtual characters located in a virtual environment, including, but not limited to, at least one of adjusting body posture, crawling, walking, running, riding, jumping, driving, picking up, shooting, attacking, throwing, building a virtual building.
In some embodiments, the terminal 120, while the target application is running, the application also receives performance data for the target application, and the user also uses the application running by the terminal 120 to view performance reports for the performance data. Specifically, the terminal 120 selects a display mode from among the candidate display modes in response to a selection operation, the different candidate display modes indicating performance reports with different levels of detail, and displays performance reports of performance data in the display mode, the performance reports being used to display the analysis results of the performance data in a visual form.
The terminal 120 is connected to the server 140 through a wireless network or a wired network.
The server 140 may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing cloud computing services. Server 140 includes at least one of a server, a plurality of servers, a cloud computing platform, and a virtualization center.
The server 140 includes a processor 144 and a memory 142, the memory 142 further includes a receiving module 1421, a control module 1422 and a transmitting module 1423, the receiving module 1421 is configured to receive a request sent by a client, the control module 1422 is configured to control rendering of a virtual environment, the transmitting module 1423 is configured to send a response to the client, and the server 140 is configured to provide a background service for the client of the terminal 120.
Optionally, the server 140 performs primary computing, the terminal 120 performs secondary computing, or the server 140 performs secondary computing, the terminal 120 performs primary computing, or the server 140 and the terminal 120 perform collaborative computing using a distributed computing architecture.
The form of the client installed in the terminal 120 is not limited, and includes, but is not limited to, an App (Application), an applet, etc. installed in the terminal 120, and may also be in the form of a web page. The terminal 120 may refer broadly to one of a plurality of terminals, and the present embodiment is illustrated only with the terminal 120. The terminal 120 includes, but is not limited to, at least one of a smart phone, a tablet computer, a wearable device, a PC (Personal Computer ), a laptop portable computer, a desktop computer, a palm game console.
Those skilled in the art will appreciate that the number of terminals 120 may be greater or lesser. For example, the terminal 120 is one or more in number. The number and device type of the terminals 120 are not limited in the embodiment of the present application.
In the related art, the analysis system (Unreal Insight) directly displays the collected time-consuming information in combination with the time axis. Or, the CPU usage performance analyzer (Unity CPU Usage Profiler) also presents time-consuming information in conjunction with the time axis. However, in this manner of displaying in combination with the time axis, the detailed information displayed is very much, so that it is very difficult for the developer to quickly capture useful information from the time axis, especially for the developer unfamiliar with the engine or the business, the reading threshold is very high, and the man-machine interaction efficiency is not high.
The embodiment of the application provides a method for displaying a performance report. The same piece of performance data recorded during the running of the target application program can be used for assisting a developer, particularly a UGC developer, to view performance reports of different detailed programs in different use scenes so as to accelerate analysis and positioning of performance problems.
The display modes comprise a first mode, a second mode and a third mode, and are respectively aimed at a novice or a developer unfamiliar with the business, a developer familiar with the business but with little development knowledge, and a developer with professional knowledge which is relatively known to the business and the development architecture bottom layer. It will be appreciated that in order to quickly obtain analysis and locate performance problems, a developer with expertise may also use the first and second modes as well, while a developer familiar with business but with little development knowledge may also use the first and third modes as well.
Next, a detailed description will be given of a method of displaying a performance report:
fig. 2 is a flowchart of a method of displaying a performance report provided by an exemplary embodiment of the present application. The method is performed by a computer device, which may be the terminal 120 shown in fig. 1. The method comprises at least part of the steps 220, 240 and 260:
step 220, receiving performance data of the target application while the target application is running.
The target application is an application to which performance data is to be collected. Optionally, the target application includes at least one of a game-like application, a game development engine, a game user original content (User Generated Content, UGC) editor, a visual programming tool, a code editor, a map editor, a chart-like application, a document-like application, a video-like application, an instant messaging-like application, and a shopping-like application.
The type of performance data received, the specific data content, varies from one target application to another. The performance data is different, and the indicated performance indexes are also different. Optionally, the performance data includes at least one of time consuming information, frame rate, memory usage, cache hit rate, central processing unit (Central Processing Unit, CPU) usage, average response time, maximum response time, throughput. To obtain more detailed performance, performance data of finer granularity may be additionally recorded, for example, the game application program, where the performance data further includes at least one of an interactive object (Actor) number, a frame update (Tick) number, a texture total memory, a texture uncompressed total memory, a drawing command (Draw Call) number, shader complexity, and illumination calculation overhead.
In some embodiments, performance data of the target application is received in real-time as the target application is running. The performance data may be analyzed in real time as the target application is running or after the target application is running. Optionally, the performance data is analyzed in real time at the target application run time at a preset time granularity. For example, the time granularity is 20 seconds, and performance data within the last 20 seconds is analyzed in real time each time. Or analyzing the performance data after the running of the target application program is finished according to the preset time granularity. For example, the time granularity is 20 seconds, and performance data within 20 seconds is analyzed each time.
In response to the selection operation, a display mode is selected from the candidate display modes, and the performance reports indicated by the different candidate display modes are different in the corresponding degree of detail.
The selection operation is used for selecting a display mode from the candidate display modes. The display mode is used to indicate a mode of displaying a performance report of the performance data. In this embodiment, three display modes, i.e., a first mode, a second mode, and a third mode, may be referred to as candidate display modes, and the detailed degrees of the performance report correspondence indicated by different candidate display modes are different. Wherein the first level of detail of the first performance report indicated by the first mode is the lowest, the second level of detail of the second performance report indicated by the second mode is higher than the first level of detail of the first performance report indicated by the first mode, and the third level of detail of the third performance report indicated by the third mode is higher than the second level of detail of the second performance report indicated by the second mode.
The selection operation may be implemented as at least one of a click, a double click, a long press, a swipe, a gesture selection, a selection through an external input device. The different candidate display modes may be displayed in the form of menu items or buttons or window titles, with a performance report including performance data for the respective display mode.
In some embodiments, the level of detail of the performance report of the performance data may be characterized by at least one parameter of how much the performance data is displayed, the granularity of the performance data display, whether the performance data of a single frame is displayed, whether time consuming information in the performance data is displayed, whether call hierarchy between functions or executable code corresponding to the performance data is displayed, and whether call types of functions or executable code corresponding to the performance data are displayed. Where the call type is the name of the class called by the function or executable code.
For example, when the more the content of the performance data display, the smaller the fine granularity of the performance data display, the performance data of a single frame is displayed, the time-consuming information in the performance data is displayed, the call level relation between functions or executable codes corresponding to the performance data is displayed, the call type of functions or executable codes corresponding to the performance data is displayed, the higher the degree of detail of the performance report indicating the performance data is. It is understood that the developer may select a display mode from the candidate display modes according to actual technical requirements, and view the corresponding performance report.
Step 260, displaying, in a display mode, a performance report of the performance data, the performance report being used to present the analysis results of the performance data in a visual form.
After selecting a display mode from the candidate display modes, displaying a performance report of the performance data in the display mode, the performance report being used to present the analysis results of the performance data in a visual form. Alternatively, the performance report is displayed in the form of a list, or in the form of a tree structure.
In summary, the method for displaying the performance report includes that the computer device receives performance data of a target application program when the target application program runs, selects a display mode from candidate display modes in response to a selection operation, displays the performance report of the performance data in the display mode, wherein the performance report is used for displaying an analysis result of the performance data in a visual mode, and the detail degrees corresponding to the performance report indicated by different candidate display modes are different. Accordingly, a method is provided for supporting performance reporting of display performance data in different display modes. By receiving performance data generated at the time of the target application program run, the developer can select a display mode from among different candidate display modes by a selection operation, and display a performance report of the performance data in the display mode. Because the corresponding detailed degrees of the performance reports indicated by different candidate display modes are different, a developer can automatically select and view the performance reports with different detailed degrees according to actual service demands, the knowledge of the service and the engine, the development knowledge of the developer and other factors, so that the performance report is more adaptive, and the performance report is suitable for novice developers unfamiliar with the service, developers familiar with the service and senior developers familiar with the engine and the service, thereby improving the human-computer interaction efficiency.
In some embodiments, step 260 is embodied as step 300:
And 300, displaying a performance report matched with the analysis result of the performance data in response to the analysis mode indicated by the display mode, wherein the analysis result is obtained by performing analysis on all or part of the performance data based on the analysis mode.
Different display modes correspond to different analysis modes. For example, the first mode is to perform analysis on performance data based on a preset performance rule, the second mode is to perform analysis on performance data based on a call hierarchy relationship and a call type, and the third mode is to perform analysis on performance data based on a call type.
Illustratively, in response to the analysis mode displaying the mode indication, a performance report is displayed that matches the analysis result of the performance data, the analysis result being obtained by performing an analysis on all or part of the performance data based on the analysis mode.
In this embodiment, according to the analysis mode indicated by the display mode, analysis may be performed on all or part of the performance data to obtain an analysis result and a matched performance report is displayed, so that performance reports in different modes are displayed, which is beneficial to improving the man-machine interaction efficiency.
Next, a detailed description will be made of performance reports displayed in different display modes:
First mode
In some embodiments, the display mode includes a first mode. The first schema, also called the analysis schema, is the least technically demanding for the developer, will be presented in the simplest way, and can also be read by UGC developers that are not familiar with the business. Illustratively, step 300 is embodied as step 311:
Step 311, in response to the first analysis mode indicated by the first mode, displaying a first performance report matching with a first analysis result of the performance data in a list form, wherein the first analysis result is obtained by performing analysis on all or part of the performance data based on the first analysis mode;
The first analysis result comprises a grade of abnormal performance data, a time period of abnormal performance data and a solution mode for solving the abnormal performance data, and the first performance report comprises the grade, the time period and the solution mode which are displayed in a list form.
And performing analysis on all or part of the performance data based on a first analysis mode indicated by the first mode to obtain a first analysis result. The first analysis result comprises the level of abnormality of the performance data, the time period of abnormality of the performance data and the solution mode for solving the abnormality of the performance data. The solution is preset according to the actual technical requirement, the solution corresponds to the performance rule, and the performance rule corresponds to the performance data. When the abnormal performance data and the corresponding performance rules thereof are determined, a solution for solving the abnormal performance data is determined. It will be appreciated that the solution is only one proposal, and that in practical applications the corresponding solution may be determined according to the actual technical needs.
The first performance report includes levels, time periods, and solutions displayed in list form. The level, the time period and the solution occupy a column respectively, and each abnormal performance data occupies a row respectively. The level includes at least one of severity, advice, alarms.
As an example, referring to fig. 3, the first performance report includes a level 11, a time period 12, a solution 13 displayed in a list form. For example, the class is serious, the time period is 1 second-47 seconds, the number of times of acquiring all objects is called, the solution is that the related function is acquired all objects, and the calling in the Tick related function is not suggested. The user interface (Tick-UI) is extremely time-consuming, and the solution is that the UI update logic is extremely time-consuming, and the Tick needs to avoid invoking medium and high time-consuming contents. The method is characterized in that the method is serious, the time period is 1-47 seconds, the time consumption of the scene is excessive, the time consumption of a single-frame blueprint is high, and the method is used for suggesting to check a specific time-consuming position through Unreal Insight and repairing the problem. The scale is severe, the time period is 14-47 seconds, the uncompressed mapping is used, the solution is that the texture format suggests to use Adaptive Scalable Texture Compression (ASTC), and the uncompressed format is not used in a large amount. The scale is severe, the time period is 17 seconds-47 seconds total DC number, the solution is that the Draw Call number is too large, and the unnecessary rendering number is recommended to be reduced. The level is advice, the time period is 1 second-16 seconds UMG dynamic frequent creation, the solution is that a UI editor (UMG) is frequently created, the jam is easy to occur, and the object pool is advice to use. The level is that advice is provided, the time period is 1 second-17 seconds, the dynamic frequent creation of the Actor is provided, the solution is that the Actor is frequently created, the problem that the reactor is easy to get stuck is solved, and the object pool is advice to use.
The blueprint (UBlueprint) is short for blueprint visual script, is an object-oriented visual programming language to be compiled, can be completely integrated in an engine, and works by forming a graph through nodes and connecting lines.
In this embodiment, a manner of displaying a first performance report in a first mode is provided, and the first detail degree of the first performance report is the lowest, so that the method is suitable for novice developers unfamiliar with services and engines, is also suitable for scenes in which preliminary performance conditions of a target application program need to be determined quickly, and is beneficial to improving human-computer interaction efficiency. The first mode is also suitable for non-professional developers in the follow-up, and is beneficial to improving the efficiency of automatic performance acceptance of the degree code by carrying out automatic performance acceptance on the program code submitted by the UGC developer.
In some embodiments, the method further comprises step 312:
In step 312, the performance data corresponding to all or part of the performance indicators is displayed in a time-axis manner.
Optionally, the performance data corresponding to all or part of the performance indicators is displayed in a time axis manner. Taking a performance index as an example, the corresponding performance data may include, but is not limited to, time-consuming information in the performance data of all frames under the performance index. Wherein the time axis may be displayed at the uppermost and the time-consuming information may be displayed in the form of a waveform diagram for representing the time-consuming information of each frame in each type of performance data. Each type of performance data is displayed in the same row.
By way of example, referring to FIG. 4, with the timeline 14 displayed uppermost, the performance data may be the respective performance data for the number of actors, the number of actors off screen, the number of Actor-Tick & off screen, the total time spent by Tick, and the time spent by Tick-UI, including but not limited to time spent information. The number of the above-mentioned actors, the number of the off-screen actors-Tick, the total time consumption of Tick, and the time consumption of Tick-UI may also be referred to as performance indexes. The time-consuming information 15 of the number of the actors, the time-consuming information 16 of the number of the off-screen of the actors, the time-consuming information 17 of the number of the time-consuming and off-screen of the actors-Tick, the time-consuming information 18 of the whole time-consuming and time-consuming information 19 of the Tick-UI are displayed sequentially from top to bottom. Alternatively, other types of performance data may also be selected from the data tab on the right side of fig. 4, so that the other types of performance data are displayed on the left side in a time-axis manner.
In the embodiment, a time-consuming information display mode is provided in a time axis mode, so that a novice developer unfamiliar with both business and engines can view the time-consuming information in the performance data through the time axis, and the man-machine interaction efficiency is improved.
Second mode
In some embodiments, the display mode includes a second mode, also referred to as a time-consuming tree mode or base mode, which may assist UGC developers that are knowledgeable about the traffic of the target application, but are not familiar with the underlying architecture of the engine, in further discovering detailed performance hot spots. The second level of detail of the second performance report of the second mode indication is higher than the first level of detail of the first performance report of the first mode indication. Illustratively, step 300 is embodied as steps 321 and 322:
step 321, in response to the selection operation, determining a selected frame from the candidate frames;
Step 322, in response to the second analysis mode indicated by the second mode, displaying a second performance report matching with a second analysis result of the performance data of the selected frame in a tree structure, where the second analysis result is obtained by performing analysis on the performance data of the selected frame based on the second analysis mode;
The second analysis result comprises at least one layer of sub-node corresponding to the selected frame and time consumption information of each sub-node of the at least one layer of sub-node, each sub-node corresponds to a function or a section of executable code, and the second performance report comprises the time consumption information in the performance data for indicating the selected frame and the second analysis result displayed in a tree structure mode.
The selecting operation is used for selecting one selected frame from all frames. The selection operation may be implemented as at least one of a click, a double click, a long press, a swipe, a gesture selection, a selection through an external input device.
And performing analysis on all or part of the performance data based on a second analysis mode indicated by the second mode to obtain a second analysis result. The second analysis result comprises at least one layer of sub-nodes corresponding to the selected frame and time-consuming information of each sub-node of the at least one layer of sub-nodes, wherein each sub-node corresponds to a function or a section of executable code. The time-consuming dotting granularity corresponding to the time-consuming information can be a function or a section of executable code, and a function can add a plurality of time-consuming dotts.
Wherein at least one level of child nodes is determined based on a call hierarchy, i.e., a function call hierarchy or executable code call hierarchy, and a call type. For example, executable code 1 may call executable code 2, executable code 2 may call executable code 3 and executable code 4, then executable code 1 may be a child node, executable code 2 may be a child node of the child node in which executable code 1 is located, and executable code 3 and executable code 4 may be child nodes of the child node in which executable code 2 is located.
The second performance report includes time-consuming information in the performance data indicating the selected frame, and a second analysis result displayed in a tree structure. Since the tree structure displays time-consuming information of functions or executable codes corresponding to different child nodes, the tree structure may also be referred to as a time-consuming tree structure.
Optionally, the second performance report also displays time-consuming information in the performance data of all frames in a time-axis manner. The selected frame may be one frame selected from the entire frames through a selection operation. In some embodiments, the time consuming information in the performance data of the selected frame includes a sequence number of the selected frame, time consuming summary information, time consuming information corresponding to each type of function or executable code, respectively.
As an example, referring to fig. 5, the second performance report includes time consuming information 21 of a selected frame, wherein the selected frame is 753 rd frame, the time consuming summary is a scene Tick of 13.25ms, a scene rendering 11.46ms,UI Tick:1.46ms,UI renders 3.01ms, and a second analysis result 22 displayed in a tree structure, wherein the second analysis result includes at least one layer of sub-nodes corresponding to the selected frame, time consuming information 23 of each sub-node of the at least one layer of sub-nodes, and each sub-node corresponds to a function or a section of executable code. For example, a parent node is "focused on", "focused on" takes 10.38ms. The first layer of child nodes are "monster_poison mushroom", "running character", "bouncing mushroom", "override player automatic destruction component", "other", "monster_pirate flower", "running bullet movement", "in-game UI", "blank foundation block", "player camera", "block generator". Wherein, the "monster_toxic mushroom" takes 2.65ms, the "running cool character" takes 2.11ms, the "bouncing mushroom" takes 1.27ms, the "overrun player automatic destruction component" takes 1.12ms, the "other" takes 1.09ms, the "monster_foodbreak" takes 1.05ms, the "running cool bullet movement" takes 0.37ms, the "in-game UI" takes 0.20ms, the "blank foundation plot" takes 0.17ms, the "player camera" takes 1.15ms, and the "plot generator" takes 0.07ms.
For "monster_toxin mushroom", its second level child nodes are "character movement component per frame update", "blueprint per frame update", "skeletal grid component per frame update", "state machine component per frame update". Wherein "character movement component" takes 0.58ms per frame update "and" blueprint "takes 0.55ms per frame update" and "skeletal grid component" takes 0.50ms per frame update "and" state machine component "takes 0.48ms per frame update" and "1 time". For "bouncing mushrooms", the second level sub-nodes are "skeletal mesh component update per frame", "blueprint update per frame". Wherein "skeletal grid component updates per frame" takes 1.12ms in total (7 times) and "blueprint updates per frame" takes 0.15ms in total (7 times).
When the developer looks at the second performance report, the "monster_poison mushroom" child node is turned on to continue looking when it is found that the "monster_poison mushroom" is more time consuming. When the time consumption of updating each frame of the skeleton grid assembly is high, the simplification of skeleton animation for the role can be considered, when the time consumption of updating each frame of the blueprint is high, the corresponding blueprint can be opened to check the corresponding function part, which blueprint nodes can be seen to reduce the call, and finally, the time consumption of properly reducing the role consumption of the monster_toxic mushroom can be considered.
In this embodiment, a manner of displaying a second performance report in a second mode is provided, and the second detail level of the second performance report is higher than the first detail level of the first performance report, so that details of calling hierarchy relation and single time-consuming information of a selected frame can be displayed, more service layer performance problems can be displayed, the calling hierarchy relation is also more clear, and the method is suitable for developers with certain knowledge on services and engines, is also suitable for scenes in which preliminary performance conditions of a target application program need to be determined quickly, and is beneficial to improving man-machine interaction efficiency.
Third mode
In some embodiments, the display mode includes a third mode, which is also called a high-level mode, and has time-consuming information in performance data of all frames, and can display calling level relation and time-consuming information of all or part of frames of the whole time axis at the same time, wherein the displayed information is large in amount, including an engine bottom layer, such as rendering, physics, skeleton animation, and the like, and also includes a business layer, such as map loading, distance detection, button click triggering, and the like. The third level of detail of the third performance report of the third mode indication is higher than the second level of detail of the second performance report of the second mode indication. Illustratively, step 300 is embodied as steps 331 and 332:
step 331, in response to the input operation, inputting a target call type in an input box;
Step 332, in response to the third analysis mode indicated by the third mode, displaying a third performance report matching a third analysis result of the performance data related to the target call type in a list form, wherein the third analysis result is obtained by performing analysis on the performance data of the function or executable code matching the target call type based on the third analysis mode;
the third analysis result comprises the quantity and time-consuming information corresponding to the function or executable code with the matched target call type, and the third performance report comprises the time-consuming information in the performance data for indicating all or part of frames and the third analysis result displayed in a list form.
The input operation is used to input the target call type in the input box. The input operation may be implemented as at least one of text input, voice input, gesture input, voice-to-text, input through an external input device.
And performing analysis on the performance data of the function or the executable code matched with the target call type based on a third analysis mode indicated by the third mode to obtain a third analysis result. Wherein the prefix of the function or executable code that the target call type matches comprises the target call type, or the suffix of the function or executable code comprises the target call type. The third analysis result includes the number and time-consuming information corresponding to the function or executable code for which the target call type matches.
The third performance report includes third analysis results displayed in list form for indicating time-consuming information in the performance data of all or part of the frames. That is, the third performance report adds a call type, and can subdivide functions or executable code according to the call type.
By way of example, referring to FIG. 6, the developer enters the target call type "monster_food flower" 32 in the input box, and then displays a third performance report that includes third analysis results, shown in list form, including the function or executable code 33 that the target call type matches, and the corresponding quantity 34 and time consuming information 35.
The function or executable code for the "monster_predator flower" match includes "tick_3#tick_SkeletalMeshComponent#monster_predator flower_C", number 18, total time 8.8ms. "tick_3#tick_smstatemachinery component#monster_pirate_c", number 3, total 7.3ms. "bp_4_process#receiveTick#monster_pirate_C", number 3, total 1ms. "bp_4_local# remote challenge event # monster_predator_c", number 3, total time spent 244 μs. "tick_3#tick_ProjectileMovementComponent#monster_food flower_C", number 3, total consumption 103 μs. "bp_4_exec#actor: K2_GetActorlocation#monster_piranha_C", number 3, total consumption 31 μs.
In this embodiment, a manner of displaying a third performance report in a third mode is provided, and the third detail level of the third performance report is higher than the second detail level of the second performance report, and the detail level is highest, so that details of calling level relationships and single time-consuming information of all frames can be displayed, and the method is suitable for advanced developers familiar to both business and engines, is also suitable for scenes in which detailed performance conditions of a target application program need to be determined, and is beneficial to improving man-machine interaction efficiency.
In some embodiments, the method further comprises step 333:
step 333, displaying time-consuming information in the performance data of all or part of the frames in a time axis manner, and displaying the call hierarchy relationship and time-consuming information corresponding to all or part of the functions or executable codes indicated by the performance data.
Illustratively, time consuming information in the performance data of all or a portion of the frames is displayed in a time-axis manner. Alternatively, each function or executable code is represented as a bar frame of different lengths according to the time-consuming information, and the bar frames of the respective functions or executable codes are sequentially arranged and displayed from top to bottom according to the call hierarchy relation. For example, executable code 1 invokes executable code 2, and the bar of executable code 1 is displayed above the bar of executable code 2. Wherein time-consuming information in the performance data of all or part of the frames is displayed above the call hierarchy.
As an example, referring to fig. 7, time-consuming information 31 in performance data of all or a part of frames is displayed in a time axis manner, and below the time-consuming information 31, call hierarchy relationships corresponding to all functions or executable codes and the time-consuming information are displayed. For example, "tick3#tickSheletalMeshComponent#bouncing Mushroom_C (138 μs)" 36 represents a function or executable code "tick3#tickSheletalMeshComponent#bouncing Mushroom_C" takes 138 μs. "USkinnedMeshComponent _ TickComponent (133 μs)" 37 represents a function or executable code "USkinnedMeshComponent _ TickComponent" that takes 133 μs. "SkinnedMeshCompTick (129 μs)" 38 represents a function or executable code "SkinnedMeshCompTick" that takes 129 μs. Wherein the function or executable code "tick3#tickSkeletalMeshComponent#bouncing mushroom_C" may call the function or executable code "USkinnedMeshComponent _ TickComponent", and the function or executable code "USkinnedMeshComponent _ TickComponent" may call the function or executable code "SkinnedMeshCompTick".
In the embodiment, a time axis mode is provided, a hierarchical calling relation and time-consuming information mode is displayed, a deep developer familiar with both business and engines can determine more time-consuming information, influence of different calling types on performance can be distinguished, the same calling can be distinguished, and the man-machine interaction efficiency is improved.
Next, a detailed description will be given of a technical implementation manner in different display modes:
First mode
In some embodiments, in the first mode, performance data needs to be analyzed according to preset performance rules to determine whether the performance data is abnormal, a time period and a level of the performance data being abnormal, and a solution to the performance data being abnormal. For example, whether the single performance data corresponding to each performance rule is abnormal is determined, and then the level of abnormality of the performance data corresponding to each performance rule is determined, wherein the performance rule comprises a solution for solving the abnormality of the performance data. The method further comprises steps 411, 412, 413, 414 and 415:
Step 411, acquiring performance data corresponding to a preset performance rule based on the time period and the key value name;
Step 412, detecting a relationship of the performance data to a threshold in the performance rule;
Step 413, determining that the performance data is abnormal and increasing the abnormal number of the performance data in the time period when the performance data is greater than the threshold;
step 414, obtaining the abnormal quantity of the performance data corresponding to the performance rule;
In step 415, a level of performance data anomaly occurrence is determined based on a relationship between the anomaly number and an anomaly number threshold value in the performance rules.
The key name (DATAKEYNAME) is part of the performance rule, indicating the specific type of performance data. The threshold (DataThreshold) is part of the performance rules and is used to indicate a predefined threshold for the performance data. When the performance data is greater than the threshold, it is determined that an anomaly has occurred in the performance data. The threshold may be adaptively defined according to the specific type of performance data required by the actual technology. The anomaly number threshold is part of a performance rule that indicates the level at which anomalies occur in the performance data. The anomaly number threshold can be adaptively defined according to the specific type of level and actual technical needs.
The abnormal quantity threshold includes at least one of an Error threshold (ErrorTicks), an alarm threshold (WARNTICKS), and a recommendation threshold (SuggestTicks), and the level of performance data abnormality includes at least one of severity (Error), alarm (Warn), and recommendation (Suggest). For example, the key value name is "Widget creation", the threshold is 1, the error threshold is 20.0, the alarm threshold is 10.0, and the suggested threshold is 5.0.
The method comprises the steps of obtaining performance data corresponding to a preset performance rule based on a time period and a key value name, detecting the relation between the performance data and a threshold value in the performance rule, determining that the performance data is abnormal when the performance data is larger than the threshold value, increasing the abnormal quantity of the performance data in the time period, specifically, the abnormal quantity +1 of the performance data in the time period, and determining that the performance data is not abnormal when the performance data is smaller than or equal to the threshold value, wherein the performance data does not need to be processed. And determining the level of abnormality of the performance data based on the relation between the abnormal number and the abnormal number threshold value in the performance rule.
In the first mode, performance rules can be combined to analyze performance data in the whole period or a designated period of time, which performance data corresponding to the performance rules are abnormal in the period of time is determined, if the performance data are abnormal, corresponding levels, time periods and solutions are integrated and a first performance report is output, and therefore developers or other staff at positions, which are not known by engine functions and application services, can also initially determine performance problems.
In this embodiment, a manner of determining whether the performance data is abnormal or not and determining the level of the abnormality of the performance data in the first mode is provided, so that the performance data can be processed according to a preset performance rule, and the data processing efficiency can be improved.
In some embodiments, the anomaly number threshold comprises at least one of an Error threshold (ErrorTicks), an alarm threshold (WARNTICKS), a recommendation threshold (SuggestTicks), and the level of performance data anomaly comprises at least one of a severity (Error), an alarm (Warn), a recommendation (Suggest). Step 415 is embodied as step 4151, step 4152, step 4153, step 4154:
step 4151, marking the level of abnormality occurrence of the performance data corresponding to the performance rule as serious if the number of abnormalities is greater than the error threshold;
step 4152, marking the level of abnormality of the performance data corresponding to the performance rule as an alarm when the number of abnormalities is smaller than the error threshold and larger than the alarm threshold;
step 4153, marking the level of abnormality occurring in the performance data corresponding to the performance rule as a suggestion when the number of abnormalities is smaller than the alarm threshold and larger than the suggestion threshold;
In step 4154, if the number of anomalies is less than the error threshold, less than the alarm threshold, and less than the recommended threshold, the performance data corresponding to the performance rule is marked as not prompted.
For example, in the case where the number of anomalies is greater than the Error threshold, the level at which the performance data corresponding to the performance rule is abnormal is marked as severe (Error). And when the abnormal number is smaller than the error threshold value and larger than the alarm threshold value, marking the level of abnormality of the performance data corresponding to the performance rule as an alarm (Warn). And when the abnormal number is smaller than the alarm threshold value and larger than the suggestion threshold value, marking the level of abnormality occurrence of the performance data corresponding to the performance rule as a suggestion (Suggest). And marking the performance data corresponding to the performance rule as not to be prompted, namely not to be prompted under the condition that the abnormal number is smaller than the error threshold value, smaller than the alarm threshold value and smaller than the recommended threshold value.
In this embodiment, a manner of determining, in the first mode, a level of abnormality in performance data according to the abnormality data and the abnormality number threshold is provided, and the performance data can be marked as different levels, which is beneficial to prompting the abnormal performance data in the first performance report.
In some embodiments, the method further comprises step 401, step 402, and step 403:
Step 401, determining performance data to be collected;
step 402, defining a threshold value corresponding to the performance data, and collecting rule information of the performance data;
Step 403, determining a performance rule corresponding to the performance data based on the rule information of the performance data and the threshold value.
The performance data to be collected refers to the corresponding performance data of the performance index which needs to be focused on in the current target application program, namely, which performance data need to form a performance report and be synchronized with a developer. The performance indicators indicated by the performance data include, but are not limited to, at least one of an Actor number, a scene rendering number, drawCall number, a shadow level. The portion of the performance data is used primarily in the first mode.
The method comprises the steps of determining performance data to be collected, defining a threshold value corresponding to the performance data, collecting rule information of the performance data, and determining a performance rule corresponding to the performance data based on the rule information of the performance data and the threshold value.
In this embodiment, a manner of determining a performance rule corresponding to performance data in the first mode is provided, which is favorable for performing analysis on the performance data according to the performance rule later, and improves data processing efficiency.
In some embodiments, the storage format of the performance rules is at least one of JSON format, table format, text format, or any other format. The performance rules are converted based on the problems which are more important in the service or the problems which are easy to occur by the developer according to past experience, and the more applicable performance rules can be arranged according to specific service and project. For each performance rule, whether the performance data collected during operation exceeds a threshold value or not can be detected, and rules of linkage performance data can be added during actual use, for example, one performance rule can detect a plurality of performance data, so that a first analysis result is determined.
In some embodiments, the performance rules include at least one of the following information:
Rule identification (RuleID), rule name (RuleName), platform type (Platform), type of performance data (Datatype), key name of performance Data (DATAKEYNAME), threshold of performance data (DataThreshold), value or proportion of anomaly number threshold (TickNumOrTickRate), suggestion threshold (SuggestTicks), alarm threshold (WARNTICKS), error threshold (ErrorTicks), tip of solution, tip document of solution (TipDoc), tip document of solution (TipDocTitle).
The Key value name (DATAKEYNAME) of the performance data corresponds to the Key (Key) value of the performance data, and performance data corresponding to the Key value name in a series of performance data collected in a corresponding time period can be obtained. When the performance data is greater than the threshold (DataThreshold) of the performance data, the number of anomalies +1 is recorded. The value or proportion (TickNumOrTickRate) of the anomaly number threshold value indicates whether the anomaly number exceeding the threshold value is determined as a total number or as a proportion of the total number, facilitating the determination of the level of the performance data over the final period of time. A recommendation threshold (SuggestTicks) is used to indicate that the performance data and performance rules are recommended when the number of anomalies or the proportion of the number of anomalies exceeds the recommendation threshold. When both the error threshold (ErrorTicks) and the alarm threshold (WARNTICKS) are-1 and the proposed threshold (SuggestTicks) is not-1, then the proposed threshold (SuggestTicks) is checked. The alarm threshold (WARNTICKS) is used for indicating that the abnormal quantity or the abnormal quantity proportion of the performance data exceeds the alarm threshold, and the performance data and the performance rule are marked as an alarm. When the error threshold (ErrorTicks) is-1 and the alarm threshold (WARNTICKS) is not-1, then the alarm threshold (WARNTICKS) is checked. An error threshold (ErrorTicks) is used to indicate that the number of anomalies or the number of anomalies duty cycles of the performance data exceeds the error threshold, marking the performance data as severe as well as the performance rules. When the error threshold (ErrorTicks) is not-1, then the error threshold (ErrorTicks) is checked.
As an example, referring to fig. 8, there are shown 3 performance rules, expressed separately as:
Example one of the performance rules:
the rule mark (RuleID) is 2;
the rule name (RuleName) is UWC dynamically created frequently;
The Platform type (Platform) is win64& html5;
The type of performance data (Datatype) is 0;
the key name (DATAKEYNAME) of the performance data is created for the item (Widget);
The threshold (DataThreshold) of the performance data is 1;
The value or ratio (TickNumOrTickRate) of the anomaly number threshold is 0;
The recommended threshold (SuggestTicks) is 5.0;
the alarm threshold (WARNTICKS) is 10.0;
the error threshold (ErrorTicks) is 20.0;
The prompt (Tip) of the solution is that UMG is frequently created, the jam is easy to occur, and an object pool is suggested to be used;
the prompt document (TipDoc) of the solution is empty;
the hint document title (TipDocTitle) of the solution is object pool usage.
Example two of the performance rules:
The rule mark (RuleID) is 3;
rule names (RuleName) are Character-excess;
The Platform type (Platform) is win64& html5;
The type of performance data (Datatype) is 0;
The key name (DATAKEYNAME) of the performance data is Character-number ";
the threshold (DataThreshold) of the performance data is 50;
the value or ratio (TickNumOrTickRate) of the abnormal quantity threshold is 1;
the recommended threshold (SuggestTicks) is 0.2;
The alarm threshold (WARNTICKS) is-1.0;
the error threshold (ErrorTicks) is-1.0;
The prompt (Tip) of the solution is that the number of roles is too large, the running performance is affected, and the number of suggested roles is not more than 50;
the prompt document (TipDoc) of the solution is empty;
the hint document title (TipDocTitle) of the solution is empty.
Example three of performance rules:
the rule mark (RuleID) is 4;
The rule name (RuleName) is that the field is recorded too much time;
The Platform type (Platform) is win64& html5;
the type of performance data (Datatype) is 1;
the key name (DATAKEYNAME) of the performance data is World Tick Time;
the threshold (DataThreshold) for performance data is 1500;
the value or ratio (TickNumOrTickRate) of the abnormal quantity threshold is 1;
the recommended threshold (SuggestTicks) is 0.1;
The alarm threshold (WARNTICKS) is 0.2;
The error threshold (ErrorTicks) is 0.5;
the Tip of the solution is that the single-frame blueprint consumes more time, and the proposal is that a specific time-consuming position is checked through UnrealInsight and the problem is repaired;
the prompt document (TipDoc) of the solution is empty;
the title (TipDocTitle) of the hint document of the solution is Unreal-light game-Trace & Insights instruction.
In this embodiment, specific content included in the performance rule in the first mode is provided, which is favorable for performing analysis on performance data according to the performance rule later, and improves data processing efficiency.
Second mode
In some embodiments, in the second mode, time-consuming information of at least one layer of sub-nodes corresponding to the selected frame and each sub-node of the at least one layer of sub-nodes needs to be determined according to time-consuming information in the performance data of the selected frame, and the calling hierarchy relationship and the calling type. For example, the performance data corresponding to the selected frame may be screened first, and then the performance data satisfying the screening condition may be analyzed according to the call hierarchy relationship and the call type. The method further comprises the steps 421 and 422 of:
Step 421, screening the performance data corresponding to the selected frame, and determining the performance data meeting the screening condition;
step 422, determining a second analysis result of the performance data based on the performance data satisfying the screening condition, and the call hierarchy relationship and call type;
The screening condition comprises at least one of the following steps that time consumption information in performance data is larger than a threshold value, the type of the performance data is a preset type, the performance data is related to a service, the calling hierarchy relation is used for indicating calling conditions between functions or executable codes corresponding to the performance data, and the calling type is indicated through suffixes in time consumption information formats of the functions or the executable codes.
The screening conditions can be set according to the actual technical requirements. Optionally, the screening condition comprises at least one of time consuming information in the performance data being greater than a threshold, the type of the performance data being a preset type, the performance data being business related. The preset type may be a function corresponding to the service or a type of executable code. For the performance data corresponding to the selected frames, only the part related to the service is screened out and classified for display, so that the influence of excessive time-consuming information details on the performance report reading of a developer can be avoided.
For example, the information required to build an Instance (Instance) at rendering (CPU submitting instantiation data required to build GPU rendering before rendering), RDG build time (time consuming rendering framework RENDER DEPENDENCY GRAPH in UE), skeletal animation update time, etc. is often difficult for non-professional developers to understand, and cannot be directly modified, and there is no corresponding solution if there is time consuming, so this part of performance data can be filtered out.
The method includes the steps of selecting performance data corresponding to a selected frame, determining performance data meeting a screening condition, and determining a second analysis result of the performance data based on the performance data meeting the screening condition, the calling level relation and the calling type.
In this embodiment, a manner of performing processing on performance data in the second mode is provided, and by screening performance data that meets the screening condition, the problem that too many time-consuming information details are generated to cause reading difficulty for a developer unfamiliar with the engine, and further performance hot spots cannot be found can be avoided, which is beneficial to providing data processing efficiency. Through the second analysis result, a developer can easily perform hot spots and determine corresponding solutions, and the man-machine interaction efficiency is improved.
Specifically, step 422 is implemented as step 4221 and step 4222:
Step 4221, based on the calling level relation and the calling type, ordering the time-consuming information in the performance data meeting the screening condition to determine a first layer of sub-nodes, and based on the calling level relation, determining the next layer of sub-nodes of the first layer of sub-nodes until the calling level relation is traversed;
step 4222, merging the time-consuming information of the same type of the same layer of sub-nodes in the at least one layer of sub-nodes to obtain the merged time-consuming information of the sub-nodes.
Illustratively, ordering is performed on time-consuming information in the performance data that satisfies the screening condition based on the call hierarchy relationship and the call type, and the first-layer child node is determined. Specifically, time-consuming information in performance data meeting screening conditions is sorted according to time-consuming time length from large to small, first N functions or executable codes with time-consuming time length exceeding a threshold value are determined to be first-layer candidate child nodes, and according to the calling type, when the function or executable code corresponding to the first-layer candidate child nodes is detected to be not called by other functions or other executable codes, the function or the executable code is determined to be the first-layer child nodes. And then, continuing to determine the next layer of sub-nodes of the first layer of sub-nodes based on the calling hierarchy relation until the calling hierarchy relation is traversed, or indicating that all functions or all executable codes are traversed.
In some embodiments, time consuming information merging of the same layer type is also performed. Specifically, the time-consuming information of the same type of the same-layer child node in at least one layer of child nodes is combined, and the time-consuming information after the combination of the child nodes is obtained. For example, referring to fig. 5, for "bouncing mushroom", the second layer child node should include 7 "skeleton network component updates per frame" and 7 "blueprint updates per frame", where the same type of time-consuming information of the same layer child node performs merging, the total time consumption (time consumed after merging) of the "skeleton network component updates per frame" total (7 times) is 1.12ms, and the total time consumption (time consumed after merging) of the "blueprint updates per frame" total (7 times) total is 0.15ms.
In some alternative embodiments, the names of all or part of the child nodes of at least one layer of child nodes are also optimized, for example, in case the length of the child node name exceeds a threshold value, the child node name is displayed in a simplified manner. Time-consuming information smaller than the threshold value is not displayed any more, so that difficulty of a developer in reading the time-consuming information is reduced. For example, the threshold is set to 0.001ms.
In this embodiment, a manner of determining sub-nodes of each layer based on a call hierarchy relationship and a call type in the second mode is provided, and the manner of classifying by using the call type can enable the second performance report to be easier to read, so that the problem that a developer unfamiliar with an engine generates reading difficulty due to the fact that too much time-consuming information details are generated, and performance hot spots cannot be found can be avoided. The time-consuming information of the same layer type is combined, so that difficulty in reading the time-consuming information by a developer is reduced, and data processing efficiency and man-machine interaction efficiency are improved.
Third mode
In some embodiments, in the third mode, when all or part of the function indicated by the performance data or the call level relation corresponding to the executable code and the time-consuming information are displayed in a time axis manner, since the size of the display window of the time axis is limited, it is necessary to determine the time period to be presented first, and then draw the time-consuming node in the time period. Illustratively, the method further includes steps 431, 432, 433:
Step 431, determining a time period to be displayed;
Step 432, based on the time period, obtaining time-consuming information in the performance data;
and 433, drawing time-consuming nodes based on the time-consuming information and the calling hierarchy relation corresponding to the time-consuming information.
The time period to be displayed can be determined according to at least one of the size, the scaling and the display position of the current display window. The time period to be displayed and the time consumption information to be displayed are adjustable, for example, by adjusting the starting time point and the ending time point of the time period, the time consumption information of different time periods is checked. Or, by reducing the proportion of the time-consuming nodes, more time-consuming information is displayed in the same display window, wherein the more the time-consuming information is displayed, the smaller the occupation ratio of the single time-consuming node. Or, by enlarging the proportion of the time-consuming nodes, less time-consuming information is displayed in the same display window, wherein the less time-consuming information is displayed, the larger the proportion of a single time-consuming node is, and the time-consuming information of a certain time-consuming node can be focused and checked.
The method comprises the steps of determining a time period to be displayed, obtaining time-consuming information in performance data based on the time period, and drawing time-consuming nodes based on the time-consuming information and a calling hierarchy relation corresponding to the time-consuming information. Wherein, the time-consuming nodes refer to functions or executable codes displayed in bar boxes of different lengths. Each time consuming node displays at least one of calling hierarchy relation, name and time length corresponding to the time consuming information. And the bar frames of the functions or the executable codes are sequentially arranged and displayed from top to bottom according to the calling hierarchy relation. For example, executable code 1 invokes executable code 2, and the bar of executable code 1 is displayed above the bar of executable code 2.
In this embodiment, a manner of performing processing on performance data in the third mode is provided, so that the most comprehensive performance data can be displayed in a time axis manner, which is beneficial to improving man-machine interaction efficiency.
In some embodiments, a time-consuming information format of the function or executable code is also defined, wherein the call type is further increased on the basis of the original time-consuming information format. The method further comprises step 440:
step 440, defining a function or time-consuming information format of executable code of the target application program runtime;
The time-consuming information format comprises a prefix, a calling function mark or a calling executable code mark and a suffix, wherein the prefix is used for representing at least one of calling the service from the inside of the engine, loading and circulating the inside of the engine, the suffix is used for indicating a calling type, and the calling type is used for indicating at least one of the inside of the engine, a service using type and other types.
Illustratively, the time-consuming information format of the function or executable code at the runtime of the target application is defined. The time-consuming information format comprises a prefix, a calling function mark or a calling executable code mark and a suffix, wherein the prefix is used for representing at least one of calling the service (blueprint) inside an engine, loading and circulating inside the engine, the suffix is used for indicating a calling type, and the calling type is used for indicating at least one of the type (C++ type) inside the engine, the service use type (blueprint type) and other types (special types).
For example, time consuming information for a function or executable code is denoted "bp_process# RECEIVETICK # run role_C". Where the prefix "bp_process" indicates that the engine calls to traffic internally (blueprint). "RECEIVETICK" means call function tags/names, or call executable code tags/names. The suffix "running role_c" indicates the type of call, in particular the blueprint class of service usage. It should be further noted that, the time-consuming information format provided in this embodiment is only an example, and specifically, the time-consuming information format may be planned according to the actual project and the performance data provided in the running process, so as to record the information required in time-consuming and dotting analysis.
Time-consuming information in the performance data can be acquired based on the time-consuming information format, and the time-consuming information is mainly used for the first mode, the second mode and the third mode. The method is characterized in that the first mode is only displayed in a list form, details of single time-consuming information cannot be displayed, the second mode can display the details of the single time-consuming information after screening, the names and the like of the finally displayed time-consuming information are optimized, and the third mode directly displays the details of the single time-consuming information in an original time axis mode.
In this embodiment, a method for defining a time-consuming information format is provided, so that the time-consuming information also includes a call type, and the time-consuming information can be recorded, which is beneficial to improving the data processing efficiency of the time-consuming information.
Next, a method for displaying the performance report will be described in detail with reference to the flowchart and the schematic.
Interface side
The embodiment provides three display modes, namely a first mode, a second mode and a third mode. The display modes are used independently or jointly respectively, so that developers in different backgrounds or positions with the intention of knowing application performances can be helped to quickly understand performances and specific problems, including novice developers unfamiliar with business, UGC developers familiar with business, and finally advanced developers familiar with engines and business codes.
For a first performance report in the first mode, reference may be made to fig. 3. The first performance report includes a level 11, a time period 12, a solution 13 displayed in a list form. For example, the class is serious, the time period is 1 second-47 seconds, the number of times of acquiring all objects is called, the solution is that the related function is acquired all objects, and the calling in the Tick related function is not suggested. The user interface (Tick-UI) is extremely time-consuming, and the solution is that the UI update logic is extremely time-consuming, and the Tick needs to avoid invoking medium and high time-consuming contents. The method is characterized in that the method is serious, the time period is 1-47 seconds, the time consumption of the scene is excessive, the time consumption of a single-frame blueprint is high, and the method is used for suggesting to check a specific time-consuming position through Unreal Insight and repairing the problem. The scale is severe, the time period is 14-47 seconds, the uncompressed mapping is used, the solution is that the texture format suggests to use Adaptive Scalable Texture Compression (ASTC), and the uncompressed format is not used in a large amount. The scale is severe, the time period is 17 seconds-47 seconds total DC number, the solution is that the Draw Call number is too large, and the unnecessary rendering number is recommended to be reduced. The level is advice, the time period is 1 second-16 seconds UMG dynamic frequent creation, the solution is that a UI editor (UMG) is frequently created, the jam is easy to occur, and the object pool is advice to use. The level is that advice is provided, the time period is 1 second-17 seconds, the dynamic frequent creation of the Actor is provided, the solution is that the Actor is frequently created, the problem that the reactor is easy to get stuck is solved, and the object pool is advice to use.
In the first mode, performance rules can be combined to analyze performance data in the whole period or a designated period of time, which performance data corresponding to the performance rules are abnormal in the period of time is determined, if the performance data are abnormal, corresponding levels, time periods and solutions are integrated and a first performance report is output, and therefore developers or other staff at positions, which are not known by engine functions and application services, can also initially determine performance problems.
For a second performance report in the second mode, refer to fig. 5. And executing screening on the performance data of the selected frame by combining time-consuming information in the performance data, and displaying in a tree structure by combining the calling hierarchy relation and the calling type. The second performance report includes time-consuming information 21 of a selected frame, wherein the selected frame is 753 th frame, the time-consuming summary is that a scene Tick is 13.25ms, a scene rendering 11.46ms,UI Tick:1.46ms,UI renders 3.01ms, and a second analysis result 22 is displayed in a tree structure, and the second analysis result includes at least one layer of sub-nodes corresponding to the selected frame, time-consuming information 23 of each sub-node of the at least one layer of sub-nodes, and each sub-node corresponds to a function or a section of executable code. For example, a parent node is "focused on", "focused on" takes 10.38ms. The first layer of child nodes are "monster_poison mushroom", "running character", "bouncing mushroom", "override player automatic destruction component", "other", "monster_pirate flower", "running bullet movement", "in-game UI", "blank foundation block", "player camera", "block generator". Wherein, the "monster_toxic mushroom" takes 2.65ms, the "running cool character" takes 2.11ms, the "bouncing mushroom" takes 1.27ms, the "overrun player automatic destruction component" takes 1.12ms, the "other" takes 1.09ms, the "monster_foodbreak" takes 1.05ms, the "running cool bullet movement" takes 0.37ms, the "in-game UI" takes 0.20ms, the "blank foundation plot" takes 0.17ms, the "player camera" takes 1.15ms, and the "plot generator" takes 0.07ms.
For "monster_toxin mushroom", its second level child nodes are "character movement component per frame update", "blueprint per frame update", "skeletal grid component per frame update", "state machine component per frame update". Wherein "character movement component" takes 0.58ms per frame update "and" blueprint "takes 0.55ms per frame update" and "skeletal grid component" takes 0.50ms per frame update "and" state machine component "takes 0.48ms per frame update" and "1 time". For "bouncing mushrooms", the second level sub-nodes are "skeletal mesh component update per frame", "blueprint update per frame". Wherein "skeletal grid component updates per frame" takes 1.12ms in total (7 times) and "blueprint updates per frame" takes 0.15ms in total (7 times).
The first layer child nodes are classified by the calling type, so that a non-professional developer can read the first layer child nodes more easily, and can know the performance hot spot and presumably what scheme is adopted. For example, when a developer views a second performance report, the "monster_poison" child node is turned on to continue viewing when the "monster_poison" is found to be more time consuming. When the time consumption of updating each frame of the skeleton grid assembly is high, the simplification of skeleton animation for the role can be considered, when the time consumption of updating each frame of the blueprint is high, the corresponding blueprint can be opened to check the corresponding function part, which blueprint nodes can be seen to reduce the call, and finally, the time consumption of properly reducing the role consumption of the monster_toxic mushroom can be considered. The next layer of sub-nodes of the first layer of sub-nodes are determined by calling the hierarchical relationship, and the time-consuming information of the functions or executable codes of the same layer type are combined, and the time-consuming information which is very little in time consumption, for example, less than 0.001ms, is not displayed, so that the difficulty of a non-professional developer in reading the time-consuming information is reduced.
For a third performance report in the third mode, refer to fig. 6. The call type is newly added, and the time-consuming information can be subdivided according to the call type. The developer inputs the target call type "monster_eater" 32 in the input box and a third performance report is displayed, the third performance report comprising a third analysis result, which is displayed in list form, comprising the function or executable code 33 with the target call type matching, and the corresponding quantity 34 and time consuming information 35.
The function or executable code for the "monster_predator flower" match includes "tick_3#tick_SkeletalMeshComponent#monster_predator flower_C", number 18, total time 8.8ms. "tick_3#tick_smstatemachinery component#monster_pirate_c", number 3, total 7.3ms. "bp_4_process#receiveTick#monster_pirate_C", number 3, total 1ms. "bp_4_local# remote challenge event # monster_predator_c", number 3, total time spent 244 μs. "tick_3#tick_ProjectileMovementComponent#monster_food flower_C", number 3, total consumption 103 μs. "bp_4_exec#actor: K2_GetActorlocation#monster_piranha_C", number 3, total consumption 31 μs.
For the time axis view example in the third mode, referring to fig. 7, time-consuming information 31 in the performance data of all or part of the frames is displayed in a time axis manner, and below the time-consuming information 31, call hierarchy relationships corresponding to all functions or executable codes and the time-consuming information are displayed. For example, "tick3#tickSheletalMeshComponent#bouncing Mushroom_C (138 μs)" 36 represents a function or executable code "tick3#tickSheletalMeshComponent#bouncing Mushroom_C" takes 138 μs. "USkinnedMeshComponent _ TickComponent (133 μs)" 37 represents a function or executable code "USkinnedMeshComponent _ TickComponent" that takes 133 μs. "SkinnedMeshCompTick (129 μs)" 38 represents a function or executable code "SkinnedMeshCompTick" that takes 129 μs. Wherein the function or executable code "tick3#tickSkeletalMeshComponent#bouncing mushroom_C" may call the function or executable code "USkinnedMeshComponent _ TickComponent", and the function or executable code "USkinnedMeshComponent _ TickComponent" may call the function or executable code "SkinnedMeshCompTick".
Technical side
Referring to FIG. 9, the main implementation flow of the present embodiment includes 1. Customization includes defining performance rules and time consuming information formats, 2. Real-time recording of performance data, 3. Offline/real-time analysis, determining performance report, time consuming tree structure.
(1) For defining the performance rules, analyzing the performance data corresponding to the performance indexes which are required to be focused by the current target application program, and forming performance reports which are required to be synchronized to the developer, defining the threshold value of the performance data, and collecting the key value of the performance data, the rule information such as suggested documents and the like to form the performance rules. In some embodiments, the performance indicators indicated by the performance data include, but are not limited to, at least one of an Actor number, a scene rendering number, a DrawCall number, a shadow level, and the like. The performance rules are mainly used for the first mode.
(2) Referring to FIG. 10, the time consuming information format is defined and comprises 1. Prefix, 2. Call function mark or call executable code mark, 3. Suffix, wherein the prefix is used for representing at least one of calling to service, loading and circulating inside the engine, the suffix is used for indicating a calling type, and the calling type is used for indicating at least one of the type inside the engine (C++ class), the service use type (blueprint class) and other types.
For example, time consuming information for a function or executable code is denoted "bp_process# RECEIVETICK # run role_C". Where the prefix "bp_process" indicates that the engine calls to traffic internally (blueprint). "RECEIVETICK" means call function tags/names, or call executable code tags/names. The suffix "running role_c" indicates the type of call, in particular the blueprint class of service usage. It should be further noted that, the time-consuming information format provided in this embodiment is only an example, and specifically, the time-consuming information format may be planned according to the actual project and the performance data provided in the running process, so as to record the information required in time-consuming and dotting analysis.
Time-consuming information in the performance data can be acquired based on the time-consuming information format, and the time-consuming information is mainly used for the first mode, the second mode and the third mode. The method is characterized in that the first mode is only displayed in a list form, details of single time-consuming information cannot be displayed, the second mode can display the details of the single time-consuming information after screening, the names and the like of the finally displayed time-consuming information are optimized, and the third mode directly displays the details of the single time-consuming information in an original time axis mode.
(3) And for recording the performance data in real time, collecting the performance data and time-consuming information in the performance data according to the advanced planning. In some embodiments, the collection switch is further configured to not collect performance data of the target application program without affecting normal operation of the target application program when the collection switch is in an off state. And collecting performance data of the target application program under the condition that the collection switch is in an on state. Thereby ensuring that the functionality has as little impact as possible on the performance of the target application.
(4) For offline/real-time analysis, real-time analysis is supported, as well as subsequent execution of offline analysis on previously stored performance data.
(4.1) For the first mode, performing an analysis on the performance data according to the performance rules.
In the first mode, whether single performance data corresponding to each performance rule are abnormal or not is firstly determined, then the level of abnormality of the performance data corresponding to each performance rule is determined, and finally a performance report is output in the first mode. Referring to fig. 11, the steps are as follows:
1. Acquiring performance data according to the time period and the key value name;
2. Determining if is greater than the threshold is 3, otherwise 4;
3. abnormal number +1 of this time period;
4. No abnormality;
5. obtaining abnormal quantity;
6. determining if is greater than the error threshold is 7, otherwise 8;
7. Record as severe;
8. Determine if is greater than the alert threshold?
9. Recording as an alarm;
10. Determine if it is greater than the recommended threshold?
11. Recording as advice;
12. Not prompting;
13. and outputting a performance report.
And (4.2) for the second mode, screening to obtain performance data meeting screening conditions, performing analysis on the performance data according to the calling type and the calling level relation, and finally constructing a time-consuming tree structure. Referring to fig. 12, the steps are as follows:
1. Screening time-consuming information (storage: unordered list) that needs to be of interest;
2. Ordering (storing: ordered list) by time-consuming information hierarchy;
3. extracting a call type, and determining a first-layer child node (storage: tree structure);
4. constructing a next layer of child nodes (storage: tree structure) of the first layer of child nodes by combining the calling hierarchy relationship;
5. The same name is time-consuming combined (stored: tree structure);
6. optimization name display (store: tree structure);
7. The time-consuming nodes (storage: reduced version tree structure) are deleted.
And (4.3) for the third mode, when the calling hierarchy relation and time-consuming information corresponding to all functions or executable codes are displayed in a time axis mode, receiving the time-consuming information when the target application program runs, determining the current time period to be displayed according to the size, the scaling, the display position and the like of the window which is currently displayed, acquiring all the time-consuming information in the time period, and drawing and displaying the time-consuming nodes according to the calling hierarchy relation, the name and the time length corresponding to the time-consuming information of the time-consuming information. Referring to fig. 13, the steps are as follows:
1. receiving time-consuming information;
2. Determining a time period to be displayed according to the size, the zoom, the display position and the like of the displayed window;
3. Acquiring time-consuming information in the time period;
4. And drawing time-consuming nodes according to the calling hierarchy relationship, the name and the time length corresponding to the time-consuming information.
In summary, the display method of the performance report provided by the embodiment of the application is beneficial to helping developers with different development background knowledge, including novice developers who do not know about projects at all, UGC developers who know about projects to a certain extent, senior developers who are familiar with engines and businesses in experience, and fast look up the performance report and know about performance hot spots, and fast find out a more suitable method for solving the performance problem, thereby improving the man-machine interaction efficiency.
Fig. 14 is a block diagram of a display device for performance reporting provided by an exemplary embodiment of the application. The display device 800 of the performance report includes at least some of the receiving module 820, the processing module 840, and the display module 860.
A receiving module 820, configured to receive performance data of a target application program when the target application program runs;
A processing module 840, configured to select a display mode from candidate display modes in response to a selection operation, where different performance reports indicated by the candidate display modes correspond to different levels of detail;
And a display module 860 for displaying a performance report of the performance data in the display mode, the performance report being used for displaying the analysis result of the performance data in a visual form.
In some embodiments, the display module 860 is configured to:
and displaying a performance report matched with an analysis result of the performance data in response to the analysis mode indicated by the display mode, wherein the analysis result is obtained by performing analysis on all or part of the performance data based on the analysis mode.
In some embodiments, the display mode includes a first mode;
a display module 860 for:
Displaying a first performance report matching a first analysis result of the performance data in a list form in response to a first analysis mode indicated by the first mode, the first analysis result being obtained by performing analysis on all or part of the performance data based on the first analysis mode;
The first analysis result comprises a grade of abnormality of the performance data, a time period of abnormality of the performance data and a solution mode for solving the abnormality of the performance data, and the first performance report comprises the grade, the time period and the solution mode which are displayed in the list form.
In some embodiments, the display module 860 is configured to:
And displaying all or part of the performance data corresponding to the performance indexes in a time axis manner.
In some embodiments, the display mode includes a second mode indicating a second level of detail of a second performance report that is higher than a first level of detail of the first performance report indicated by the first mode;
a display module 860 for:
determining a selected frame from the candidate frames in response to the selecting operation;
Displaying a second performance report matching a second analysis result of the performance data of the selected frame in a tree structure form in response to a second analysis mode indicated by the second mode, the second analysis result being obtained by performing analysis on the performance data of the selected frame based on the second analysis mode;
The second analysis result comprises at least one layer of sub-node corresponding to the selected frame and time consumption information of each sub-node of the at least one layer of sub-node, wherein each sub-node corresponds to a function or a section of executable code, and the second performance report comprises the time consumption information in the performance data for indicating the selected frame and the second analysis result displayed in the form of the tree structure.
In some embodiments, the display mode includes a third mode indicating a third level of detail of a third performance report that is higher than a second level of detail of a second performance report indicated by the second mode;
a display module 860 for:
Inputting a target call type in an input box in response to an input operation;
displaying a third performance report matched with a third analysis result of the performance data related to the target call type in a list form in response to a third analysis mode indicated by the third mode, wherein the third analysis result is obtained by performing analysis on the performance data of a function or executable code matched with the target call type based on the third analysis mode;
the third analysis result comprises the quantity and time-consuming information corresponding to the function or executable code matched with the target call type, and the third performance report comprises the third analysis result displayed in a list form.
In some embodiments, the display module 860 is configured to:
And displaying time-consuming information in the performance data of all or part of the frames in a time axis mode, and displaying the calling hierarchy relation and the time-consuming information corresponding to all or part of functions or executable codes indicated by the performance data.
In some embodiments, processing module 840 is to:
acquiring the performance data corresponding to a preset performance rule based on the time period and the key value name;
detecting a relationship of the performance data to a threshold in the performance rule;
Determining that abnormality occurs in the performance data in a case where the performance data is greater than the threshold, and increasing the number of abnormality of the performance data for the period of time;
acquiring the abnormal quantity of the performance data corresponding to the performance rule;
And determining the level of abnormality of the performance data based on the relation between the abnormal quantity and the abnormal quantity threshold value in the performance rule.
In some embodiments, the anomaly number threshold comprises at least one of an error threshold, an alarm threshold, a suggestion threshold, and the level of anomaly in the performance data comprises at least one of severity, alarm, suggestion;
a processing module 840 for:
Marking the level of abnormality of the performance data corresponding to the performance rule as the severity when the number of abnormalities is greater than the error threshold;
Marking the level of abnormality of the performance data corresponding to the performance rule as the alarm under the condition that the abnormal number is smaller than the error threshold and larger than the alarm threshold;
Marking the level of abnormality of the performance data corresponding to the performance rule as the suggestion under the condition that the number of abnormalities is smaller than the alarm threshold and larger than the suggestion threshold;
and marking the performance data corresponding to the performance rule as not to be prompted under the condition that the abnormal quantity is smaller than the error threshold value, smaller than the alarm threshold value and smaller than the suggestion threshold value.
In some embodiments, processing module 840 is to:
determining performance data to be collected;
Defining a threshold value corresponding to the performance data, and collecting rule information of the performance data;
And determining a performance rule corresponding to the performance data based on the rule information of the performance data and the threshold value.
In some embodiments, the performance rule includes at least one of the following information:
Rule identification, rule name, platform type, type of the performance data, key name of the performance data, threshold of the performance data, value or proportion of abnormal quantity threshold, suggestion threshold, alarm threshold, error threshold, prompt of solution, prompt document of the solution, and prompt document title of the solution.
In some embodiments, processing module 840 is to:
Screening the performance data corresponding to the selected frame, and determining the performance data meeting screening conditions;
Determining the second analysis result of the performance data based on the performance data meeting the screening conditions, and a calling hierarchical relationship and a calling type;
The screening condition comprises at least one of the following steps that time consumption information in the performance data is larger than a threshold value, the type of the performance data is a preset type, the performance data is related to a service, the calling hierarchy relation is used for indicating calling conditions between functions or executable codes corresponding to the performance data, and the calling type is indicated through suffixes in time consumption information formats of the functions or the executable codes.
In some embodiments, processing module 840 is to:
Based on the calling level relation and the calling type, executing sorting of time-consuming information in the performance data meeting the screening conditions to determine a first layer of sub-nodes, and based on the calling level relation, determining a next layer of sub-nodes of the first layer of sub-nodes until the calling level relation is traversed;
and merging the time-consuming information of the same type of the same-layer child nodes in the at least one-layer child node to obtain the merged time-consuming information of the child nodes.
In some embodiments, processing module 840 is to:
Determining a time period to be displayed;
based on the time period, time-consuming information in the performance data is acquired;
And drawing time-consuming nodes based on the time-consuming information and the calling hierarchy relation corresponding to the time-consuming information.
In some embodiments, the processing module 840 is further to:
Defining a time-consuming information format of a function or executable code of the target application program when the target application program runs;
the time-consuming information format comprises a prefix, a calling function mark or a calling executable code mark and a suffix, wherein the prefix is used for representing at least one of calling the service, loading and circulating the engine inside the engine, the suffix is used for indicating a calling type, and the calling type is used for indicating at least one of the internal type of the engine, the service use type and other types.
It should be noted that, the specific limitation in the embodiment of the display device 800 for one or more performance reports provided above may be referred to the limitation of the display method for the performance report above, which is not described herein. The modules of the above device may be implemented in whole or in part by software, hardware, or a combination thereof, and each module may be embedded in hardware form or independent of a processor of the computer device, or may be stored in a memory of the computer device in software form, so that the processor may call and execute operations corresponding to each module.
The embodiment of the application also provides computer equipment, which comprises a processor and a memory, wherein the memory stores a computer program, and the processor is used for executing the computer program in the memory to realize the display method of the performance report provided by the method embodiments.
Fig. 15 is a block diagram of a computer device according to an exemplary embodiment of the present application.
The computer device 1000 may be a terminal such as a smart phone, tablet computer, MP3 player (Moving Picture Experts Group Audio Layer III, dynamic video expert compression standard audio plane 3), MP4 (Moving Picture Experts Group Audio Layer IV, dynamic video expert compression standard audio plane 4) player, unmanned reservation terminal, smart home appliance, smart voice interaction device, unmanned vending terminal. The computer device 1000 may also be referred to by other names of user devices, portable terminals, portable mobile terminals, etc.
In general, computer device 1000 includes a processor 1001 and a memory 1002.
The processor 1001 may include one or more processing cores, such as a 4-core processor, an 8-core processor, and so on. The processor 1001 may be implemented in at least one hardware form of DSP (DIGITAL SIGNAL Processing), FPGA (Field Programmable GATE ARRAY ), PLA (Programmable Logic Array, programmable logic array). The processor 1001 may also include a main processor for processing data in the awake state, which is also called a CPU (Central Processing Unit ), and a coprocessor for processing data in the standby state, which is a low-power-consumption processor. In some embodiments, the processor 1001 may integrate a GPU (Graphics Processing Unit, image processor) for rendering and drawing of content required to be displayed by the display screen. In some embodiments, the processor 1001 may also include an AI (ARTIFICIAL INTELLIGENCE ) processor for processing computing operations related to machine learning.
Memory 1002 may include one or more computer-readable storage media, which may be tangible and non-transitory. Memory 1002 may also include high-speed random access memory, as well as non-volatile memory, such as one or more magnetic disk storage devices, flash memory storage devices. In some embodiments, a non-transitory computer readable storage medium in memory 1002 is used to store at least one instruction for execution by processor 1001 to implement the method of displaying a performance report provided in an embodiment of the application.
In some embodiments, computer device 1000 may also optionally include a peripheral interface 1003 and at least one peripheral. Specifically, the peripheral devices include at least one of radio frequency circuitry 1004, a touch display 1005, a camera assembly 1006, audio circuitry 1007, and a power supply 1008.
Peripheral interface 1003 may be used to connect I/O (Input/Output) related at least one peripheral to processor 1001 and memory 1002. In some embodiments, processor 1001, memory 1002, and peripheral interface 1003 are integrated on the same chip or circuit board, and in some other embodiments, either or both of processor 1001, memory 1002, and peripheral interface 1003 may be implemented on separate chips or circuit boards, as this embodiment is not limiting.
Radio Frequency circuit 1004 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. Radio frequency circuitry 1004 communicates with a communication network and other communication devices via electromagnetic signals. The radio frequency circuit 1004 converts an electrical signal into an electromagnetic signal for transmission, or converts a received electromagnetic signal into an electrical signal. Optionally, the radio frequency circuitry 1004 includes an antenna system, an RF transceiver, one or more amplifiers, tuners, oscillators, digital signal processors, codec chipsets, subscriber identity module cards, and so forth. Radio frequency circuitry 1004 may communicate with other terminals via at least one wireless communication protocol. The wireless communication protocols include, but are not limited to, the world wide web, metropolitan area networks, intranets, various generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and/or WiFi (WIRELESS FIDELITY ) networks. In some embodiments, the radio frequency circuit 1004 may further include NFC (NEAR FIELD Communication) related circuits, which is not limited by the present application.
The touch display 1005 is used to display a UI (User Interface). The UI may include graphics, text, icons, video, and any combination thereof. The touch display 1005 also has the ability to capture touch signals at or above the surface of the touch display 1005. The touch signal may be input to the processor 1001 as a control signal for processing. Touch display 1005 is used to provide virtual buttons and/or virtual keyboards, also known as soft buttons and/or soft keyboards. In some embodiments, the touch display 1005 may be one, with the front panel of the computer device 1000 disposed, in other embodiments, at least two touch display 1005 may be disposed on different surfaces of the computer device 1000 or in a folded design, respectively, and in some embodiments, the touch display 1005 may be a flexible display disposed on a curved surface or a folded surface of the computer device 1000. Even more, the touch display 1005 may be arranged in an irregular pattern other than rectangular, i.e., a shaped screen. The touch display 1005 may be made of LCD (Liquid CRYSTAL DISPLAY), OLED (Organic Light-Emitting Diode) or other materials.
The camera assembly 1006 is used to capture images or video. Optionally, camera assembly 1006 includes a front camera and a rear camera. In general, a front camera is used for realizing video call or self-photographing, and a rear camera is used for realizing photographing of pictures or videos. In some embodiments, the number of the rear cameras is at least two, and the rear cameras are any one of a main camera, a depth camera and a wide-angle camera, so as to realize fusion of the main camera and the depth camera to realize a background blurring function, and fusion of the main camera and the wide-angle camera to realize a panoramic shooting function and a Virtual Reality (VR) shooting function. In some embodiments, camera assembly 1006 may also include a flash. The flash lamp can be a single-color temperature flash lamp or a double-color temperature flash lamp. The dual-color temperature flash lamp refers to a combination of a warm light flash lamp and a cold light flash lamp, and can be used for light compensation under different color temperatures.
Audio circuitry 1007 is used to provide an audio interface between the user and computer device 1000. The audio circuit 1007 may include a microphone and a speaker. The microphone is used for collecting sound waves of users and environments, converting the sound waves into electric signals, and inputting the electric signals to the processor 1001 for processing, or inputting the electric signals to the radio frequency circuit 1004 for voice communication. For purposes of stereo acquisition or noise reduction, the microphone may be multiple, each disposed at a different location of the computer device 1000. The microphone may also be an array microphone or an omni-directional pickup microphone. The speaker is used to convert electrical signals from the processor 1001 or the radio frequency circuit 1004 into sound waves. The speaker may be a conventional thin film speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, not only the electric signal can be converted into a sound wave audible to humans, but also the electric signal can be converted into a sound wave inaudible to humans for ranging and other purposes. In some embodiments, audio circuit 1007 may also include a headphone jack.
The power supply 1008 is used to power the various components in the computer device 1000. The power supply 1008 may be an alternating current, a direct current, a disposable battery, or a rechargeable battery. When the power supply 1008 includes a rechargeable battery, the rechargeable battery may be a wired rechargeable battery or a wireless rechargeable battery. The wired rechargeable battery is a battery charged through a wired line, and the wireless rechargeable battery is a battery charged through a wireless coil. The rechargeable battery may also be used to support fast charge technology.
In some embodiments, the computer device 1000 also includes one or more sensors 1009. The one or more sensors 1009 include, but are not limited to, an acceleration sensor 1010, a gyroscope sensor 1011, a pressure sensor 1012, an optical sensor 1013, and a proximity sensor 1014.
The acceleration sensor 1010 can detect the magnitudes of accelerations on three coordinate axes of a coordinate system established with the computer device 1000. For example, the acceleration sensor 1010 may be used to detect components of gravitational acceleration in three coordinate axes. The processor 1001 may control the touch display 1005 to display a user interface in a landscape view or a portrait view according to the gravitational acceleration signal acquired by the acceleration sensor 1010. The acceleration sensor 1010 may also be used for the acquisition of motion data of a game or a user.
The gyro sensor 1011 may detect a body direction and a rotation angle of the computer apparatus 1000, and the gyro sensor 1011 may collect a 3D motion of the user on the computer apparatus 1000 in cooperation with the acceleration sensor 1010. The processor 1001 can realize functions such as motion sensing (e.g., changing a UI according to a tilting operation of a user), image stabilization at photographing, game control, and inertial navigation, based on data acquired by the gyro sensor 1011.
Pressure sensor 1012 may be disposed on a side frame of computer device 1000 and/or on an underlying layer of touch display 1005. When the pressure sensor 1012 is provided at a side frame of the computer device 1000, a grip signal of the computer device 1000 by a user may be detected, and left-right hand recognition or quick operation may be performed according to the grip signal. When the pressure sensor 1012 is disposed at the lower layer of the touch display screen 1005, control of the operability control on the UI interface can be achieved according to the pressure operation of the user on the touch display screen 1005. The operability controls include at least one of a button control, a scroll bar control, an icon control, and a menu control.
The optical sensor 1013 is used to collect the intensity of the ambient light. In one embodiment, the processor 1001 may control the display brightness of the touch display 1005 based on the ambient light intensity collected by the optical sensor 1013. Specifically, the display luminance of the touch display 1005 is turned up when the ambient light intensity is high, and the display luminance of the touch display 1005 is turned down when the ambient light intensity is low. In another embodiment, the processor 1001 may also dynamically adjust the shooting parameters of the camera module 1006 according to the ambient light intensity collected by the optical sensor 1013.
A proximity sensor 1014, also known as a distance sensor, is typically provided on the front of the computer device 1000. The proximity sensor 1014 is used to collect the distance between the user and the front of the computer device 1000. In one embodiment, the processor 1001 controls the touch display 1005 to switch from the on-screen state to the off-screen state when the proximity sensor 1014 detects a gradual decrease in the distance between the user and the front of the computer device 1000, and controls the touch display 1005 to switch from the off-screen state to the on-screen state when the proximity sensor 1014 detects a gradual increase in the distance between the user and the front of the computer device 1000.
Those skilled in the art will appreciate that the architecture shown in fig. 15 is not limiting of the computer device and may include more or fewer components than shown, or may combine certain components, or employ a different arrangement of components.
In an exemplary embodiment, the present application further provides a chip, where the chip includes a programmable logic circuit and/or computer instructions, and when the chip is run on a computer device, the chip is configured to implement the method for displaying a performance report provided by the method embodiment.
The embodiment of the application also provides a computer readable storage medium, which stores a computer program, and the computer program is loaded and executed by a processor to realize the method for displaying the performance report provided by the embodiment of the method.
Embodiments of the present application also provide a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions, so that the processor of the computer device loads and executes the computer device to implement the method for displaying the performance report provided by the method embodiment.
The foregoing embodiment numbers of the present application are merely for the purpose of description, and do not represent the advantages or disadvantages of the embodiments.
Those of ordinary skill in the art will appreciate that all or a portion of the steps implementing the above embodiments may be implemented by hardware, or may be implemented by a program for instructing relevant hardware, where the program may be stored in a computer readable storage medium, and the above mentioned computer readable storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
Those skilled in the art will appreciate that in one or more of the examples described above, the functions described in the embodiments of the present application may be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, these functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a general purpose or special purpose computer.
The foregoing description of the preferred embodiments of the present application is not intended to limit the application, but rather, the application is to be construed as limited to the appended claims.

Claims (19)

Translated fromUnknown language
1.一种性能报告的显示方法,其特征在于,所述方法包括:1. A method for displaying a performance report, characterized in that the method comprises:在目标应用程序运行时,接收所述目标应用程序的性能数据;receiving performance data of the target application while the target application is running;响应于选择操作,从候选显示模式中选择显示模式,不同的所述候选显示模式指示的性能报告对应的详细程度不同;In response to a selection operation, selecting a display mode from candidate display modes, wherein different candidate display modes indicate different levels of detail corresponding to the performance report;以所述显示模式,显示所述性能数据的性能报告,所述性能报告用于以可视化形式展示所述性能数据的分析结果。In the display mode, a performance report of the performance data is displayed, where the performance report is used to present the analysis results of the performance data in a visual form.2.根据权利要求1所述的方法,其特征在于,所述以所述显示模式,显示所述性能数据的性能报告,包括:2. The method according to claim 1, wherein displaying the performance report of the performance data in the display mode comprises:响应于所述显示模式指示的分析方式,显示与所述性能数据的分析结果匹配的性能报告,所述分析结果是基于所述分析方式对全部或部分所述性能数据执行分析得到的。In response to the analysis method indicated by the display mode, a performance report matching the analysis result of the performance data is displayed, where the analysis result is obtained by analyzing all or part of the performance data based on the analysis method.3.根据权利要求2所述的方法,其特征在于,所述显示模式包括第一模式;3. The method according to claim 2, wherein the display mode comprises a first mode;所述响应于所述显示模式指示的分析方式,显示与所述性能数据的分析结果匹配的性能报告,包括:The step of displaying a performance report matching the analysis result of the performance data in response to the analysis method indicated by the display mode includes:响应于所述第一模式指示的第一分析方式,以列表形式显示与所述性能数据的第一分析结果匹配的第一性能报告,所述第一分析结果是基于所述第一分析方式对全部或部分所述性能数据执行分析得到的;In response to the first analysis method indicated by the first mode, displaying in a list form a first performance report matching a first analysis result of the performance data, where the first analysis result is obtained by analyzing all or part of the performance data based on the first analysis method;其中,所述第一分析结果包括:所述性能数据发生异常的等级、所述性能数据发生异常的时间段、解决所述性能数据的异常的解决方式,所述第一性能报告包括:以所述列表形式显示的所述等级、所述时间段和所述解决方式。Among them, the first analysis result includes: the level of the performance data anomaly, the time period of the performance data anomaly, and the solution to the performance data anomaly; the first performance report includes: the level, the time period and the solution displayed in the form of the list.4.根据权利要求3所述的方法,其特征在于,所述方法还包括:4. The method according to claim 3, further comprising:以时间轴的方式,显示全部或部分性能指标对应的所述性能数据。The performance data corresponding to all or part of the performance indicators are displayed in a timeline manner.5.根据权利要求2至4任一所述的方法,其特征在于,所述显示模式包括第二模式,所述第二模式指示的第二性能报告的第二详细程度,高于所述第一模式指示的所述第一性能报告的第一详细程度;5. The method according to any one of claims 2 to 4, wherein the display mode comprises a second mode, wherein a second level of detail of the second performance report indicated by the second mode is higher than a first level of detail of the first performance report indicated by the first mode;所述响应于所述显示模式指示的分析方式,显示与所述性能数据的分析结果匹配的性能报告,包括:The step of displaying a performance report matching the analysis result of the performance data in response to the analysis method indicated by the display mode includes:响应于选择操作,从候选帧中确定选中帧;In response to a selection operation, determining a selected frame from the candidate frames;响应于所述第二模式指示的第二分析方式,以树形结构形式显示与所述选中帧的所述性能数据的第二分析结果匹配的第二性能报告,所述第二分析结果是基于所述第二分析方式,对所述选中帧的所述性能数据执行分析得到的;In response to the second analysis method indicated by the second mode, displaying a second performance report matching a second analysis result of the performance data of the selected frame in a tree structure, where the second analysis result is obtained by analyzing the performance data of the selected frame based on the second analysis method;其中,所述第二分析结果包括:所述选中帧对应的至少一层子节点、所述至少一层子节点的每个子节点的耗时信息,所述每个子节点对应一个函数或一段可执行代码;所述第二性能报告包括:用于指示所述选中帧的所述性能数据中的耗时信息、以所述树形结构形式显示的所述第二分析结果。Among them, the second analysis result includes: at least one layer of sub-nodes corresponding to the selected frame, and the time consumption information of each sub-node of the at least one layer of sub-nodes, and each sub-node corresponds to a function or a piece of executable code; the second performance report includes: the time consumption information in the performance data for indicating the selected frame, and the second analysis result displayed in the form of the tree structure.6.根据权利要求2至5任一所述的方法,其特征在于,所述显示模式包括第三模式,所述第三模式指示的第三性能报告的第三详细程度,高于所述第二模式指示的第二性能报告的第二详细程度;6. The method according to any one of claims 2 to 5, wherein the display mode comprises a third mode, wherein a third level of detail of a third performance report indicated by the third mode is higher than a second level of detail of a second performance report indicated by the second mode;所述响应于所述显示模式指示的分析方式,显示与所述性能数据的分析结果匹配的性能报告,包括:The step of displaying a performance report matching the analysis result of the performance data in response to the analysis method indicated by the display mode includes:响应于输入操作,在输入框中输入目标调用类型;In response to an input operation, a target call type is input in the input box;响应于所述第三模式指示的第三分析方式,以列表形式显示与所述目标调用类型有关的所述性能数据的第三分析结果匹配的第三性能报告,所述第三分析结果是基于所述第三分析方式,对所述目标调用类型匹配的函数或可执行代码的所述性能数据执行分析得到的;In response to the third analysis method indicated by the third mode, displaying a third performance report matching a third analysis result of the performance data related to the target call type in a list format, wherein the third analysis result is obtained by analyzing the performance data of the function or executable code matching the target call type based on the third analysis method;其中,所述第三分析结果包括:所述目标调用类型匹配的函数或可执行代码对应的数量和耗时信息;所述第三性能报告包括:以列表形式显示的所述第三分析结果。The third analysis result includes: the number and time-consuming information of functions or executable codes that match the target call type; and the third performance report includes: the third analysis result displayed in a list form.7.根据权利要求6所述的方法,其特征在于,所述方法还包括:7. The method according to claim 6, further comprising:以时间轴的方式,显示全部或部分帧的性能数据中的耗时信息,以及,显示所述性能数据指示的全部或部分函数或可执行代码对应的调用层级关系以及耗时信息。The time consumption information in the performance data of all or part of the frames is displayed in a timeline manner, and the calling hierarchy relationship and time consumption information corresponding to all or part of the functions or executable codes indicated by the performance data are displayed.8.根据权利要求3所述的方法,其特征在于,所述方法还包括:8. The method according to claim 3, further comprising:基于时间段和键值名称,获取预设的性能规则对应的所述性能数据;Based on the time period and key value name, obtain the performance data corresponding to the preset performance rule;检测所述性能数据与所述性能规则中的阈值的关系;detecting a relationship between the performance data and a threshold in the performance rule;在所述性能数据大于所述阈值的情况下,确定所述性能数据发生异常,以及,增加所述时间段的所述性能数据的异常数量;When the performance data is greater than the threshold, determining that the performance data is abnormal, and increasing the number of abnormalities of the performance data in the time period;获取所述性能规则对应的所述性能数据的异常数量;Obtaining the number of abnormalities in the performance data corresponding to the performance rule;基于所述异常数量与所述性能规则中的异常数量阈值的关系,确定所述性能数据发生异常的等级。Based on the relationship between the number of anomalies and the threshold of the number of anomalies in the performance rule, the level of anomaly of the performance data is determined.9.根据权利要求8所述的方法,其特征在于,所述异常数量阈值包括以下至少一种:错误阈值、告警阈值、建议阈值,所述性能数据发生异常的等级包括以下至少一种:严重、告警、建议;9. The method according to claim 8, wherein the anomaly quantity threshold comprises at least one of the following: an error threshold, a warning threshold, and a suggestion threshold, and the level of the performance data anomaly comprises at least one of the following: severe, warning, and suggestion;所述基于所述异常数量与所述性能规则中的异常数量阈值的关系,确定所述性能数据发生异常的等级,包括:The determining, based on the relationship between the number of anomalies and the anomaly number threshold in the performance rule, the level of anomaly of the performance data includes:在所述异常数量大于所述错误阈值的情况下,将所述性能规则对应的所述性能数据发生异常的等级标记为所述严重;When the number of anomalies is greater than the error threshold, marking the level of the anomaly of the performance data corresponding to the performance rule as severe;在所述异常数量小于所述错误阈值、且大于告警阈值的情况下,将所述性能规则对应的所述性能数据发生异常的等级标记为所述告警;When the number of anomalies is less than the error threshold and greater than the warning threshold, marking the level of the anomaly of the performance data corresponding to the performance rule as the warning;在所述异常数量小于所述告警阈值、且大于建议阈值的情况下,将所述性能规则对应的所述性能数据发生异常的等级标记为所述建议;When the number of anomalies is less than the warning threshold and greater than the recommendation threshold, marking the level of anomaly of the performance data corresponding to the performance rule as the recommendation;在所述异常数量小于所述错误阈值、且小于所述告警阈值、且小于所述建议阈值的情况下,将所述性能规则对应的性能数据标记为不提示。When the number of anomalies is smaller than the error threshold, smaller than the warning threshold, and smaller than the recommendation threshold, the performance data corresponding to the performance rule is marked as not prompting.10.根据权利要求8所述的方法,其特征在于,所述方法还包括:10. The method according to claim 8, further comprising:确定待收集的性能数据;Determine the performance data to be collected;定义所述性能数据对应的阈值,以及,收集所述性能数据的规则信息;defining thresholds corresponding to the performance data, and rule information for collecting the performance data;基于所述性能数据的所述规则信息和所述阈值,确定所述性能数据对应的性能规则。Based on the rule information and the threshold of the performance data, a performance rule corresponding to the performance data is determined.11.根据权利要求10所述的方法,其特征在于,所述性能规则包括以下至少一种信息:11. The method according to claim 10, wherein the performance rule comprises at least one of the following information:规则标识、规则名称、平台类型、所述性能数据的类型、所述性能数据的键值名称、所述性能数据的阈值、异常数量阈值的数值或比例、建议阈值、告警阈值、错误阈值、解决方式的提示、所述解决方式的提示文档、所述解决方式的提示文档标题。Rule identifier, rule name, platform type, type of performance data, key value name of performance data, threshold of performance data, value or ratio of abnormal quantity threshold, recommended threshold, warning threshold, error threshold, solution prompt, solution prompt document, and solution prompt document title.12.根据权利要求5所述的方法,其特征在于,所述方法还包括:12. The method according to claim 5, further comprising:筛选所述选中帧对应的所述性能数据,确定满足筛选条件的性能数据;Filtering the performance data corresponding to the selected frame to determine performance data that meets the filtering conditions;基于所述满足筛选条件的性能数据,以及调用层级关系和调用类型,确定所述性能数据的所述第二分析结果;Determining the second analysis result of the performance data based on the performance data that meets the screening condition, the call hierarchy relationship, and the call type;其中,所述筛选条件包括以下至少一种:所述性能数据中的耗时信息大于阈值、所述性能数据的类型为预设类型、所述性能数据与业务有关;所述调用层级关系用于指示所述性能数据对应的函数或可执行代码之间的调用情况,所述调用类型通过所述函数或可执行代码的耗时信息格式中的后缀进行指示。Among them, the screening conditions include at least one of the following: the time-consuming information in the performance data is greater than a threshold, the type of the performance data is a preset type, and the performance data is related to the business; the calling hierarchy relationship is used to indicate the calling situation between the functions or executable codes corresponding to the performance data, and the calling type is indicated by the suffix in the time-consuming information format of the function or executable code.13.根据权利要求12所述的方法,其特征在于,所述基于所述满足筛选条件的性能数据,以及调用层级关系和调用类型,确定所述性能数据的所述第二分析结果,包括:13. The method according to claim 12, wherein determining the second analysis result of the performance data based on the performance data that meets the screening condition, the call hierarchy relationship, and the call type comprises:基于所述调用层级关系和所述调用类型,将所述满足筛选条件的性能数据中的耗时信息执行排序,确定第一层子节点;以及,基于所述调用层级关系,确定所述第一层子节点的下一层子节点,直至所述调用层级关系遍历完毕;Based on the call hierarchy relationship and the call type, the time-consuming information in the performance data that meets the screening conditions is sorted to determine the first-level child nodes; and based on the call hierarchy relationship, the next-level child nodes of the first-level child nodes are determined until the call hierarchy relationship is completely traversed;将所述至少一层子节点中的同层子节点的同类型的耗时信息执行合并,得到所述子节点的合并后的耗时信息。The same type of time consumption information of the same-layer child nodes in the at least one layer of child nodes is merged to obtain merged time consumption information of the child nodes.14.根据权利要求7所述的方法,其特征在于,所述方法还包括:14. The method according to claim 7, further comprising:确定待展示的时间段;Determine the time period for the exhibition;基于所述时间段,获取所述性能数据中的耗时信息;Based on the time period, obtaining time consumption information in the performance data;基于所述耗时信息和所述耗时信息对应的调用层级关系,绘制耗时节点。Based on the time-consuming information and the call hierarchy relationship corresponding to the time-consuming information, a time-consuming node is drawn.15.根据权利要求1至14任一所述的方法,其特征在于,所述方法还包括:15. The method according to any one of claims 1 to 14, further comprising:定义所述目标应用程序运行时的函数或可执行代码的耗时信息格式;Defining a time-consuming information format of a function or executable code when the target application is running;其中,所述耗时信息格式包括:前缀、调用函数标记或调用可执行代码标记、后缀;所述前缀用于表示以下至少一种:引擎内部调用到业务、加载、引擎内部循环,所述后缀用于指示调用类型,所述调用类型用于指示以下至少一种:引擎内部类型、业务使用类型、其他类型。Among them, the time-consuming information format includes: a prefix, a call function mark or a call executable code mark, and a suffix; the prefix is used to indicate at least one of the following: an internal engine call to a business, loading, or an internal engine loop; the suffix is used to indicate a call type, and the call type is used to indicate at least one of the following: an internal engine type, a business usage type, or other types.16.一种性能报告的显示装置,其特征在于,所述装置包括:16. A device for displaying a performance report, characterized in that the device comprises:接收模块,用于在目标应用程序运行时,接收所述目标应用程序的性能数据;A receiving module, configured to receive performance data of a target application when the target application is running;处理模块,用于响应于选择操作,从候选显示模式中选择显示模式,不同的所述候选显示模式指示的性能报告对应的详细程度不同;A processing module, configured to select a display mode from candidate display modes in response to a selection operation, wherein different candidate display modes indicate performance reports corresponding to different levels of detail;显示模块,用于以所述显示模式,显示所述性能数据的性能报告,所述性能报告用于以可视化形式展示所述性能数据的分析结果。The display module is used to display a performance report of the performance data in the display mode, and the performance report is used to present the analysis results of the performance data in a visual form.17.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至15任一所述的性能报告的显示方法。17. A computer device, characterized in that the computer device comprises: a processor and a memory, the memory storing a computer program, the computer program being loaded and executed by the processor to implement the performance report display method according to any one of claims 1 to 15.18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至15任一所述的性能报告的显示方法。18. A computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program, wherein the computer program is loaded and executed by a processor to implement the method for displaying a performance report according to any one of claims 1 to 15.19.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,处理器从所述计算机可读存储介质中获取所述计算机指令,使得所述处理器加载并执行以实现如权利要求1至15任一所述的性能报告的显示方法。19. A computer program product, characterized in that the computer program product includes computer instructions, the computer instructions are stored in a computer-readable storage medium, a processor obtains the computer instructions from the computer-readable storage medium, and the processor loads and executes the computer instructions to implement the performance report display method according to any one of claims 1 to 15.
CN202510905408.1A2025-06-30Performance report display method, device, apparatus, medium and program productPendingCN120803867A (en)

Publications (1)

Publication NumberPublication Date
CN120803867Atrue CN120803867A (en)2025-10-17

Family

ID=

Similar Documents

PublicationPublication DateTitle
CN110147231B (en)Combined special effect generation method and device and storage medium
CN109952610B (en)Selective identification and ordering of image modifiers
CN110458360B (en)Method, device, equipment and storage medium for predicting hot resources
CN113473074B (en)Detection method, electronic equipment, detection equipment and storage medium
CN110246110B (en)Image evaluation method, device and storage medium
CN111917918B (en)Augmented reality-based event reminder management method and device and storage medium
CN112073767B (en)Display equipment
CN108024073B (en)Video editing method and device and intelligent mobile terminal
CN112561084B (en)Feature extraction method and device, computer equipment and storage medium
CN109495616B (en)Photographing method and terminal equipment
CN113610953B (en) Information processing method, device and computer readable storage medium
JP2022540736A (en) CHARACTER RECOMMENDATION METHOD, CHARACTER RECOMMENDATION DEVICE, COMPUTER AND PROGRAM
CN109815462A (en) A text generation method and terminal device
CN109993234A (en)A kind of unmanned training data classification method, device and electronic equipment
JP2022531372A (en) How to preview behavior during a match in an out-of-competition environment, devices, terminals, and computer programs
CN113596555B (en)Video playing method and device and electronic equipment
CN112118397B (en)Video synthesis method, related device, equipment and storage medium
CN109104573A (en)A kind of method and terminal device of determining focus point
CN109117037A (en)A kind of method and terminal device of image procossing
CN117135444B (en)Frame selection decision method and device based on reinforcement learning
CN120803867A (en)Performance report display method, device, apparatus, medium and program product
CN117252968A (en)Object display method and device, storage medium and intelligent glasses
CN113672226A (en)Front-end component generation method, display method and related device
CN109033297B (en) Image display method and mobile terminal
CN113742183A (en)Screen recording method, terminal and storage medium

Legal Events

DateCodeTitleDescription
PB01Publication

[8]ページ先頭

©2009-2025 Movatter.jp