Animation effect detection method and device, electronic equipment and storage medium

By processing the rendering of target animation resources and analyzing indicator information, the problem of difficulty in setting performance standards in static data detection is solved, enabling accurate performance detection and optimization of animation resources and improving the animation effects of applications.

CN114387241BActive Publication Date: 2026-04-28TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
TENCENT TECHNOLOGY (SHENZHEN) CO LTD
Filing Date
2022-01-04
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

In existing technologies, when using static data detection to perform performance testing on special animation resources in applications, it is difficult to establish performance standards, leading to inaccurate test results and the possibility of undetected or falsely reported performance risks, which affects the optimization of animation effects.

Method used

By rendering the target animation resource, rendering index information and image index information of multiple frames are obtained. The performance data of each frame is determined by combining this information and compared with the performance standard to obtain the performance test result of the animation resource.

Benefits of technology

It enables accurate performance testing of target animation resources, allowing for the identification of performance risks in the early stages of development, optimization of animation effects, and improvement of application animation quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114387241B_ABST
    Figure CN114387241B_ABST
Patent Text Reader

Abstract

The application provides an animation effect detection method and device, electronic equipment and a storage medium, and relates to the technical field of Internet. The method comprises the following steps: obtaining a target animation resource to be detected in a target application; rendering multiple frames of picture data in the target animation resource respectively, wherein, for each frame of picture data, rendering index information is obtained, picture index information of rendered picture information is obtained, and performance data of the frame of picture data is determined according to the rendering index information and the picture index information; and determining a performance detection result of the target animation resource according to the performance data of the multiple frames of picture data. Through the above scheme, the performance of the target animation resource can be accurately detected, so that the performance of the target animation resource can be optimized, and the animation effect output by the application program can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of Internet technology, and in particular to an animation effect detection method, apparatus, electronic device, and storage medium. Background Technology

[0002] With the rapid development of terminal technology, mobile phones, tablets, and other terminals are being used more and more frequently. These terminals typically have various applications installed. Some of these applications can output special animation effects in specific scenarios to enhance the user experience; for example, some terminals have game applications installed that can output corresponding game effects during gameplay.

[0003] To ensure that the special animation effects output by the application meet expectations, performance testing of the special animation resources within the application is necessary. In related technologies, static data testing of special animation resources is typically performed during the application development phase. This involves statically scanning the special animation resources to collect static performance data, which is then compared to established performance standards. If a static performance metric is determined to be non-compliant with the standard, that metric is optimized. For example, static performance data could be the number of particles; if the number of particles exceeds a preset limit, it is determined that the particle count does not meet the performance standard.

[0004] However, performance standards for static performance data are relatively difficult to define. Setting performance standards too high may result in the failure to identify special animation resources with performance risks, leading to a heavy workload for later performance optimization; conversely, setting performance standards too low may result in special animation resources deemed to have normal performance being found to have performance risks, leading to numerous false positives.

[0005] Therefore, the detection results of special animation resources obtained through the above static data detection method are not accurate, which brings inconvenience to the performance optimization of special animation resources and is not conducive to improving the special animation effects output by the application. Summary of the Invention

[0006] This application provides an animation effect detection method, apparatus, electronic device, and storage medium to improve the accuracy of performance detection of a specified target animation resource, so as to optimize the performance of the specified target animation resource and improve the specified animation effect output by the application.

[0007] On one hand, embodiments of this application provide an animation effect detection method, including:

[0008] Obtain the target animation resources to be detected in the target application;

[0009] The multi-frame image data in the target animation resource are rendered respectively. For each frame of image data rendered, rendering index information and image index information of the rendered image information are obtained. Based on the rendering index information and the image index information, the performance data of the frame of image data is determined.

[0010] Based on the performance data of each of the multiple frames of image data, the performance test result of the target animation resource is determined.

[0011] On one hand, embodiments of this application provide an animation effect detection device, including:

[0012] The resource acquisition module is used to acquire the target animation resources to be detected in the target application;

[0013] The performance acquisition module is used to render multiple frames of screen data in the target animation resource respectively. For each frame of screen data rendered, rendering index information and screen index information of the rendered screen information are acquired, and the performance data of the frame of screen data is determined based on the rendering index information and the screen index information.

[0014] The performance detection module is used to determine the performance detection result of the target animation resource based on the performance data of each of the multiple frames of image data.

[0015] In one possible embodiment, when acquiring rendering metric information, the performance acquisition module is further configured to:

[0016] The number of particles emitted by the particle emission component during the rendering process is obtained; wherein, the rendered image information includes multiple particles;

[0017] Get the number of times the rendering engine calls the graphics library interface during the rendering process;

[0018] Obtain the number of mesh faces rendered by the mesh rendering component during the rendering process; wherein, the rendered image information includes multiple mesh faces;

[0019] The number of particles, the number of calls, and the number of mesh faces are used as the rendering metric information.

[0020] In one possible embodiment, the mesh rendering component includes a mesh renderer and a particle renderer, and when obtaining the number of mesh faces rendered by the mesh rendering component during the rendering process, the performance acquisition module is further configured to:

[0021] Obtain a first number of mesh faces rendered by the mesh renderer, and a second number of mesh faces rendered by the particle renderer;

[0022] The number of grid faces is determined based on the first quantity and the second quantity.

[0023] In one possible embodiment, when acquiring the image metrics information of the rendered image information, the performance acquisition module is further configured to:

[0024] Based on the rendered image information, determine the total number of pixels drawn and the total number of times pixels are drawn;

[0025] Based on the total number of pixels drawn and the total number of times pixels were drawn, the overdraw information and screen ratio information of the image information were determined;

[0026] The overdraw information and screen ratio information are used as the screen indicator information.

[0027] In one possible embodiment, the total number of pixels drawn is the sum of the number of pixels drawn by each of at least one shader;

[0028] When determining the performance data of a frame of image data based on the rendering index information and the image index information, the performance acquisition module is further configured to:

[0029] The evaluation value of each of the at least one shader is determined based on the number of pixels drawn by each of the at least one shader.

[0030] The mesh evaluation value is determined based on the number of mesh faces in the rendering metric information;

[0031] The GPU evaluation value is determined based on the evaluation values ​​of the at least one shader and the mesh face evaluation value;

[0032] The rendering metrics, the image metrics, and the GPU evaluation value are used as the performance data for the frame of image data.

[0033] In one possible embodiment, the device further includes a display module for:

[0034] Obtain the performance standard data corresponding to the performance data of the frame of image data;

[0035] The display shows the performance data of the frame and the performance standard data.

[0036] In one possible embodiment, the performance detection module is further configured to:

[0037] The performance data of each of the multiple frames of image data is compared with the corresponding performance standard data.

[0038] The obtained comparison results are used as the performance test results of the target animation resource.

[0039] On one hand, embodiments of this application provide an electronic device, which includes a processor and a memory, wherein the memory stores program code, and when the program code is executed by the processor, the processor performs the steps of any of the above-described animation effect detection methods.

[0040] On the one hand, embodiments of this application provide a computer storage medium storing computer instructions, which, when executed on a computer, cause the computer to perform the steps of any of the above-described animation effect detection methods.

[0041] On one hand, an embodiment of this application provides a computer program product, which includes computer instructions stored in a computer-readable storage medium; when a processor of an electronic device reads the computer instructions from the computer-readable storage medium, the processor executes the computer instructions, causing the electronic device to perform the steps of any of the above-described animation effect detection methods.

[0042] Since the embodiments of this application adopt the above-described technical solution, they have at least the following technical effects:

[0043] In this embodiment, for the target animation resource to be detected in the target application, the target animation resource is played. During playback, multiple frames of screen data in the target animation resource are rendered. After each frame of screen data is rendered, the rendering index information and screen index information corresponding to that frame of screen data are obtained. Based on the rendering index information and screen index information, the performance data of that frame of screen data is determined, thereby obtaining the performance data of each of the multiple frames of screen data. Based on the obtained performance data, the performance detection result of the target animation resource can be determined. In this way, by obtaining various index information of the target animation resource after rendering, the performance of the target animation resource can be accurately detected, so as to optimize the performance of the target animation resource and improve the animation effect output by the application.

[0044] Other features and advantages of this application will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the application. The objectives and other advantages of this application may be realized and obtained by means of the structures particularly pointed out in the written description, claims, and drawings. Attached Figure Description

[0045] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0046] Figure 1 This is a schematic diagram illustrating an application scenario of an animation effect detection method provided in an embodiment of this application;

[0047] Figure 2 A flowchart illustrating an animation effect detection method provided in this application embodiment;

[0048] Figure 3 A flowchart illustrating another animation effect detection method provided in this application embodiment;

[0049] Figure 4 A schematic diagram of an animation effect detection interface provided in an embodiment of this application;

[0050] Figure 5 A flowchart illustrating another animation effect detection method provided in this application embodiment;

[0051] Figure 6 A logical schematic diagram of an animation effect detection method provided in an embodiment of this application;

[0052] Figure 7 A structural block diagram of an animation effect detection device provided in an embodiment of this application;

[0053] Figure 8 A structural block diagram of an animation effect detection device provided in an embodiment of this application;

[0054] Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application;

[0055] Figure 10 This is a schematic diagram of the structure of another electronic device in an embodiment of this application. Detailed Implementation

[0056] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0057] To facilitate a better understanding of the technical solutions of this application by those skilled in the art, some of the concepts involved in this application are introduced below.

[0058] An application is a computer program installed on a terminal device that can perform one or more business tasks, and generally needs to cooperate with a server to run. Common applications are mainly divided into two categories: one is pre-installed system applications, such as SMS, photos, and memos; the other is third-party applications, such as game applications, news applications, shopping applications, social applications, etc. The target application in this embodiment can be one of the third-party applications.

[0059] Target animation resources: These can be special animation resources used in the target application to output corresponding special animation effects, often simply referred to as special effects. These are usually special effects created by computer software that would not typically occur in reality. For example, when the target application is a game application, the game application can use special effects resources to output corresponding game effects, such as sword flashes, flames, smoke, explosions, and other special effects.

[0060] The word “exemplary” as used below means “serving as an example, embodiment, or illustration.” Any embodiment illustrated as an “exemplary” need not be construed as superior to or better than other embodiments.

[0061] The terms "first" and "second" used in this document are for descriptive purposes only and should not be construed as indicating relative importance or implying the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of the embodiments of this application, unless otherwise stated, "multiple" means two or more.

[0062] The design concept of the embodiments of this application is briefly introduced below:

[0063] As mentioned earlier, to ensure that the special animation effects output by the application meet expectations, it is necessary to perform performance testing on the special animation resources in the application. In related technologies, static data testing of special animation resources is usually performed during the application development phase. This involves statically scanning the special animation resources to collect static performance data, such as the number of particle emission components, the number of mesh surfaces, and the estimated maximum number of particles. The static performance data is then compared with the established performance standards.

[0064] However, performance standards for static performance data are difficult to define. Overly high standards may result in the failure to detect special animation resources with performance risks, leading to heavy workloads for later performance optimization; conversely, overly low standards may result in special animation resources deemed to have normal performance being considered risky, leading to numerous false positives. Therefore, the detection results for special animation resources obtained through the aforementioned static data detection method are inaccurate, hindering performance optimization of these resources and negatively impacting the improvement of special animation effects output by the application.

[0065] In view of this, embodiments of this application provide an animation effect detection method, apparatus, electronic device, and storage medium. By acquiring various indicator information after the target animation resource is rendered, the performance of the target animation resource can be accurately detected, so as to optimize the performance of the target animation resource and improve the animation effect output by the application.

[0066] The preferred embodiments of this application are described below with reference to the accompanying drawings. It should be understood that the preferred embodiments described herein are for illustration and explanation only and are not intended to limit this application. Furthermore, the embodiments and features in the embodiments of this application can be combined with each other without conflict.

[0067] like Figure 1 The diagram shown is an application scenario illustration of an embodiment of this application. The application scenario diagram includes multiple terminal devices 110 and a server 120, which can communicate with each other via a communication network.

[0068] In one alternative implementation, the communication network can be a wired network or a wireless network.

[0069] In this embodiment, the terminal device 110 includes, but is not limited to, mobile phones, tablets, laptops, desktop computers, e-book readers, smart voice interaction devices, smart home appliances, vehicle terminals, and other devices; the server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms.

[0070] The animation effect detection method in this embodiment can be executed by either the terminal device 110 or the server 120 alone, or by both the terminal device 110 and the server 120. For example, when the terminal device 110 and the server 120 execute together, the terminal device 110 can obtain the target animation resource to be detected in the target application, and then send the target animation resource to the server 120, which will then perform performance detection on the target animation resource. The following embodiment uses the terminal device executing alone as an example for explanation.

[0071] In this embodiment, during the development phase of the target application, an animation resource development engine can be installed in the terminal device 110. The development engine is used to develop the target animation resources used in the target application. For example, if the target application is a game application, a game engine is used to develop the game effects resources used in the game application. After the target animation resources in the target application are developed, the animation effect detection method of this embodiment can be used to perform performance testing on these target animation resources.

[0072] It should be noted that, Figure 1 The examples shown are merely illustrative; in reality, the number of terminal devices and servers is unlimited and is not specifically limited in the embodiments of this application.

[0073] The animation effect detection method provided by the exemplary embodiments of this application will be described below with reference to the accompanying drawings and the application scenarios described above. It should be noted that the application scenarios described above are only shown to facilitate understanding of the spirit and principles of this application, and the embodiments of this application are not limited in any way in this respect.

[0074] Figure 2 The flowchart of an animation effect detection method provided in an embodiment of this application is shown. This method can be executed by a terminal device or a server. The following embodiments of this application use the execution by a terminal device as an example for illustration.

[0075] like Figure 2 As shown in the embodiment of this application, an animation effect detection method includes the following steps:

[0076] S201, Obtain the target animation resource to be detected in the target application.

[0077] The target animation resource can be a special animation resource (also known as a special effects resource). The target application can be one of various applications, such as a game application, a video application, or a social application. In certain specific scenarios, the target application can use the target animation resource to output corresponding special animation effects (also known as special effects). For example, a game application can use special effects resources to output corresponding game special effects.

[0078] Taking a game application as an example, during the development phase of a game application, after various special effects resources are developed through the game engine, in order to test the performance of these special effects resources, each developed special effects resource can be obtained sequentially, and then each special effects resource can be saved to a special effects resource collection. For example, the special effects resource collection can be saved in the form of a list of special effects resources, so that the terminal device can perform performance testing on each special effects resource in the special effects resource collection.

[0079] When testing special effects resources, the process can be performed on the game application testing end or on the game application development end (which can be understood as the game editor end). The following is an example of how to obtain the special effects resources to be tested in a game application.

[0080] For individually playable special effects resources, the game editor typically stores each developed special effects resource in a folder. When retrieving the special effects resource to be tested, all files in that folder can be traversed to obtain each special effects resource. On the game application testing side, each special effects resource can be packaged into a special effects resource package according to preset packaging rules. When retrieving the special effects resource to be tested, the special effects resource package can be opened and the special effects resources can be loaded one by one.

[0081] Additionally, in game scenarios within a game application, there may be situations where multiple game effects play simultaneously. For example, a single weapon can have multiple game effects, such as corresponding effects on the muzzle and body of a pistol. Therefore, it is necessary to acquire the effect resources of these game effects simultaneously. For instance, acquire the multiple effect resources contained in a weapon, as well as the mounting point (which can be understood as the position) of each effect resource on the weapon. When loading and playing these game effects, place each effect resource at the position coordinates corresponding to its mounting point to simulate the playback of the weapon's effects.

[0082] S202, render the multi-frame image data in the target animation resource respectively. For each frame of image data rendered, obtain the rendering index information and the image index information of the rendered image information, and determine the performance data of the frame of image data based on the rendering index information and the image index information.

[0083] In this step, the target animation resource takes special effects resources from game applications as an example. Each special effects resource includes multiple frames of image data. When rendering the special effects resource, multiple frames of image data can be rendered sequentially to play the special effects resource. When rendering the multiple frames of image data in the special effects resource separately, after rendering each frame of image data, the rendering index information of various rendering components used in the rendering process can be obtained. Furthermore, after obtaining the rendered image information, the corresponding image index information can be obtained by analyzing the image information.

[0084] The various rendering components used in the rendering process can be determined based on the specific game rendering engine. For example, the game rendering engine could be the Unity engine, which includes particle systems, mesh rendering components, shaders, and other rendering components. Typically, after rendering a frame of image data, the rendering information of various rendering components recorded by the game rendering engine can be obtained. Then, based on this rendering information, the corresponding rendering metrics can be analyzed. The specific content of the rendering metrics can be determined according to the actual application scenario, and is not limited here. The following embodiments of this application will further illustrate the content of the rendering metrics.

[0085] Based on the rendered image information, corresponding image metrics can be analyzed, such as pixel-related metrics and image display metrics, which can be determined according to the actual application scenario.

[0086] Furthermore, rendering metrics and image metrics can be combined to comprehensively determine the performance data for each frame. For example, by using rendering metrics and image metrics as performance data, a comprehensive evaluation can be conducted based on these metrics to obtain performance data, such as evaluating the performance of the graphics processing unit (GPU). In this case, the game rendering engine can execute the rendering process using the GPU.

[0087] S203, determine the performance test results of the target animation resource based on the performance data of each of the multiple frames.

[0088] After obtaining the performance data of each of the multiple frames, the performance data of each frame can be compared with the corresponding performance standard data to determine whether the performance data meets the performance standard. If there is performance data that does not meet the performance standard, it is determined that the performance data may have a performance problem.

[0089] In some possible implementations, such as Figure 3 As shown, S203 may also include the following steps:

[0090] S2031 compares the performance data of each of the multiple frames with the corresponding performance standard data.

[0091] The performance data for each frame may include multiple performance metrics, each of which can correspond to a performance standard data. The performance standard data can be determined based on the specific circumstances of the target application. Each performance metric is compared with the corresponding performance standard data to obtain a comparison result, such as whether the performance metric meets the performance standard or does not meet the performance standard.

[0092] For example, a performance metric is the number of particles. The number of particles is compared with the maximum number of particles. If the number of particles exceeds the maximum number of particles, it is determined that the number of particles exceeds the performance standard, which may indicate a performance problem. The performance data can then be optimized.

[0093] S2032, the obtained comparison results are used as the performance test results of the target animation resource.

[0094] By comparing the results of each frame of video data, we can determine which performance metrics in each frame meet the performance standards and which do not. Then, based on the comparison results of multiple frames, we can determine the performance test results of the target animation resource. Performance metrics that do not meet the performance standards can be further optimized to prevent them from affecting the output special effects performance of the target animation resource.

[0095] In this embodiment, by acquiring various indicator information after the target animation resource is rendered, the real performance data of the resource during runtime can be collected. The performance data obtained is more convincing than static resource checks, and there will be no false alarms or omissions. The performance of the target animation resource can be accurately detected so as to optimize the performance of the target animation resource, which is beneficial to improving the animation effect output by the application.

[0096] Furthermore, when testing target animation resources, it can be executed on the target application test end or the target application development end. Moreover, it can perform performance testing on each target animation resource in the early stages of development, regardless of the development progress. Performance testing can be performed whenever a target animation resource is developed, and some performance risks can be discovered in the early stages of development, allowing for early warnings and optimizations, thereby improving the development efficiency of target animation resources.

[0097] By collecting and testing performance data for each target animation resource in the target application individually, it is possible to screen out target animation resources that actually have performance risks. It is not necessary to find high-consuming target animation resources during the actual operation of the target application. Optimization can be carried out directly on target animation resources with performance risks. Furthermore, by comparing the performance data between different target animation resources, it is easier to find target animation resources with high performance consumption, so that targeted optimization can be carried out.

[0098] The following is an exemplary description of the method for obtaining rendering index information in the above embodiments of this application.

[0099] In some embodiments, when obtaining rendering metric information in S202 above, the rendering metric information of various rendering components used in rendering the target animation resource can be collected. Specifically, this may include the following steps:

[0100] A1. Obtain the number of particles emitted by the particle emission component during the rendering process; the rendered image information includes multiple particles.

[0101] For some target animation resources, particles need to be emitted through a particle emission component during playback to achieve the corresponding animation effects. For example, if the target animation resource is a special effects resource in a game application, the game rendering engine uses a particle system to implement various game effects. This game rendering engine could be Unity or another game engine. Unity is a real-time 3D interactive content creation and operation platform that can be used to create, operate, and monetize any real-time interactive 2D and 3D content.

[0102] Particle systems typically include particle emitters, particle renderers, and other particle emission components. During game effects display, particle emitters continuously emit particles, and the particle system continuously changes the color, size, angle, etc. of the particles in each frame of the game effects to achieve specific special effects, such as sword flashes, flames, smoke, explosions, etc.

[0103] The particle emission component in step A1 can be a particle emitter. After the rendering of a frame of image data in the special effects resource is completed, the number of particles emitted by the particle emitter can be obtained through the set particle reading interface, or the number of particles emitted by the particle emitter can be read through the existing particle system reading component. For example, the particle system reading component in the Unity engine is the ParticleSystem component, and the real-time particle count can be obtained by reflecting on the ParticleSystem.CalculateEffectUISubEmitterData interface for each active ParticleSystem component.

[0104] A2. Obtain the number of times the rendering engine calls the graphics library interface during the rendering process;

[0105] During the rendering process of a frame of image data, the rendering engine can call the graphics library interface multiple times to draw. Therefore, the number of times the rendering engine calls the graphics library interface can be understood as the number of times the graphics library interface draws. Each time the rendering engine calls the graphics library interface, it can be called a DrawCall. The above number of calls can be represented by DrawCall.

[0106] Specifically, the number of times the rendering engine calls the graphics library interface during the rendering process can be obtained through the DrawCall acquisition interface. For example, when the rendering engine is a game rendering engine, on the game application development side (game editor), the DrawCall of each frame's screen data can be directly obtained through the existing interface UnityStats.drawCalls; on the game application testing side, a corresponding DrawCall acquisition interface can also be set up to obtain the DrawCall of each frame's screen data.

[0107] A3. Obtain the number of mesh faces rendered by the mesh rendering component during the rendering process. The rendered image information includes multiple mesh faces.

[0108] When displaying each frame of the target animation resource, multiple mesh faces can be used. During the rendering process, the mesh rendering component can render multiple mesh faces to display the corresponding image information. For example, each mesh face can be a triangle, and the image information can be composed of a large number of triangles. After rendering one frame of the target animation resource, the number of mesh faces rendered by the mesh rendering component during the rendering process can be obtained.

[0109] Optionally, when the target animation resource is a special effects resource, the mesh rendering component may include a mesh renderer and a particle renderer. Step A3 above, obtaining the number of mesh faces rendered by the mesh rendering component during the rendering process, may include the following steps:

[0110] A31. Obtain the first number of mesh faces rendered by the mesh renderer and the second number of mesh faces rendered by the particle renderer.

[0111] A32. Determine the number of grid faces based on the first and second quantities.

[0112] Typically, the number of mesh faces in a special effects resource can be divided into two parts: the number of mesh faces rendered by the mesh renderer and the number of mesh faces of multiple particles rendered by the particle renderer. The sum of these two parts of mesh face count gives the final number of mesh faces. For example, the number of mesh faces can specifically be the number of triangle faces.

[0113] A4 uses particle count, call count, and mesh face count as rendering metrics.

[0114] The rendering index information can be obtained through the above steps A1-A4. The following is an example of the process of obtaining the rendering index information of the rendered image.

[0115] In some embodiments, the image indicator information may be indicator information related to pixels in the image information, image display indicators, etc. The process of obtaining the image indicator information of the rendered image information in S203 above may include the following steps:

[0116] B1. Based on the rendered image information, determine the total number of pixels drawn and the total number of times pixels are drawn;

[0117] The rendering engine can provide shading information for each pixel in the image information through the shaders in the rendering camera. Specifically, it can draw the pixels of each frame of the target animation resource through multiple shaders, and the total number of pixels drawn can be the sum of the number of pixels drawn by each of the multiple shaders.

[0118] In practice, by analyzing the rendered image information, the total number of pixels drawn can be obtained. A specific shader can be used to draw the pixels of each frame of image data. The specific shader can use the same color for each pixel drawn, for example, an RGB value of (0.1, 0.04, 0.02). In this way, when the background of the image is completely black, by analyzing the RGB value of each pixel after rendering the image information of each frame of image data, it is possible to determine how many times each pixel was drawn, that is, to obtain the number of times each pixel was drawn. By summing the number of times all pixels were drawn, the total number of pixels drawn can be obtained.

[0119] B2. Based on the total number of pixels drawn and the total number of times pixels are drawn, determine the overdraw information and screen ratio information of the screen information.

[0120] For example, overdraw information can be represented by OverDraw. Overdraw refers to the situation where a pixel is drawn multiple times during a complete rendering of a frame of image data. Theoretically, it is optimal for each pixel to be drawn only once, but due to overlapping layouts or semi-transparent effects, some pixels may be drawn multiple times. Overdraw can be determined by the ratio of the total number of times pixels are drawn to the total number of pixels drawn.

[0121] Screen ratio information refers to the percentage of screen information displayed on the screen interface. It can be determined by the ratio of the total number of pixels drawn to the number of pixels on the screen interface, where the screen interface is used to display the rendered screen information.

[0122] B3. Use overdraw information and screen ratio information as screen indicator information.

[0123] Furthermore, after obtaining the rendering and image metrics, these metrics can be used as performance data for a single frame of image data. Additionally, a GPU evaluation value can be determined based on the rendering and image metrics, and this GPU evaluation value can also be used as performance data for a single frame of image data, representing GPU resource consumption.

[0124] In some possible embodiments, determining the performance data of a frame of image data based on rendering index information and image index information in S203 above may include the following steps:

[0125] C1. Determine the evaluation value of at least one shader based on the number of pixels drawn by each shader.

[0126] For each shader, its evaluation value is determined based on the number of pixels drawn by that shader. The specific method for determining this value can be determined based on the actual application scenario. For example, the evaluation value of each shader can be determined based on the number of pixels drawn and the number of texture samplings. The number of texture samplings can be the number of textures used by the shader, where textures can be understood as the process of coloring and adding materials. The number of pixels drawn is the number of pixels drawn by each shader. For each shader, this can be achieved by placing the rendering object referencing the shader and the scene camera on one layer, and placing other objects on other layers. Then, the rendering object referencing the shader is rendered once, and the number of pixels rendered by the shader can be obtained based on the image information after the shader's rendering.

[0127] C2. Determine the mesh evaluation value based on the number of mesh faces in the rendering metric information.

[0128] In this step, when determining the evaluation value of a grid face based on its quantity, the quantity of grid faces can be evaluated using a pre-defined evaluation method, depending on actual needs. The grid face can be a triangular face, and the evaluation value of the grid face is the same as the evaluation value of the triangular face.

[0129] C3. Determine the GPU evaluation value based on the evaluation values ​​of at least one shader and the mesh face evaluation value.

[0130] When determining the GPU evaluation value based on shader evaluation values ​​and mesh evaluation values, GPU performance can be assessed according to the actual application scenario. The GPU evaluation value can represent GPU resource consumption; a higher value indicates greater GPU resource consumption. For example, the sum of the evaluation values ​​of at least one shader can be calculated to obtain the total shader evaluation value. Then, the total shader evaluation value and the mesh evaluation value can be summed to obtain the GPU evaluation value.

[0131] C4. Use rendering metrics, image metrics, and GPU evaluation values ​​as performance data for a single frame of image data.

[0132] In this embodiment of the application, after rendering each frame of the target animation resource, the rendering index information of various rendering components used in the rendering process can be obtained. After obtaining the rendered image information, the corresponding image index information can be obtained by analyzing the image information. Then, based on the rendering index information and the image index information, the performance data of each frame of image data can be determined, which may include the above-mentioned particle number, DrawCall, number of mesh faces (e.g., number of triangle faces), OverDraw, screen ratio information and GPU evaluation value, etc.

[0133] Furthermore, to facilitate developers or testers in visually viewing the performance data of each frame, the performance data can also be displayed. Therefore, after determining the performance data of a frame in S202, the following steps can be performed:

[0134] D4 retrieves the performance standard data corresponding to the performance data of a single frame of image data.

[0135] As mentioned earlier, the performance data for each frame may include multiple performance metrics, such as particle count, DrawCall, number of mesh faces (e.g., number of triangle faces), OverDraw, screen ratio information, and GPU evaluation value. Each performance metric can correspond to a performance standard metric, and the performance standard metric for each of the multiple performance metrics can be obtained.

[0136] D5 displays performance data and performance standard data for a single frame of video.

[0137] Among these features, the display interface for the rendered image information of a single frame can show multiple performance metrics and their respective performance standard metrics, such as... Figure 4 As shown, the display interface for a frame of video information displays various performance metrics: the current number of particles and its corresponding maximum number of particles, the current DrawCall and its corresponding maximum DrawCall, the current OverDraw and its corresponding maximum OverDraw, the current screen ratio and its corresponding maximum screen ratio, the current GPU evaluation value and its corresponding maximum GPU evaluation value, etc., so that developers or testers can view them.

[0138] The animation effect detection method of this application embodiment will be described exemplarily below using special effects resources in game applications as an example.

[0139] For each special effects resource in a game application, game testers or game developers can collect and analyze the performance data of these special effects resources.

[0140] I. The process of acquiring special effects resources

[0141] For standalone special effects resources, the set of special effects resources to be tested can be obtained on the game application development side (on the game editor), or the set of special effects resources to be tested can be packaged on the game application testing side.

[0142] In a game editor, various special effects resources are usually stored after development. For example, the various special effects resources are placed in a folder. When obtaining the special effects resources to be tested, the various special effects resources can be obtained by traversing all files in the folder.

[0143] In game application testing, individual effects resources can be packaged into an effects resource bundle according to preset packaging rules. For example, in the Unity engine, individual effects resources can be packaged into an AssetBundle. An AssetBundle is a collection of effects resources packaged using a compression format provided by Unity for storing resources. It can store any resource that Unity can recognize, such as models, textures, audio, and scenes. When obtaining the effects resources to be tested, the effects resource bundle can be opened and the effects resources loaded one by one.

[0144] Additionally, in game scenarios within a game application, there may be situations where multiple game effects play simultaneously. For example, a single weapon can have multiple game effects, such as corresponding effects on the muzzle and body of a pistol. Therefore, it is necessary to acquire the effect resources of these game effects simultaneously. For instance, acquire the multiple effect resources contained in a weapon, as well as the mounting point (which can be understood as the position) of each effect resource on the weapon. When loading and playing these game effects, place each effect resource at the position coordinates corresponding to its mounting point to simulate the playback of the weapon's effects.

[0145] II. Performance Data Acquisition Process for Each Special Effects Resource

[0146] The performance data for each frame of a special effects resource can include: particle count, DrawCall, OverDraw, screen ratio, number of triangle faces (the number of mesh faces in the above embodiment), and GPU evaluation value, etc. This performance data can be collected in the following ways:

[0147] 1. Particle Count: For some game rendering engines, such as Unity 2017 and above, the real-time particle count can be obtained by reflecting on each active ParticleSystem component (particle system reading component) and calling the ParticleSystem.CalculateEffectUISubEmitterData interface; for other game rendering engines, such as Unity versions below 2017, a particle reading interface that synchronously obtains the particle count of the current scene can be added.

[0148] 2. DrawCall: In the game editor, you can directly obtain the DrawCall for each frame's effects through the existing interface UnityStats.drawCalls; in the game test client, you can add an interface to obtain the DrawCall for each frame's effects.

[0149] 3. Triangle Face Count: The triangle face count of an effect resource can consist of two parts: one is the mesh face count (triangle face count) referenced by the meshRenderer; the other is the mesh face count (triangle face count) of a single particle rendered by the particleSystemRenderer. This triangle face count needs to be multiplied by the current number of particles to get the actual triangle face count.

[0150] The number of triangle faces = the number of mesh faces referenced by meshRender + the number of mesh faces referenced by particleSystem * the number of particles.

[0151] 4. OverDraw: For OverDraw calculation, the shader in the rendering camera can be replaced with a specific shader to draw the pixels of each frame's effect. The specific shader can use the same color for each pixel drawn, for example, RGB values ​​of (0.1, 0.04, 0.02). In this way, with the background of the screen completely black, the total number of pixels drawn can be determined for the image information after each frame's effect rendering. Then, by analyzing the RGB value of each pixel after rendering, it can be determined how many times each pixel was drawn, that is, to obtain the number of times each pixel was drawn. By summing the number of times all pixels were drawn, the total number of times pixels were drawn can be obtained.

[0152] OverDraw = Total number of pixel draws / Total number of pixel draws.

[0153] 5. Screen ratio: The total number of pixels drawn can be obtained from 4. Divide it by the number of pixels of the display interface to get the screen ratio of each frame of special effects.

[0154] 6. GPU Evaluation Value: A higher value indicates higher performance consumption of special effects resources. For multiple shaders, the ShaderScore can be calculated for each shader.

[0155] ShaderScore = Number of pixels drawn * MagicNumber * (Number of texture sampling times * SampleFactor + shader complexity coefficient);

[0156] The sum of the evaluation values ​​of multiple shaders: PixelScore = ∑ShaderScore;

[0157] After obtaining the number of triangle faces, the triangle face count evaluation value, TriangleScore, can be calculated:

[0158] TriangleScore = (int)(number of triangle faces / TriangleUnitCount) * TriangleUnitScore

[0159] Optionally, the GPU evaluation values ​​can be determined using PixelScore and TriangleScore:

[0160] GPUScore=PixelScore+TriangleScore

[0161] Among them, MagicNumber, SampleFactor, TriangleUnitCount, and TriangleUnitScore are all constants and can be set according to the actual application scenario; the Shader complexity coefficient can also be a constant, which can be determined according to the shader used, for example, it can be 1. The Shader complexity coefficient is to improve the GPU evaluation value of calling complex shader resources (for example, if a certain shader is particularly time-consuming, its complexity coefficient can be set to a high constant); the number of pixels drawn is the number of pixels drawn by each shader. For each shader, you can put the rendering object referencing the shader and the scene camera in one layer, and other objects in other layers, and then render the rendering object referencing the shader once. Based on the image information after the shader is rendered, you can get the number of pixels rendered by the shader, that is, the number of pixels drawn.

[0162] In some possible implementations, within the Unity engine, the inspection of a single effects resource can be achieved using the script `EffectProfilerComponent`, which is bound to the scene camera of the game rendering engine. This script acquires corresponding performance data for each frame of the effects resource and analyzes the performance data using the internal rendering performance analysis tool `RenderProfiler` and the asynchronous analysis tool `Async Analysis`. The analysis process for each frame's performance data is as follows: Figure 5 As shown.

[0163] exist Figure 5 In the EffectProfilerComponent script, before inspecting the special effects resources, it first initializes by acquiring all rendering components and special effects resources to be inspected, such as various renderers and shaders, and creates the performance analysis tool RenderProfiler. The game scene camera is placed in the Analysis layer, so that only objects in the Analysis layer will be rendered.

[0164] For each frame of the special effects resource to be tested, when running each frame of special effects, RenderProfiler can call the Update function to obtain performance data such as OverDraw, screen ratio information, and shader evaluation value; then, through the corresponding acquisition interface, it can obtain performance data such as DrawCall, particle count, and triangle face count; furthermore, based on shader evaluation value and triangle face count, GPU evaluation value can also be calculated.

[0165] The following describes the process of RenderProfiler calling the Update function to obtain performance data such as OverDraw, screen ratio information, and shader evaluation values.

[0166] The Update function called by RenderProfiler can create asynchronous rendering analysis threads for each frame's effects. When collecting performance data for a single frame's effects, the following process is executed:

[0167] S1. Determine if an asynchronous rendering analysis thread exists. If not, continue with S2; otherwise, execute S5.

[0168] S2. Place all objects in a frame of special effects into the Analysis layer.

[0169] S3. Force all objects in the special effects of this frame to be rendered once, and store the rendered information into a texture tex.

[0170] S4. Create an asynchronous rendering analysis thread and analyze the texture tex using an asynchronous analysis tool.

[0171] In this step, such as Figure 5 As shown, the asynchronous analysis tool Async Analysis can read all pixels in a texture tex and then create a sub-thread to analyze and render the pixels, including the total number of pixel draws and the total number of pixel draws.

[0172] S5. Determine if the asynchronous rendering analysis thread has completed its work. If so, execute S6.

[0173] S6 displays information such as OverDraw and screen ratio.

[0174] In this step, information such as OverDraw and screen ratio can be calculated using the total number of pixel draws and the total number of pixel draws obtained in S4. Specifically, OverDraw can be determined by the ratio of the total number of pixel draws to the total number of pixel draws; screen ratio can be determined by the ratio of the total number of pixel draws to the number of pixels on the display interface.

[0175] S7. Iterate through all shaders.

[0176] When rendering a frame of special effects, multiple shaders can be used. In order to analyze the evaluation value of each shader, an asynchronous shader analysis thread can be created for each shader, and the evaluation value of each shader can be analyzed by asynchronous analysis tools.

[0177] S8. Determine if the current shader has an asynchronous shader analysis thread. If not, continue to S9; otherwise, execute S12.

[0178] S9. Place the object using the current shader in the frame's effects into the Analysis layer, and place other objects into an empty layer.

[0179] S10. Force the corresponding object to be rendered once using the current shader, and store the rendered information into a texture tex.

[0180] S11. Create an asynchronous shader analysis thread and analyze the texture tex using an asynchronous analysis tool.

[0181] In this step, such as Figure 5 As shown, the asynchronous analysis tool Async Analysis can read all pixels in a texture tex and then create a sub-thread to analyze and render the pixels, including the number of pixels drawn by the current shader.

[0182] S12. Determine if the asynchronous shader analysis thread has completed its work. If so, execute S13.

[0183] S13, Calculate the shader evaluation value.

[0184] In this step, the shader evaluation value can be calculated based on the number of pixels drawn by the current shader.

[0185] Through the above steps, data such as OverDraw, screen ratio, and shader evaluation value for a single frame of effect can be obtained. Furthermore, the EffectProfilerComponent script can obtain performance data such as DrawCall, particle count, and triangle facet count through the corresponding interface. After obtaining the above performance data, the GPU evaluation value can be calculated based on the shader evaluation value and triangle facet count. Ultimately, the performance data for a single frame of effect is obtained: OverDraw, screen ratio, DrawCall, particle count, triangle facet count, and GPU evaluation value.

[0186] Figure 6 This illustrates a process for collecting performance data from special effects resources. For example... Figure 6 As shown in Table 1, for the special effects resource: the game rifle AK117-Roaring Fire Dragon, after running this special effects resource, the performance data of the special effects for each frame were collected, including the number of particles, DrawCall, number of triangle faces, OverDraw, screen ratio and GPU evaluation value.

[0187] Furthermore, after optimizing the special effects resources with performance issues, if you want to check whether the optimized special effects resources meet expectations, you can directly place the optimized special effects resources in the test scene of the game editor, set the positions of the scene camera and output effects, and then run the scene. The current performance data can be displayed in real time in the editor window so as to check whether the performance data meets expectations.

[0188] Table 1

[0189]

[0190] It should be noted that, on the game development end (game editor), the animation effect detection method of this application embodiment can be run as a plugin. During the running of the plugin, all special effects resources can be loaded and played one by one in the test scene, and performance data can be collected frame by frame to finally obtain the performance data of each resource.

[0191] On the game testing platform, the animation effect detection method of this application embodiment can be run in the form of an installation package. The creation process of the installation package includes the following two parts: First, the special effects resources to be checked and their referenced resources are copied into an empty project file; second, according to the established resource classification rules, they are packaged into AssetBundles for use by the game testing platform and then packaged into an installation package; after that, after installing the installation package on the game testing platform, the installation package can be run to detect each special effects resource. After running on the mobile device, all special effects in the package will be loaded and played one by one, and performance data will be collected.

[0192] Specifically, all resources dependent on the special effects resources that need to be checked can be obtained through the game rendering engine's specific referencing rules (such as Unity's GUID referencing rules). Alternatively, some system interfaces can be called within the game editor to obtain them. Copying the special effects resources to be checked and their referenced resources to an empty project file is primarily for two reasons: First, game application project files are very large, and packaging them directly within the project file is time-consuming and requires filtering a large number of project scripts and complex settings. These issues are avoided in a pre-configured empty project file. Second, packaging and checking the special effects resources in the game test client requires writing some code, which can pollute the game application's installation package code. This problem is avoided in a pre-configured empty project file.

[0193] Based on the same inventive concept as the above-described method embodiments, this application also provides an animation effect detection device. The principle of this device in solving the problem is similar to that of the above-described method. Therefore, the implementation of this device can refer to the implementation of the above-described method, and repeated details will not be described again.

[0194] See Figure 7 As shown in the figure, this application embodiment provides an animation effect detection device 70, including a resource acquisition module 71, a performance acquisition module 72, and a performance detection module 73.

[0195] Resource acquisition module 71 is used to acquire the target animation resources to be detected in the target application;

[0196] The performance acquisition module 72 is used to render multiple frames of screen data in the target animation resource respectively. For each frame of screen data rendered, the module acquires rendering index information and screen index information of the rendered screen information, and determines the performance data of a frame of screen data based on the rendering index information and the screen index information.

[0197] The performance detection module 73 is used to determine the performance detection result of the target animation resource based on the performance data of each of the multiple frames of image data.

[0198] In this embodiment, by acquiring various indicator information after the target animation resource is rendered, the real performance data of the resource during runtime can be collected. The performance data obtained is more convincing than static resource checks, and there will be no false alarms or omissions. The performance of the target animation resource can be accurately detected so as to optimize the performance of the target animation resource, which is beneficial to improving the animation effect output by the application.

[0199] In one possible embodiment, when acquiring rendering metric information, the performance acquisition module 72 is further configured to:

[0200] The number of particles emitted by the particle emission component during the rendering process is obtained; wherein, the rendered image information includes multiple particles;

[0201] Get the number of times the rendering engine calls the graphics library interface during the rendering process;

[0202] Obtain the number of mesh faces rendered by the mesh rendering component during the rendering process; wherein, the rendered image information includes multiple mesh faces;

[0203] The number of particles, the number of times the call is performed, and the number of mesh faces are used as rendering metrics.

[0204] In one possible embodiment, the mesh rendering component includes a mesh renderer and a particle renderer. When obtaining the number of mesh faces rendered by the mesh rendering component during the rendering process, the performance acquisition module 72 is further configured to:

[0205] Get the first number of mesh faces rendered by the mesh renderer, and the second number of mesh faces rendered by the particle renderer;

[0206] The number of grid faces is determined based on the first and second quantities.

[0207] In one possible embodiment, when acquiring the image index information of the rendered image information, the performance acquisition module 72 is further configured to:

[0208] Based on the rendered image information, determine the total number of pixels drawn and the total number of times pixels are drawn;

[0209] Based on the total number of pixels drawn and the total number of times pixels are drawn, determine the overdraw information and screen ratio information of the image information;

[0210] Overdraw information and screen ratio information are used as visual metrics.

[0211] In one possible embodiment, the total number of pixels drawn is the sum of the number of pixels drawn by each of at least one shader;

[0212] When determining the performance data of a frame of image data based on rendering metric information and image metric information, the performance acquisition module 72 is also used for:

[0213] Determine the evaluation value of at least one shader based on the number of pixels drawn by each shader.

[0214] The mesh evaluation value is determined based on the number of mesh faces in the rendering metric information;

[0215] The GPU evaluation value is determined based on the evaluation values ​​of at least one shader and the mesh face evaluation value.

[0216] The rendering metrics, image metrics, and GPU evaluation values ​​are used as performance data for a single frame of image data.

[0217] In one possible embodiment, such as Figure 8 As shown, the device also includes a display module 74, used for:

[0218] Acquire the performance standard data corresponding to the performance data of a single frame of image data;

[0219] Displays performance data and performance standard data for a single frame of video.

[0220] In one possible embodiment, the performance detection module 73 is further configured to:

[0221] The performance data of each of the multiple frames is compared with the corresponding performance standard data.

[0222] The obtained comparison results are used as the performance test results.

[0223] For ease of description, the above sections are divided into modules (or units) according to their functions and described separately. Of course, in implementing this application, the functions of each module (or unit) can be implemented in one or more software or hardware components.

[0224] Having introduced the animation effect detection method and apparatus according to exemplary embodiments of this application, the animation effect detection apparatus according to another exemplary embodiment of this application will now be described.

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

[0226] In some possible implementations, the animation effect detection apparatus according to this application may include at least a processor and a memory. The memory stores program code that, when executed by the processor, causes the processor to perform the steps in the animation effect detection methods according to various exemplary embodiments of this application described herein. For example, the processor may perform actions such as... Figure 2 The steps are shown in the figure.

[0227] Having introduced the animation effect detection method and apparatus according to exemplary embodiments of this application, we will now introduce an electronic device according to another exemplary embodiment of this application.

[0228] Based on the same inventive concept as the above-described method embodiments, this application also provides an electronic device. The principle of this electronic device in solving the problem is similar to that of the above-described method. Therefore, the implementation of this electronic device can refer to the implementation of the above-described method, and repeated details will not be described again.

[0229] See Figure 9 As shown, the electronic device 90 may include at least a processor 91 and a memory 92. The memory 92 stores program code, which, when executed by the processor 91, causes the processor 91 to perform the steps in any of the aforementioned animation effect detection methods.

[0230] In some possible implementations, the electronic device according to this application may include at least one processor and at least one memory. The memory stores program code that, when executed by the processor, causes the processor to perform the steps in the animation effect detection method according to the various exemplary embodiments of this application described above. For example, the processor may execute... Figure 2 The steps are shown in the figure.

[0231] In an exemplary embodiment, this application also provides a storage medium including program code, such as a memory 92 including program code, which can be executed by a processor 91 of an electronic device 90 to complete the above-described animation effect detection method. Optionally, the storage medium can be a non-transitory computer-readable storage medium, such as a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device.

[0232] The following reference Figure 10 This application describes an electronic device 100 according to one embodiment of the present application. Figure 10 The electronic device 100 is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.

[0233] like Figure 10The electronic device 100 is manifested in the form of a general electronic device. The components of the electronic device 100 may include, but are not limited to: at least one processing unit 101, at least one storage unit 102, and a bus 103 connecting different system components (including storage unit 102 and processing unit 101).

[0234] Bus 103 represents one or more of several bus structures, including a memory bus or memory controller, peripheral bus, processor, or local bus using any of the multiple bus structures.

[0235] Storage unit 102 may include a readable medium in the form of volatile memory, such as random access memory (RAM) 1021 and / or cache storage unit 1022, and may further include read-only memory (ROM) 1023.

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

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

[0238] In some possible implementations, various aspects of the animation effect detection method provided in this application can also be implemented as a program product, which includes program code. When the program product is run on an electronic device, the program code is used to cause the electronic device to perform the steps in the animation effect detection method according to the various exemplary embodiments of this application described above. For example, the electronic device can perform actions such as... Figure 2 The steps are shown.

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

[0240] The program product of the embodiments of this application may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may run on a computing device. However, the program product of this application is not limited thereto. In this document, the readable storage medium may be any tangible medium that contains or stores a program that may be used by or in conjunction with a command execution system, apparatus, or device.

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

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

[0243] It should be noted that although several units or sub-units of the device have been mentioned in the detailed description above, this division is merely exemplary and not mandatory. In fact, according to embodiments of this application, the features and functions of two or more units described above can be embodied in one unit. Conversely, the features and functions of one unit described above can be further divided and embodied by multiple units.

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

[0245] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0246] Although preferred embodiments of this application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this application.

[0247] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. A method for detecting animation effects, characterized in that, include: Obtain the game effect resources to be tested from the target game application, and for each game effect resource, The game effects resources are rendered, with each frame of screen data rendered performing the following operations: The rendering metrics information of various rendering components is obtained, and the rendering metrics information of the rendered image information is obtained through the asynchronous rendering analysis thread corresponding to the image data. For each shader, the corresponding asynchronous shader analysis thread is used to determine the evaluation value of the shader based on the number of pixels drawn, the number of texture samplings, and the complexity coefficient. Based on the number of mesh faces rendered by the mesh rendering component during the rendering process, a mesh face evaluation value is determined. Based on the evaluation values ​​of at least one shader and the mesh face evaluation value, a graphics processor (GPU) evaluation value is determined. The rendering metric information, the image metric information, and the GPU evaluation value are used as the performance data of the frame image data. For each game effect resource, the performance data of each of the multiple frames of the game effect resource is compared with the corresponding performance standard data. Based on the comparison results of each frame of the frame data, the performance indicators that meet the corresponding performance standards and those that do not are determined. Optimization is then performed on the performance indicators that do not meet the corresponding performance standards. The performance standard data includes the performance standards corresponding to the rendering indicator information, the frame indicator information, and the GPU evaluation value. By comparing the performance data of various game effects resources, we can identify game effects resources with high performance consumption and optimize them.

2. The method according to claim 1, characterized in that, The acquisition of rendering metric information for various rendering components includes: The number of particles emitted by the particle emission component during the rendering process is obtained; wherein, the rendered image information includes multiple particles; Get the number of times the rendering engine calls the graphics library interface during the rendering process; Obtain the number of mesh faces rendered by the mesh rendering component during the rendering process; wherein, the rendered image information includes multiple mesh faces; The number of particles, the number of calls, and the number of mesh faces are used as the rendering metric information.

3. The method according to claim 2, characterized in that, The mesh rendering component includes a mesh renderer and a particle renderer. Obtaining the number of mesh faces rendered by the mesh rendering component during the rendering process includes: Obtain a first number of mesh faces rendered by the mesh renderer, and a second number of mesh faces rendered by the particle renderer; The number of grid faces is determined based on the first quantity and the second quantity.

4. The method according to claim 2, characterized in that, The image index information obtained after rendering the image data includes: Based on the rendered image information, determine the total number of pixels drawn and the total number of times pixels are drawn; Based on the total number of pixels drawn and the total number of times pixels were drawn, the overdraw information and screen ratio information of the image information were determined; The overdraw information and screen ratio information are used as the screen indicator information.

5. The method according to any one of claims 1 to 4, characterized in that, After obtaining the performance data of the aforementioned frame of image data, the following is also included: Obtain the performance standard data corresponding to the performance data of the frame of image data; The display shows the performance data of the frame and the performance standard data.

6. An animation effect detection device, characterized in that, include: The resource acquisition module is used to acquire the game effects resources to be tested in the target game application; The performance acquisition module is used to render multiple frames of screen data from the game effect resources for each game feature resource. Specifically, for each frame of screen data rendered, the following operations are performed: The rendering metrics information of various rendering components is obtained, and the rendering metrics information of the rendered image information is obtained through the asynchronous rendering analysis thread corresponding to the image data. For each shader, the corresponding asynchronous shader analysis thread is used to determine the evaluation value of the shader based on the number of pixels drawn, the number of texture samplings, and the complexity coefficient. Based on the number of mesh faces rendered by the mesh rendering component during the rendering process, a mesh face evaluation value is determined. Based on the evaluation values ​​of at least one shader and the mesh face evaluation value, a graphics processor (GPU) evaluation value is determined. The rendering metric information, the image metric information, and the GPU evaluation value are used as the performance data of the frame image data. The performance detection module is used to compare the performance data of each multi-frame image data of each game feature resource with the corresponding performance standard data. Based on the comparison results of each frame image data, it determines the performance indicators that meet the corresponding performance standards and the performance indicators that do not meet the corresponding performance standards in each frame image data, and optimizes the performance indicators that do not meet the corresponding performance standards. The performance standard data includes the performance standards corresponding to the rendering indicator information, the image indicator information, and the GPU evaluation value, and each performance indicator is one item in the performance data. The module also compares the performance data of each game effect resource to identify the game effect resources with high performance consumption and optimizes the game effect resources with high performance consumption.

7. An electronic device, characterized in that, It includes a processor and a memory, wherein the memory stores program code that, when executed by the processor, causes the processor to perform the steps of any of the methods described in claims 1 to 5.

8. A computer-readable storage medium, characterized in that, It includes program code that, when run on an electronic device, causes the electronic device to perform the steps of any of the methods described in claims 1 to 5.

9. A computer program product, characterized in that, It includes computer instructions stored in a computer-readable storage medium; when a processor of an electronic device reads the computer instructions from the computer-readable storage medium, the processor executes the computer instructions, causing the electronic device to perform the steps of any of the methods described in claims 1 to 5.

Citation Information

Patent Citations

  • Special effect data detection method, device and equipment and storage medium

    CN110838166A

  • Special effect animation test method and related device

    CN113012267A

  • Screen filling rate statistical method and system based on shader

    CN113393555A