Application running method and device, electronic equipment and computer readable storage medium
Patent Information
- Application Number
- CN202510565491.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-29
- Publication Date
- 2026-10-30
AI Technical Summary
目前主流的游戏引擎开发的小游戏面向的是一种通用的Web平台,由于Web技术的跨平台性,这样开发的小游戏可同时在个人电脑平台(PC平台)和移动平台(如手机、平板等)上运行,但是目前的游戏引擎没有针对不同平台硬件特点进行性能优化
[0028]本申请实施例通过获取运行目标应用程序的通用配置数据,通用配置数据为目标应用程序在多种类型的设备上运行所需的配置数据;然后,基于目标设备的设备属性信息,从通用配置数据中确定针对目标设备的可修改配置数据,可修改配置数据包括着色器配置数据和渲染流程配置数据中的至少一个;再对通用配置数据中的可修改配置数据进行更新,得到目标配置数据;最后,基于目标配置数据,在目标设备上运行目标应用程序。由于该方案可以根据目标设备的设备属性信息,从目标应用程序的通用配置数据中确定可修改配置数据,并对可修改配置数据进行更新,使得可修改配置数据中的着色器配置数据和渲染流程配置数据得到优化,优化后得到的目标配置数据更加适配于目标设备,当后续根据目标配置数据在目标设备上运行该目标应用程序时,可以降低目标应用程序对CPU的驱动开销、减少GPU带宽开销,从而提高目标应用程序在目标设备上的运行效率和运行流畅度、降低运行功耗(运行功耗降低可以降低目标设备的发热现象),提高目标应用程序在目标设备上运行的性能表现。
Smart Images

Figure CN123011341A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data processing technology, and more specifically to an application running method, apparatus, electronic device, and computer-readable storage medium. Background Technology
[0002] Mini-games are a category of WeChat Mini Programs; they are playable instantly without downloading or installation. Mini-games primarily use mainstream game engines such as Unity (a real-time 3D interactive content creation and operation platform) and run on network environments such as WebGL (Web Graphics Library) and WebAssembly (a virtual instruction set architecture, or Wasm). Currently, mini-games developed using mainstream game engines are geared towards a general-purpose Web platform. Due to the cross-platform nature of Web technologies, mini-games developed in this way can run simultaneously on personal computer platforms (PC platforms) and mobile platforms (such as phones and tablets). However, current game engines do not offer performance optimizations for the hardware characteristics of different platforms.
[0003] Due to the limitations of mobile device hardware performance, web-based mini-games often face problems such as slow loading, insufficient performance, and high power consumption on mobile platforms. Therefore, performance optimization for different device platforms is of great importance. Summary of the Invention
[0004] This application provides an application running method, apparatus, electronic device, and computer-readable storage medium, which can optimize the performance of a target application to adapt it to different device platforms.
[0005] This application provides a method for running an application, including:
[0006] Obtain general configuration data for running the target application, wherein the general configuration data is the configuration data required for the target application to run on various types of devices;
[0007] Based on the device attribute information of the target device, modifyable configuration data for the target device is determined from the general configuration data. The modifyable configuration data includes at least one of shader configuration data and rendering process configuration data.
[0008] The modifiable configuration data in the general configuration data is updated to obtain the target configuration data;
[0009] Based on the target configuration data, the target application is run on the target device.
[0010] Accordingly, embodiments of this application provide an application running device, including:
[0011] The acquisition unit is used to acquire general configuration data for running the target application, wherein the general configuration data is the configuration data required for the target application to run on various types of devices;
[0012] A determining unit is configured to determine, based on the device attribute information of the target device, modifiable configuration data for the target device from the general configuration data, wherein the modifiable configuration data includes at least one of shader configuration data and rendering process configuration data;
[0013] An update unit is used to update the modifiable configuration data in the general configuration data to obtain the target configuration data;
[0014] The execution unit is used to run the target application on the target device based on the target configuration data.
[0015] In some embodiments, the determining unit may be specifically used to obtain configuration modification baseline information, which indicates the device performance parameters when a preset basic operating performance is met; compare the device attribute information with the configuration modification baseline information to obtain an information comparison result; when the information comparison result indicates that the device performance parameters of the device attribute information are lower than the device performance parameters corresponding to the configuration modification baseline information, determine the modifiable configuration data from the general configuration data.
[0016] In some embodiments, the updating unit may be specifically used to determine the current floating-point precision from the floating-point precision configuration data; adjust the current floating-point precision to a target floating-point precision to obtain the target configuration data, wherein the current floating-point precision is higher than the target floating-point precision.
[0017] In some embodiments, the updating unit may be specifically used to determine the current coloring function from the coloring function configuration data; and adjust the current coloring function based on the target computing resources of the target device to obtain target configuration data.
[0018] In some embodiments, the updating unit may be specifically used to determine a shading function mapping set, the shading function mapping set including multiple computing resource levels and mapping relationships between different shading functions; according to the target computing resource level corresponding to the target computing resource, to filter out the target shading function corresponding to the target device from the shading function mapping set, the target shading function being the shading function corresponding to the second color space; and to adjust the current shading function to the target shading function to obtain the target configuration data.
[0019] In some embodiments, the update unit may be specifically used to determine the current loading configuration parameters corresponding to the data loading operation and the current storage configuration parameters corresponding to the data storage operation from the read / write configuration data; update the current loading configuration parameters and the current storage configuration parameters to obtain the target configuration data.
[0020] In some embodiments, the update unit may be specifically used to adjust the current loading configuration parameter to a target loading configuration parameter, wherein the target loading configuration parameter indicates that loading historical data from the video memory into the real-time rendering task should be cancelled; adjust the current storage configuration parameter to a target storage configuration parameter, wherein the target storage configuration parameter indicates that storing the task data corresponding to the real-time rendering task into the video memory should be cancelled; and determine the target configuration data based on the target loading configuration parameter and the target storage configuration parameter.
[0021] In some embodiments, the updating unit may be specifically used to determine a target image application programming interface that meets a preset redundancy condition from the preset image application programming interfaces; delete the target interface configuration data corresponding to the target image application programming interface from the interface configuration data to obtain the target configuration data.
[0022] In some embodiments, the updating unit may be specifically used to determine the number of rendering threads of the target device for the target application; and based on the number of rendering threads, to determine a target image application programming interface that meets the preset redundancy conditions from the preset image application programming interfaces.
[0023] In some embodiments, the updating unit may be specifically used to obtain a set of redundant interfaces for a single thread, the set of redundant interfaces including redundant programming interfaces corresponding to single-threaded rendering conditions; compare the preset image application programming interface with the redundant programming interfaces to obtain an interface comparison result; and determine the target image application programming interface from the preset image application programming interfaces based on the interface comparison result.
[0024] In some embodiments, the updating unit may be specifically used to obtain a configuration adjustment mapping set for a target application, the configuration adjustment set including a preset device and reference adjustment configuration data corresponding to the target application running on the preset device; determine the target reference adjustment configuration data corresponding to the target device from the configuration adjustment mapping set; update the modifiable configuration data in the general configuration data to the target reference adjustment configuration data to obtain the target configuration data.
[0025] Furthermore, this application also provides an electronic device, including a processor and a memory, wherein the memory stores an application program, and the processor is used to run the application program in the memory to execute the application running method provided in this application.
[0026] Furthermore, embodiments of this application also provide a computer program product, including a computer program or instructions, which, when executed by a processor, implement the steps in the application running method provided in embodiments of this application.
[0027] Furthermore, embodiments of this application also provide a computer-readable storage medium storing a plurality of instructions adapted for loading by a processor to execute steps in any of the application running methods provided in embodiments of this application.
[0028] This application embodiment obtains general configuration data for running the target application. This general configuration data includes the configuration data required for the target application to run on various types of devices. Then, based on the device attribute information of the target device, it determines modifiable configuration data for the target device from the general configuration data. The modifiable configuration data includes at least one of shader configuration data and rendering process configuration data. The modifiable configuration data in the general configuration data is then updated to obtain target configuration data. Finally, based on the target configuration data, the target application is run on the target device. Because this scheme can determine and update modifiable configuration data from the general configuration data of the target application according to the device attribute information of the target device, the shader configuration data and rendering process configuration data in the modifiable configuration data are optimized. The optimized target configuration data is more suitable for the target device. When the target application is subsequently run on the target device based on the target configuration data, the CPU driver overhead and GPU bandwidth overhead of the target application can be reduced, thereby improving the running efficiency and smoothness of the target application on the target device, reducing power consumption (reduced power consumption can reduce the heat generation of the target device), and improving the performance of the target application on the target device. Attached Figure Description
[0029] 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 the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0030] Figure 1 This is a schematic diagram illustrating an application scenario of the application running method provided in this embodiment;
[0031] Figure 2 This is a flowchart illustrating an application running method provided in an embodiment of this application;
[0032] Figure 3 This is a schematic diagram of the rendering pipeline in a real-time rendering architecture.
[0033] Figure 4 This is a schematic diagram of the rendering pipeline in a block-based rendering architecture;
[0034] Figure 5 This is a schematic diagram provided in an embodiment of the present application for determining whether modifiable configuration data is determined from general configuration data;
[0035] Figure 6 This is a schematic diagram of a configuration data update provided in an embodiment of this application;
[0036] Figure 7 This is another schematic diagram of configuration data update provided in an embodiment of this application;
[0037] Figure 8 This is a schematic diagram illustrating an update of configuration data based on a target reference, provided in an embodiment of this application.
[0038] Figure 9 This is another flowchart illustrating the application running method provided in this application embodiment;
[0039] Figure 10 This is a schematic diagram of the structure of the application running device provided in the embodiments of this application;
[0040] Figure 11 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation
[0041] The technical solutions described below, with reference to the accompanying drawings, will be clearly and completely described. Obviously, the described embodiments are merely some, not all, of the embodiments of the present invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without inventive effort are within the scope of protection of the present invention.
[0042] The following explanations of some terms used in the embodiments of this application are provided to facilitate understanding by those skilled in the art.
[0043] Unity is a cross-platform game engine and real-time content development platform that supports exporting mini-games and is widely used in fields such as virtual reality (VR), augmented reality (AR), architectural visualization, film and animation, and industrial simulation.
[0044] WebGL (Web Graphics Library, also known as Web Graphics Library) aims to help developers create interactive two-dimensional (2D) and three-dimensional (3D) web page effects in any compatible web browser without using plugins. It can be understood as a drawing technology that helps developers create 3D web pages. Its underlying application programming interface (API) is JavaScript (a programming language).
[0045] WebAssembly (Wasm for short) is a virtual instruction set architecture that includes the core instruction set architecture (ISA) definition, binary encoding, program semantics definition and execution, and application programming interfaces for different embedded environments. Wasm aims to improve the performance and capabilities of websites, enabling computationally intensive tasks to run efficiently in a browser.
[0046] GLES (OpenGL for Embedded Systems) is a cross-platform, lightweight graphics rendering API designed for mobile devices and embedded systems such as smartphones, tablets, game consoles, and car dashboards. GLES is a simplified version of OpenGL (Open Graphics Library), focusing on achieving high-performance graphics rendering on resource-constrained hardware.
[0047] RenderTarget (RT): A render target is a buffer used to store rendering results in the graphics rendering process. It can be the final image displayed on the screen or temporary storage for intermediate processes (such as textures, depth information, etc.). It acts as a "canvas" for the output data of the graphics pipeline and is widely used in game development, real-time rendering, and post-processing effects.
[0048] HLSL (High-Level Shading Language) is a high-level shading language used to write shader programs (such as vertex shaders, pixel shaders, geometry shaders, etc.) that run on the GPU to achieve complex graphics effects (such as lighting, materials, and post-processing). It is a core tool widely used in game development, 3D rendering, and real-time graphics applications.
[0049] This application provides an application running method, apparatus, electronic device, and computer-readable storage medium. The application running apparatus can be integrated into an electronic device, which may be a server or a user terminal, etc.
[0050] The server can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud-preset databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery network (CDN) acceleration services, and big data and artificial intelligence platforms. The terminal can be a smartphone, tablet, laptop, desktop computer, smart speaker, smartwatch, etc., but is not limited to these. The terminal and server can be directly or indirectly connected via wired or wireless communication, which is not limited herein.
[0051] Figure 1 The illustration shows an application scenario diagram of the application running method provided in the embodiments of this application. For example... Figure 1 As shown, taking an application running device integrated into an electronic device, with the electronic device acting as a server, as an example, the server can obtain general configuration data for running the target application. This general configuration data includes the configuration data required for the target application to run on various types of devices. Based on the device attribute information of the target device, it determines the modifiable configuration data for the target device from the general configuration data. The modifiable configuration data includes at least one of shader configuration data and rendering process configuration data. It updates the modifiable configuration data in the general configuration data to obtain the target configuration data. Based on the target configuration data, it runs the target application on the target device.
[0052] It is understood that, in the specific implementation of this application, the general configuration data and other related data of Chen Xu of Mubao application are involved. When the following embodiments of this application are applied to specific products or technologies, permission or consent is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0053] The following sections provide detailed descriptions of each example. It should be noted that the order in which the embodiments are described is not intended to limit the preferred order of the embodiments.
[0054] This embodiment will be described from the perspective of the application running device, which can be integrated into an electronic device, such as a server or a terminal; wherein the terminal can include tablet computers, laptops, personal computers (PCs), wearable devices, virtual reality devices or other smart devices that can generate image files.
[0055] An application running method includes: obtaining general configuration data for running a target application, the general configuration data being configuration data required for the target application to run on various types of devices; determining modifiable configuration data for the target device from the general configuration data based on device attribute information of the target device, the modifiable configuration data including at least one of shader configuration data and rendering process configuration data; updating the modifiable configuration data in the general configuration data to obtain target configuration data; and running the target application on the target device based on the target configuration data.
[0056] Figure 2 A flowchart illustrating an application running method provided in an embodiment of this application is shown. Figure 2 As shown, the specific flow of the application's operation method is as follows:
[0057] 101. Obtain the general configuration data for running the target application. The general configuration data is the configuration data required for the target application to run on various types of devices.
[0058] The target application can be a general-purpose application with various functions that can run on multiple types of device platforms. Generally, during the development phase, the target application is developed for a general-purpose web platform, with the PC platform as the performance benchmark. Leveraging the cross-platform nature of web technologies, the target application can run on different types of devices. For example, the target application can be a game application, which is cross-platform and can run on multiple devices (such as PC platforms and mobile platforms). Another example is a mini-game within a mini-program, which is also cross-platform and can run on PC platforms, mobile platforms (such as smartphones, tablets, etc.). It should be noted that mini-programs are applications that can be used without downloading and installation. Mini-games can be considered a subclass of mini-programs; that is, a mini-game can be understood as a mini-program with game functionality. Furthermore, a mini-game can also be understood as a lightweight game application running on a specific platform (such as mini-programs provided by various application platforms).
[0059] It is understood that the target application can also be an application with other functions (such as video browsing, image processing, etc.), and this application does not limit this.
[0060] In this context, general configuration data can be understood as the configuration data required to support the target application running on multiple types of devices. These multiple types of devices are those that support the target application running on. For example, if the target application can run on three types of devices (Type A, Type B, and Type C), then the general configuration data can be understood as the configuration data required to support the target application running on Type A, Type B, and Type C devices. Specifically, configuration data A required for the target application to run on Type A devices can be extracted from the general configuration data; configuration data B required for the target application to run on Type B devices can be extracted; and configuration data C required for the target application to run on Type C devices can also be extracted. It should be understood that configuration data A, configuration data B, and configuration data C are merely abstract descriptions for ease of description. Within the general configuration data of the target application, the configuration data required to support the target application running on different types of devices can overlap or intersect; that is, there can be overlapping or intersecting parts among configuration data A, configuration data B, and configuration data C.
[0061] For ease of description, the following will take a mini-game in a mini-program as the target application as an example. The general configuration data for the mini-game may include the configuration data required for the mini-game to run on a PC device, and may also include the configuration data required for the mini-game to run on a mobile device, and so on.
[0062] 102. Based on the device attribute information of the target device, determine the modifiable configuration data for the target device from the general configuration data. The modifiable configuration data includes at least one of shader configuration data and rendering process configuration data.
[0063] The target device can be any of the aforementioned types of devices. For example, if the target application can run on type A, type B, and type C devices, then the target device can be type A, type B, or type C.
[0064] Device attribute information can be understood as parameter information reflecting the performance of the target device (such as hardware performance, software performance, etc.). For example, device attribute information may include information reflecting the hardware performance of the target device, such as clock speed, memory capacity, word length, and storage capacity. Device attribute information may also include information reflecting the software performance of the target device, such as the graphics processing unit (GPU) architecture. Different types of devices may use different hardware and software architectures. For example, taking PC devices and mobile devices as examples, the hardware performance of PC devices is generally superior to that of mobile devices, and the graphics processing unit (GPU) architectures of PC devices and mobile devices are also completely different. The GPU architecture of PC devices is generally an Immediate Mode Rendering (IMR) architecture. Figure 3 A schematic diagram of the rendering pipeline in a real-time rendering architecture is shown. Figure 3 As shown, the IMR architecture processes graphics rendering tasks in an "instantaneous" manner, providing powerful graphics processing capabilities. The workflow of the IMR architecture mainly includes: (1) obtaining the vertex list: The GPU first obtains the vertex list and converts it into triangles on the screen; (2) rasterization: After defining the geometry, the GPU performs rasterization to find the pixels covering each triangle; (3) color calculation: The color of each pixel is calculated by the texture covering the pixel and / or the pixel shader program running on the pixel; (4) depth testing: The processed pixel data needs to be depth tested to ensure the correct layer order; (5) writing to the frame buffer: The processed pixel data is written to the frame buffer.
[0065] Mobile devices typically use a Tile-Based Rendering (TBR) architecture for their GPUs. Figure 4 A schematic diagram of the rendering pipeline for a block-based rendering architecture is shown. Figure 4 As shown, the TBR architecture's workflow mainly consists of two steps: (1) vertex processing and tile list generation; and (2) tile pixel processing. The TBR architecture divides the framebuffer into tiles, each typically 16x16 or 32x32 pixels in size. Each tile is rendered independently. This tiled processing reduces the number of memory accesses per rendering operation, thus lowering bandwidth requirements. During rendering, the TBR architecture uses tile buffers to store and render the data for each tile, instead of operating on the entire framebuffer. This significantly reduces read / write operations and bandwidth requirements, improving rendering efficiency and reducing power consumption.
[0066] When a target application runs on different types of devices, its performance may vary significantly due to differences in hardware and software configurations. To address this, in this embodiment, for different types of target devices, modifiable configuration data specific to that type of target device can be determined from general configuration data based on the device attribute information of that target device. Modifiable configuration data can be understood as: a portion of the configuration data selected from the general configuration data that can be optimized for the target device. Alternatively, it can be understood as: a portion of the configuration data selected from the configuration data corresponding to the target device that can be optimized for performance.
[0067] As mentioned earlier, different types of devices have different hardware and software configurations. For mini-games within a mini-program, the game requires powerful image processing capabilities. Therefore, based on the device's attribute information, the image processing-related configuration data in the mini-game's general configuration data can be specifically optimized. This allows the optimized configuration data to run on the target device, improving the mini-game's performance on that device.
[0068] Accordingly, the modifiable configuration data can be image processing-related configuration data from the general configuration data. In this embodiment, the modifiable configuration data can include at least one of shader configuration data and rendering pipeline configuration data. Shader configuration data can be understood as configuration data for shaders, and rendering pipeline configuration data can be understood as configuration data for the rendering pipeline.
[0069] A shader is a small program that runs on a graphics processing unit (GPU) and controls the behavior of specific stages in the rendering pipeline. The main purpose of shaders is to provide more flexible computing power to the rendering pipeline, allowing developers to customize the appearance, lighting effects, texture mapping, and more of objects.
[0070] The rendering pipeline refers to the complete processing of image data from a 3D model to the final screen image. It includes a series of fixed or programmable stages. It is the "framework" or "pipeline" of image rendering, defining the steps and sequence of data processing.
[0071] In this embodiment of the application, determining the modifiable configuration data for the target device from general configuration data based on the device attribute information of the target device may include: obtaining configuration modification baseline information, wherein the configuration modification baseline information indicates the device performance parameters that meet the preset basic operating performance; comparing the device attribute information with the configuration modification baseline information to obtain an information comparison result; and determining the modifiable configuration data from general configuration data when the information comparison result indicates that the device performance parameters of the device attribute information are lower than the device performance parameters corresponding to the configuration modification baseline information.
[0072] As mentioned earlier, the general configuration data refers to the configuration data required for the target application to run on various types of devices. Since the target application is developed with the PC platform as the performance benchmark and is developed for a general Web platform, leveraging the cross-platform nature of Web technologies, the target application can run on different types of devices. Therefore, when the target application (such as a mini-game) runs on a PC, it runs well due to the superior hardware and software performance of the PC platform. However, when the target application runs on other types of devices (such as mobile devices), if the hardware and software performance of these devices is inferior to that of the PC, the performance of the target application on these devices will be affected to some extent. To address this, modifiable configuration data for these device types can be identified from the general configuration data and adjusted so that the target application performs well on these devices according to the adjusted configuration data. Conversely, if the hardware and software performance of these devices is superior to that of the PC, no adjustment to the general configuration data is needed, and the target application will still run well on these devices.
[0073] Based on this, a configuration modification baseline can be set, and the device attribute information of the target device can be compared with the configuration modification baseline to obtain the information comparison result. Then, based on the information comparison result, it can be determined whether it is necessary to determine the modifiable configuration data for the target device from the general configuration data.
[0074] The configuration baseline information indicates the device performance parameters that meet the preset basic operating performance. The preset basic operating performance can be determined based on actual conditions. For example, for a target application like a mini-game, the preset basic operating performance can be determined based on the device's image processing performance, or other performance parameters. Correspondingly, the configuration baseline information can also be set according to actual conditions. For example, if the target application (mini-game) is developed using a PC platform as the performance benchmark but is geared towards a general web platform, the PC platform's device performance parameters can be used as the configuration baseline information. In this case, the preset basic operating performance can be understood as the performance exhibited when the target application runs according to the PC platform's device performance parameters.
[0075] Figure 5 This illustration shows a diagram illustrating the determination of whether modifiable configuration data is determined from general configuration data, as provided in an embodiment of this application. For example... Figure 5 As shown, for any target device, the device attribute information corresponding to the target device is compared with the configuration modification baseline information. If the device performance parameters corresponding to the device attribute information are better than those corresponding to the configuration modification baseline information, or if the device performance parameters corresponding to the device attribute information are the same as those corresponding to the configuration modification baseline information, then it is not necessary to determine the modifiable configuration data for that target device from the general configuration data. If the device performance parameters corresponding to the device attribute information are lower than those corresponding to the configuration modification baseline information, then the modifiable configuration data for that target device can be determined from the general configuration data.
[0076] For example, based on the aforementioned example of using the device performance parameters of the PC platform as the baseline information for configuration modification, if the target device is a mobile device, since the device performance parameters of the mobile device are lower than those of the PC device, the modifiable configuration data (including at least one of shader configuration data and rendering process configuration data) for the mobile device can be determined from the general configuration data of the target running program.
[0077] In this embodiment of the application, by comparing the device attribute information of the target device with the configuration modification baseline information, the modifiable configuration data is determined from the general configuration data only when the device performance parameters corresponding to the device attribute information are lower than the device performance parameters corresponding to the configuration modification baseline information. This can filter out target devices with lower device performance parameters, narrow down the range of target devices, so that the modifiable configuration data can be adjusted in a targeted manner in the future, so that the adjusted configuration data can be adapted to these target devices.
[0078] 103. Update the modifiable configuration data in the general configuration data to obtain the target configuration data.
[0079] After determining the modifiable configuration data for the target device, the modifiable configuration data in the general configuration data can be updated to obtain the target configuration data. Updating the modifiable configuration data can be understood as optimizing it to better suit the target device.
[0080] Figure 6 This illustration shows a configuration data update diagram provided in an embodiment of this application. For example... Figure 6 As shown, the general configuration data includes modifiable configuration data and other configuration data. The configuration data obtained by updating the modifiable configuration data can be called performance-optimized configuration data, while the other configuration data remains unchanged. The target configuration data includes performance-optimized configuration data and other configuration data; that is, the target configuration data and other configuration data together constitute the target configuration data. The performance-optimized configuration data can be understood as the configuration data corresponding to the updated modifiable configuration data.
[0081] As mentioned above, the modifiable configuration data includes at least one of shader configuration data and rendering pipeline configuration data. Therefore, updating the modifiable configuration data in the general configuration data can include the following three methods: (1) updating the shader configuration data; (2) updating the rendering pipeline configuration data; and (3) updating both the shader configuration data and the rendering pipeline configuration data.
[0082] Figure 7 This illustration shows another configuration data update diagram provided in an embodiment of this application. For example... Figure 7 As shown, shader configuration data can include floating-point precision configuration data and shader function configuration data. Floating-point precision configuration data can be understood as the data type used during shader calculations. Different floating-point precisions result in significant differences in storage space, calculation speed, and numerical range.
[0083] Shading function configuration data can be understood as the types of functions used in the shader calculation process. Shading function configuration data can include functions corresponding to linear color spaces or functions corresponding to gamma color spaces.
[0084] In linear color spaces, color values and lighting calculations are handled directly according to linear relationships in the physical world. In a linear color space, brightness increases uniformly; that is, if the brightness doubles, the actual displayed brightness also doubles. Functions in linear color spaces emphasize visual effects, resulting in higher overhead on device performance and thus requiring higher-performance equipment.
[0085] Because the human eye has varying degrees of sensitivity to black and white, with a higher sensitivity to darker areas, and because early cathode ray tube (CRT) monitors output colors with lower brightness than their actual values, the color space used for storage was non-linear to ensure accurate visual representation. Darker areas often occupied more storage space. The gamma color space is one such non-linear space; it increases brightness during storage and then dims it during display to reproduce the colors the human eye should see. Compared to the functions corresponding to linear color spaces, the functions corresponding to gamma color spaces sacrifice some performance requirements, resulting in lower device performance overhead and lower demands on device capabilities.
[0086] In this embodiment, different types of shader configuration data can be updated to obtain target configuration data. For example, when the shader configuration data includes floating-point precision configuration data, updating the modifiable configuration data in the general configuration data to obtain target configuration data may include: determining the current floating-point precision from the floating-point precision configuration data; adjusting the current floating-point precision to the target floating-point precision to obtain target configuration data, wherein the current floating-point precision is higher than the target floating-point precision.
[0087] The current floating-point precision is the floating-point precision used before the modifiable configuration data was updated. Adjusting the current floating-point precision to the target floating-point precision will give you the target configuration data.
[0088] In step 102, the modifiable configuration data is only determined from the general configuration data when the information comparison result indicates that the device performance parameters corresponding to the target device's device attribute information are lower than the device performance parameters corresponding to the configuration modification baseline information. This process means that the modifiable configuration data in the general configuration data is only updated when the target device's device performance parameters are at a low level, so as to adapt it to the target device with lower device performance parameters. Therefore, the current floating-point precision can be adjusted to the target floating-point precision, which is lower than the target floating-point precision.
[0089] In this embodiment, the current floating-point precision can be full-precision floating-point (FP32), and the target floating-point precision can be half-precision floating-point (FP16). The full-precision floating-point number has a bit width of 32 bits, including 1 sign bit + 8 exponent bits + 23 mantissa bits, and its numerical range is ±1.2 × 10⁻⁶. -38 Up to ±3.4×10 38 Half-precision floating-point numbers have a bit width of 16 bits, including 1 sign bit + 5 exponent bits + 10 mantissa bits, and their value range is ±6.1 × 10⁻⁶. -5 Up to ±6.5×10 4Comparing full-precision and half-precision floating-point numbers, full-precision floating-point numbers offer higher precision and a wider numerical range, but require more computational resources. Half-precision floating-point numbers, by sacrificing precision and range, offer smaller storage space and faster computation speed. Therefore, adjusting the current floating-point precision (full-precision floating-point) to the target floating-point precision (half-precision floating-point) can reduce GPU overhead, helping to lower the power consumption of small games running on the target device (mobile device).
[0090] In practical implementation, the macro definition of SHADER_API_MOBILE (a preprocessor macro) can be added to the header file (such as Common.hlsl) of the shader source code of the target application (mini-game) engine: #define SHADER_API_MOBILE 1. Here, "1" in the macro definition indicates that the macro definition is enabled. The High-Level Shading Language (HLSL) code uses "real" to represent floating-point numbers. Full-precision floating-point numbers are represented as float, and half-precision floating-point numbers are represented as half. Accordingly, after updating the modifiable configuration data, ShaderHLSL can be represented as:
[0091]
[0092] In this embodiment of the application, by adjusting the current floating-point precision (full-precision floating-point number) in the floating-point configuration data to the target floating-point precision (half-precision floating-point number), the target configuration data is obtained, which can reduce the overhead of the target configuration data on the GPU and reduce the power consumption of the target application running on the target device.
[0093] Furthermore, when the shader configuration data includes shader function configuration data, updating the modifiable configuration data in the general configuration data to obtain target configuration data may include: determining the current shader function from the shader function configuration data; and adjusting the current shader function based on the target computing resources of the target device to obtain target configuration data.
[0094] The current coloring function is the coloring function used before the modifiable configuration data was updated. In this embodiment, the current coloring function can be adjusted according to the target computing resources of the target device to obtain the target configuration data. The target computing resources can be understood as the computing power configuration parameters of the target device.
[0095] In this embodiment, the current shading function can be a shading function corresponding to a first color space. As mentioned earlier, since the modifiable configuration data in the general configuration data needs to be updated only when the device performance parameters of the target device are at a low level in step 102, so as to adapt it to the target device with low device performance parameters, the current shading function can be a shading function with higher requirements for device performance parameters. For example, the current shading function can be a function corresponding to a linear color space, specifically the LinearToSRGB function (a color space conversion function). The LinearToSRGB function is used to convert the values of the linear color space to a color space that conforms to the sRGB standard, ensuring that the colors are correctly presented on the real device. Based on this, the current shading function is adjusted according to the target computing resources of the target device to obtain target configuration data, which may include: determining a shading function mapping set, which includes multiple computing resource levels and mapping relationships between different shading functions; selecting the target shading function corresponding to the target device from the shading function mapping set according to the target computing resource level corresponding to the target computing resource, the target shading function being a shading function corresponding to a second color space; and adjusting the current shading function to the target shading function to obtain the target configuration data.
[0096] A coloring function mapping set can be a collection that records the mapping relationships between different computing resource levels and different coloring functions. For example, a coloring function mapping set may include three computing resource levels and four coloring functions, where the computing resource levels are L1, L2, and L3, and the coloring functions are S1, S2, S3, and S4. If the mapping relationship between the computing resource levels and coloring functions is: L1-S2 (indicating a mapping relationship between computing resource level L1 and coloring function S2), L2-S1, S3 (indicating a mapping relationship between computing resource level L2 and coloring functions S1 and S3), and L3-S4 (indicating a mapping relationship between computing resource level L3 and coloring function S4).
[0097] It is understandable that the set of coloring function maps can be set according to the actual situation. For example, the various coloring functions can be classified according to their consumption of computing resources, with each category corresponding to a computing resource level, thereby constructing a mapping relationship between computing resource levels and coloring functions.
[0098] After obtaining the coloring function mapping set, the target coloring function that has a mapping relationship with the target computing resource can be found from the coloring function mapping set according to the target computing resource level corresponding to the target computing resource of the target device. This target coloring function is the target coloring function corresponding to the target device. The target coloring function is the coloring function corresponding to the second color space, which is different from the coloring function corresponding to the first color space.
[0099] In this embodiment, the shading function corresponding to the second color space can be a function corresponding to the gamma color space, specifically the FastLinearToSRGB function (an optimized color space conversion function). The FastLinearToSRGB function is used to quickly convert linear color values to values in the sRGB space. It sacrifices a small amount of precision for higher computational efficiency, thereby reducing the overhead of target configuration data on the GPU and reducing the power consumption of the target application running on the target device.
[0100] After determining the target shading function corresponding to the target device, the current shading function can be updated to the target shading function to obtain the target configuration data. Specifically, this can be achieved by adding the macro definition `#define SHADER_API_MOBILE 1` (a preprocessor macro) to the header file of the shader source code of the target application (game) engine, and then selecting the target shading function through the macro. For example, the macro can be used to adjust the current shading function (the function corresponding to the linear color space) to the target shading function (the function corresponding to the gamma color space). Correspondingly, after updating the modifiable configuration data, Shader HLSL can be represented as:
[0101]
[0102] Here, "c" represents the variable name in the function, and "real3" represents a vector composed of three real values arranged in a specific order.
[0103] As mentioned earlier, since the target shading function (the function corresponding to the gamma color space) requires less computing power from the device than the current shading function (the function corresponding to the linear color space), updating the current shading function (the function corresponding to the linear color space) to the target shading function (the function corresponding to the gamma color space) can reduce the overhead of the target configuration data on the GPU and reduce the power consumption of the target application running on the target device.
[0104] like Figure 7 As shown, the rendering process configuration data may include read and write configuration data for video memory, as well as interface configuration data corresponding to multiple preset image application programming interfaces.
[0105] The read / write configuration data can include load configuration parameters for data loading operations (Load Action) and storage configuration parameters for data storage operations (Store Action). Load configuration parameters can include whether to load (historical) data from video memory into the real-time task (such as a real-time rendering task), while storage configuration parameters can include whether to save the task data of the real-time rendering task to video memory. Both load and storage configuration parameters can indicate the bandwidth used by the real-time rendering task. The bandwidth used by the real-time rendering task can be understood as the CPU time occupied by the real-time rendering task during the detection cycle.
[0106] Regarding load configuration parameters, if they indicate loading (historical) data from video memory into the real-time rendering task, the corresponding bandwidth is higher; conversely, if they indicate not loading (historical) data from video memory, the corresponding bandwidth is lower. Regarding storage configuration parameters, if they indicate storing the task data corresponding to the real-time rendering task in video memory, the corresponding bandwidth is higher; conversely, if they indicate not storing the task data corresponding to the real-time rendering task in video memory, the corresponding bandwidth is lower. If the real-time rendering task consumes CPU resources for an extended period, it indicates high bandwidth usage, which can affect system stability and responsiveness.
[0107] Interface configuration data can include application programming interface (API) data for handling rendering tasks in a graphics application. For example, interface configuration data can include interface configuration data suitable for single-threaded rendering and interface configuration data suitable for multi-threaded rendering. The difference between single-threaded and multi-threaded rendering lies in whether the parallel capabilities of a multi-core central processing unit (CPU) are utilized to accelerate the rendering process. For single-threaded rendering, all rendering tasks (such as scene data preparation, set processing, lighting calculation, pixel shading, etc.) are completed sequentially by a single thread. Task submission between the CPU and GPU is usually synchronous, and the main thread may be blocked while waiting for the GPU to complete rendering. Single-threaded rendering does not require handling thread synchronization or resource contention issues, and is characterized by convenient debugging, simple control, and low latency. For multi-threaded rendering, rendering tasks are split into multiple threads (such as a main thread, rendering threads, resource loading threads, etc.). Task division includes: frame-by-frame parallelism, tile-by-tile rendering, and pipelined rendering. Frame-by-frame parallelism allows different threads to process different frames (e.g., thread A processes frame N, and thread B processes frame N+1). Multithreaded rendering divides a frame into multiple tiles, with different threads processing different tiles in parallel. Pipelining divides the rendering process into multiple stages (such as scene updates, collection processing, and draw calls), with different threads handling different stages. Multithreaded rendering, by parallelizing tasks and distributing them across multiple threads, can reduce the main thread bottleneck and is suitable for highly complex scenarios. However, it has a high data throughput and requires handling thread synchronization and resource contention issues, resulting in significantly higher computational resource overhead than single-threaded rendering.
[0108] In this embodiment, different types of rendering process configuration data can be updated to obtain target configuration data. For example, when the rendering process configuration data may include read / write configuration data for video memory, updating the modifiable configuration data in the general configuration data to obtain target configuration data may include: determining the current loading configuration parameters corresponding to the data loading operation and the current storage configuration parameters corresponding to the data storage operation from the read / write configuration data; updating the current loading configuration parameters and the current storage configuration parameters to obtain target configuration data.
[0109] The currently recorded configuration parameters are the loading configuration parameters used before the modifiable configuration data was updated, and the currently stored configuration parameters are the storage configuration parameters used before the modifiable configuration data was updated.
[0110] After determining the current loading configuration parameters and the current storage configuration parameters, you can adjust the current loading configuration parameters and the current storage configuration parameters respectively to obtain the target configuration data.
[0111] As mentioned earlier, in step 102, the modifiable configuration data is only determined from the general configuration data when the information comparison result indicates that the device performance parameters corresponding to the target device's device attribute information are lower than the device performance parameters corresponding to the configuration modification baseline information. This process means that the modifiable configuration data in the general configuration data is only updated when the target device's device performance parameters are at a low level, so as to adapt it to the target device with lower device performance parameters. Therefore, the currently loaded configuration parameters can indicate loading historical data from video memory into the real-time rendering task, and the currently stored configuration parameters can indicate storing the task data corresponding to the real-time rendering task into video memory. Both the currently loaded configuration parameters and the currently stored configuration parameters consume a high level of bandwidth. At this time, the currently loaded configuration parameters and the currently stored configuration parameters can be adjusted to a level that consumes less bandwidth.
[0112] Accordingly, updating the current loading configuration parameters and the current storage configuration parameters to obtain the target configuration data may include: adjusting the current loading configuration parameters to the target loading configuration parameters, wherein the target loading configuration parameters indicate that loading historical data from video memory into the real-time rendering task should be canceled; adjusting the current storage configuration parameters to the target storage configuration parameters, wherein the target storage configuration parameters indicate that storing the task data corresponding to the real-time rendering task into video memory should be canceled; and determining the target configuration data based on the target loading configuration parameters and the target storage configuration parameters.
[0113] In this embodiment, the current loading configuration parameters can be updated to target loading configuration parameters that consume less bandwidth, and the current storage configuration parameters can be adjusted to target storage configuration parameters that consume less bandwidth. Specifically, the target loading configuration parameters indicate that loading historical data from video memory into the real-time rendering task is cancelled; that is, loading historical data from video memory into the real-time rendering task is not required. The target storage configuration parameters indicate that storing task data corresponding to the real-time rendering task into video memory is cancelled; that is, storing task data corresponding to the real-time rendering task into video memory is not required.
[0114] After adjusting and obtaining the target loading configuration parameters and target storage configuration parameters, the relevant parameters in the original general configuration data change, thus becoming the target configuration data.
[0115] In practice, the loading configuration parameters for the data loading operation and the storage configuration parameters for the data storage operation can be modified in the shader source code of the target application (mini-game) engine. The default value (current loading configuration parameter) for the data loading operation (LoadAction) in the game engine is "Load," meaning historical data is loaded from video memory into the real-time rendering task. The default value (current storage configuration parameter) for the data storage operation (Store Action) in the game engine is "Store," meaning the task data corresponding to the real-time rendering task is stored in video memory. To address this, the default value for the data loading operation (Load Action) in the game engine can be changed from "Load" to "Clear," where "Clear" indicates that historical data does not need to be loaded from video memory into the real-time rendering task. Alternatively, the default value for the data storage operation (Store Action) in the game engine can be changed from "Store" to "Discard," where "Discard" indicates that the task data corresponding to the real-time rendering task does not need to be stored in video memory.
[0116] In this embodiment, by adjusting the current loading configuration parameter (indicating loading historical data from video memory into the real-time rendering task) in the read / write configuration data to the target loading configuration parameter (indicating canceling loading historical data from video memory into the real-time rendering task), and adjusting the current storage configuration parameter (indicating storing the task data corresponding to the real-time rendering task into video memory) in the storage configuration data to the target storage configuration parameter (indicating canceling storing the task data corresponding to the real-time rendering task into video memory), the target configuration data is obtained. This avoids redundant bandwidth overhead caused by unreasonable default values of engine RT attributes on the device, thereby reducing the CPU driver overhead and GPU bandwidth overhead required by the target device in processing real-time tasks, which helps to improve CPU operating efficiency and reduce game power consumption.
[0117] In addition, when the rendering process configuration data includes interface configuration data corresponding to multiple preset image application programming interfaces, updating the modifiable configuration data in the general configuration data to obtain the target configuration data may include: determining the target image application programming interface that meets the preset redundancy conditions from the preset image application programming interfaces; deleting the target interface configuration data corresponding to the target image application programming interface from the interface configuration data to obtain the target configuration data.
[0118] The preset redundancy conditions can be set according to actual conditions. For example, the preset redundancy conditions can be set according to the rendering characteristics of the target application (mini-game). If the mini-game uses single-threaded rendering, then single-threaded rendering can be used as the preset redundancy condition. If the preset image application programming interface includes both image application programming interfaces corresponding to multi-threaded rendering and those corresponding to single-threaded rendering, then the image application programming interface corresponding to multi-threaded rendering can be determined to satisfy the preset redundancy condition. In this case, the image application programming interface corresponding to multi-threaded rendering can be used as the target image application programming interface. For ease of distinction, the interface configuration data corresponding to the target image application programming interface can be called the target interface configuration data. Therefore, after determining the target image application programming interface, the target interface configuration data corresponding to the target image application programming interface can be deleted from the interface configuration data to obtain the target configuration data.
[0119] Since the target image application interface that meets the preset redundancy conditions is not compatible with the rendering characteristics of the target device, after deleting the target interface configuration data corresponding to the target image application interface, the target application will no longer call these target interface configuration data when running the target application on the target device based on the obtained target configuration data. This process will not affect the performance of the target application running on the target device. At the same time, it can also reduce unnecessary computational overhead in the graphics rendering process and improve running efficiency.
[0120] In this embodiment of the application, determining the target image application programming interface that meets the preset redundancy conditions from the preset image application programming interfaces may include: determining the number of rendering threads of the target device for the target application; and determining the target image application programming interface that meets the preset redundancy conditions from the preset image application programming interfaces based on the number of rendering threads.
[0121] The rendering thread count information can be understood as the number of threads required by the target application to handle rendering tasks during runtime. When the target application requires only one thread to handle rendering tasks, it can be determined to be single-threaded rendering. When the target application requires more than one thread to handle rendering tasks, it can be determined to be multi-threaded rendering.
[0122] As mentioned earlier, the multiple preset image application programming interfaces (APIs) included in the rendering process configuration data can include APIs corresponding to multi-threaded rendering and APIs corresponding to single-threaded rendering. Therefore, after determining the number of rendering threads for the target application on the target device, the target image application programming interface that meets the preset redundancy conditions can be selected from the preset image application programming interfaces based on the number of rendering threads.
[0123] Specifically, an image application programming interface (API) that does not match the rendering thread count information in the preset image APIs can be used as the target image application programming interface. For example, if the target device's rendering thread count information for the target application indicates single-threaded rendering, then the preset image API corresponding to multi-threaded rendering can be selected from multiple preset image APIs as the target image application interface. Conversely, if the target device's rendering thread count information for the target application indicates multi-threaded rendering, then the preset image API corresponding to single-threaded rendering can be selected from multiple preset image APIs as the target image application interface.
[0124] In this embodiment of the application, determining the target image application programming interface that meets the preset redundancy conditions from the preset image application programming interfaces may further include: obtaining a set of redundant interfaces for single-threaded rendering, the set of redundant interfaces including the redundant programming interfaces corresponding to single-threaded rendering conditions; comparing the preset image application programming interfaces with the redundant programming interfaces to obtain an interface comparison result; and determining the target image application programming interface from the preset image application programming interfaces based on the interface comparison result.
[0125] As mentioned earlier, the target application (mini-game) is characterized by single-threaded rendering. Therefore, a set of redundant interfaces for single-threaded rendering can be obtained. The preset image application programming interface is then compared with the redundant programming interfaces contained in the set of redundant interfaces. The target image application interface is determined based on the interface comparison results.
[0126] The redundant interface set for single-threaded rendering includes redundant programming interfaces corresponding to single-threaded rendering conditions. Redundant programming interfaces corresponding to single-threaded rendering conditions can be understood as image application programming interfaces corresponding to non-single-threaded rendering. Based on this, preset image application programming interfaces can be compared with redundant programming interfaces, and the preset image application programming interface that matches the redundant interface can be used as the image application interface. For example, if the rendering flow configuration data includes interface configuration data corresponding to three preset image application programming interfaces, where the three preset image application programming interfaces are represented as preset image application programming interface 1, preset image application programming interface 2, and preset image application programming interface 3, and the redundant interface set includes one redundant programming interface, represented as redundant programming interface 1, comparing the above three preset image application programming interfaces with the redundant interface, if the interface comparison result shows that preset image application programming interface 2 and redundant programming interface 1 are the same programming interface, then preset image application programming interface 2 can be used as the target image application interface. Of course, if the interface comparison result shows that preset image application programming interface 1, preset image application programming interface 2, and redundant programming interface 1 are the same programming interface, then preset image application programming interface 1 and preset image application programming interface 2 can be used as the target image application interface. After determining the target image application interface, the target configuration data can be obtained by deleting the target interface configuration data corresponding to the target image application interface from the interface configuration data.
[0127] In practical implementation, the single-threaded rendering characteristic of the target application (mini-game) can be utilized. The macro `MINIGAME_PLATFORM` (mini-game platform) can be introduced into the C++ (a computer programming language) code of the game engine. Through conditional compilation of the macro, the interface configuration data corresponding to the multi-threaded rendering graphics application programming interface (API) can be eliminated. The multi-threaded rendering API becomes redundant. APIs with multi-threaded rendering characteristics can include graphics APIs such as `glFenceSync` and `glClientWaitSync`. `glFenceSync` is an OpenGL function used to wait for GPU operations to complete on the CPU. It achieves efficient synchronization by creating, waiting for, and deleting synchronization objects, and can be used to wait for a GPU operation to complete on the CPU. `glClientWaitSync` is an OpenGL function used to wait for changes in the state of synchronization objects on the client side. Its main function is to make the CPU wait for the GPU to complete a certain operation.
[0128] For example, the rendering process configuration data before removing redundant API interface configuration data can be represented as follows:
[0129] glBlindFramebuffer(GL_DRAW_FRAMEBUFFER,Framebuffer 612)
[0130] glViewport(0,0,1170,2532)
[0131] glDrawElements(6)
[0132] glFenceSync(Sync1751,GL_SYNC_GPU_COMMANDS_COMPLETE,GLsyncbifield(0))
[0133] glClientWaitSync(Sync 1751,GLsyncbitfield(0),0)
[0134] The target configuration data obtained after removing redundant API interface configuration data can be represented as follows:
[0135] glBlindFramebuffer(GL_DRAW_FRAMEBUFFER,Framebuffer 612)
[0136] glViewport(0,0,1170,2532)
[0137] glDrawElements(6)
[0138] In this embodiment of the application, by removing the target interface configuration data corresponding to the target image application interface that meets the preset redundancy conditions in the rendering process configuration data, the target configuration data is obtained. This not only ensures that the screen performance of the target application (mini-game) is the same before and after removal, but also reduces the graphics rendering overhead of the mini-game, thereby reducing the power consumption of the mini-game.
[0139] In this embodiment of the application, updating the modifiable configuration data in the general configuration data to obtain the target configuration data may further include: obtaining a configuration adjustment mapping set for the target application, the configuration adjustment set including reference adjustment configuration data corresponding to the preset device and the target application running on the preset device; determining the target reference adjustment configuration data corresponding to the target device from the configuration adjustment mapping set; and updating the modifiable configuration data in the general configuration data to the target reference adjustment configuration data to obtain the target configuration data.
[0140] The configuration adjustment mapping set can be understood as a pre-set collection of reference adjustment configuration data for different types of devices. The configuration adjustment set can include multiple reference adjustment configuration data, each corresponding to a preset device of a certain type. These preset devices may include target devices. Therefore, after determining the target device, the target reference adjustment configuration data corresponding to that target device can be found in the configuration adjustment mapping set. Then, the modifiable configuration data in the general configuration data is updated to the target reference adjustment configuration data to obtain the target configuration data.
[0141] For example, if the configuration adjustment mapping set includes reference adjustment configuration data corresponding to two preset devices, and for ease of distinction, the preset devices include preset device A and preset device B, the reference adjustment configuration data corresponding to preset device A is called reference adjustment configuration data A, and the reference adjustment configuration data corresponding to preset device B is called reference adjustment configuration data B. If the target device is preset device B, then reference adjustment configuration data B can be used as the target reference adjustment configuration data. Therefore, the modifiable configuration data in the general configuration data can be updated to reference adjustment configuration data B to obtain the target configuration data.
[0142] It can be understood that the target reference adjustment configuration data corresponding to the target device can be equivalent to the performance optimization configuration data corresponding to the aforementioned updated modifiable configuration data. Therefore, the target reference adjustment configuration data can include target modification parameters for shader configuration data and rendering pipeline configuration data. Figure 8 This illustration shows a schematic diagram of updating configuration data based on a target reference, according to an embodiment of this application. For example... Figure 8 As shown, in the target reference adjustment configuration data, the shader configuration data includes floating-point precision configuration data and shader function configuration data. The floating-point precision corresponding to the floating-point precision configuration data is the target floating-point precision, and the shader function corresponding to the shader function configuration data is the target shader function. In the target reference adjustment configuration data, the rendering process configuration data includes read / write configuration data and interface configuration data. The parameters corresponding to the read / write configuration data include target loading configuration parameters and target storage configuration parameters. The target interface configuration data corresponding to the programming interface has been removed from the interface configuration data. In this embodiment, the target reference configuration data can be read, and the modifiable configuration data in the game engine of the target application (mini-game) can be updated to the target reference configuration data to obtain the target configuration data. Afterwards, the relevant data of the target application (mini-game) (such as business code, game resources, and target configuration data in the game engine) can be packaged to obtain the mini-game package.
[0143] In this embodiment, a configuration adjustment mapping set is pre-set. This set includes reference adjustment configuration data for different types of devices. After determining the target device, the target reference adjustment configuration data corresponding to the target device can be directly retrieved from the configuration adjustment mapping set. The modifiable configuration data in the general configuration data is then updated based on the target reference adjustment configuration data to obtain target configuration data suitable for the target device. The above process can use the target reference adjustment configuration data as the performance optimization configuration data for the target application to run on the target device. Updating the modifiable configuration data to the target reference adjustment configuration data is equivalent to enabling the performance optimization configuration data. Subsequently, the target application can be run on the target device based on the target configuration data.
[0144] 104. Based on the target configuration data, run the target application on the target device.
[0145] In this embodiment, after obtaining the target configuration data, the target application can be run on the target device based on the target configuration data. For example, the target device can be triggered to run the target application based on the target configuration data. Specifically, the relevant data of the target application (such as business code, program resources, and target configuration data in the engine) can be packaged to obtain a data packet of the target application. The data packet of the target application is sent to the target device, and after receiving the data packet, the target device can run the target application based on the data packet.
[0146] Because the modifiable configuration data in the general configuration data of the target application is updated in this embodiment, the relevant configuration data (including at least one of shader configuration data and rendering process configuration data) is optimized during the update process, making the configuration requirements of the shader and rendering process in the target configuration data more suitable for the device performance parameters of the target device. For example, the CPU driving overhead of the target application can be reduced, the GPU bandwidth overhead can be reduced, thereby improving the running efficiency of the target application on the target device, reducing the running power consumption (reducing the running power consumption can reduce the heat generation problem of the target device), and improving the performance of the target application running on the target device.
[0147] It is understood that the data package of the target application obtained through the above method can run not only on the target device, but also on other types of devices. Furthermore, because the technical solution of this application updates the modifiable configuration data in the general configuration data of the target application, and optimizes the relevant configuration data (including at least one of shader configuration data and rendering process configuration data) during the update process, when the data package of the target application runs on other types of devices, it can also achieve effects such as reducing the CPU driving overhead of the target application, reducing GPU bandwidth overhead, reducing power consumption, and improving operating efficiency.
[0148] As described above, this embodiment of the application obtains general configuration data for running the target application. This general configuration data includes the configuration data required for the target application to run on various types of devices. Then, based on the device attribute information of the target device, it determines modifiable configuration data for the target device from the general configuration data. The modifiable configuration data includes at least one of shader configuration data and rendering process configuration data. The modifiable configuration data in the general configuration data is then updated to obtain the target configuration data. Finally, based on the target configuration data, the target application is run on the target device. Because this scheme can determine and update the modifiable configuration data from the general configuration data of the target application according to the device attribute information of the target device, the shader configuration data and rendering process configuration data in the modifiable configuration data are optimized. The optimized target configuration data is more suitable for the target device. When the target application is subsequently run on the target device based on the target configuration data, the CPU driver overhead and GPU bandwidth overhead of the target application can be reduced, thereby improving the running efficiency and smoothness of the target application on the target device, reducing power consumption (reduced power consumption can reduce the heat generation of the target device), and improving the performance of the target application on the target device.
[0149] Based on the method described in the above embodiments, the following examples will provide further detailed explanations.
[0150] In this embodiment, the application will be specifically integrated into an electronic device, with the electronic device serving as a server, as an example. The target application's general configuration data is a mini-game developed based on a PC platform's performance benchmark. The target device is a mobile platform device, such as a smartphone or tablet.
[0151] Figure 9 Another flowchart illustrating the application running method provided in this application embodiment is shown. Figure 9 As shown, an application running method has the following specific process:
[0152] 201. The server obtains the general configuration data for running the target application. The general configuration data is the configuration data required for the target application to run on various types of devices.
[0153] For example, the server can use the target application's game engine as generic configuration data.
[0154] 202. Based on the device attribute information of the target device, the server determines the modifiable configuration data for the target device from the general configuration data. The modifiable configuration data includes at least one of shader configuration data and rendering process configuration data.
[0155] For example, the server can obtain configuration modification baseline information, which indicates the device performance parameters that meet the preset basic operating performance; compare the device attribute information with the configuration modification baseline information to obtain the information comparison result; when the information comparison result indicates that the device performance parameters of the device attribute information are lower than the device performance parameters corresponding to the configuration modification baseline information, determine the modifiable configuration data from the general configuration data.
[0156] 203. The server updates the modifiable configuration data in the general configuration data to obtain the target configuration data.
[0157] For example, shader configuration data may include floating-point precision configuration data. In this case, the server can determine the current floating-point precision from the floating-point precision configuration data; adjust the current floating-point precision to the target floating-point precision to obtain the target configuration data, where the current floating-point precision is higher than the target floating-point precision.
[0158] For example, shader configuration data may include shader function configuration data. In this case, the server can determine the current shader function from the shader function configuration data; based on the target computing resources of the target device, it adjusts the current shader function to obtain the target configuration data.
[0159] For example, the current shading function is the shading function corresponding to the first color space. At this time, the server can determine the shading function mapping set, which includes the mapping relationship between multiple computing resource levels and different shading functions; according to the target computing resource level corresponding to the target computing resource, the target shading function corresponding to the target device is selected from the shading function mapping set, and the target shading function is the shading function corresponding to the second color space; the current shading function is adjusted to the target shading function to obtain the target configuration data.
[0160] For example, rendering process configuration data may include read / write configuration data for video memory. In this case, the server can determine the current load configuration parameters corresponding to the data loading operation and the current storage configuration parameters corresponding to the data storage operation from the read / write configuration data; it can then update the current load configuration parameters and the current storage configuration parameters to obtain the target configuration data.
[0161] For example, the current load configuration parameter indicates loading historical data from video memory into the real-time rendering task, while the current storage configuration parameter indicates storing the task data corresponding to the real-time rendering task into video memory. In this case, the server can adjust the current load configuration parameter to the target load configuration parameter, which indicates canceling the loading of historical data from video memory into the real-time rendering task; and adjust the current storage configuration parameter to the target storage configuration parameter, which indicates canceling the storage of the task data corresponding to the real-time rendering task into video memory; based on the target load configuration parameter and the target storage configuration parameter, the target configuration data is determined.
[0162] For example, the rendering process configuration data may also include interface configuration data corresponding to multiple preset image application programming interfaces. In this case, the server can determine the target image application programming interface that meets the preset redundancy conditions from the preset image application programming interfaces; delete the target interface configuration data corresponding to the target image application programming interface from the interface configuration data to obtain the target configuration data.
[0163] For example, the server can determine the number of rendering threads for the target application on the target device; based on the number of rendering threads, it can determine the target image application programming interface that meets the preset redundancy conditions from the preset image application programming interfaces.
[0164] For example, the server can obtain a set of redundant interfaces for single-threaded rendering, which includes redundant programming interfaces corresponding to single-threaded rendering conditions; compare the preset image application programming interface with the redundant programming interface to obtain the interface comparison result; and determine the target image application programming interface from the preset image application programming interface based on the interface comparison result.
[0165] For example, the server can obtain a set of configuration adjustment maps for the target application, which includes reference adjustment configuration data corresponding to the preset device and the target application running on the preset device; determine the target reference adjustment configuration data corresponding to the target device from the set of configuration adjustment maps; update the modifiable configuration data in the general configuration data to the target reference adjustment configuration data to obtain the target configuration data.
[0166] 204. The server triggers the target device to run the target application based on the target configuration data.
[0167] For example, a server can package relevant data of the target application (such as business code, program resources, and target configuration data in the engine) into a data packet for the target application. This data packet is then sent to the target device, which, upon receiving it, can run the target application.
[0168] As described above, this embodiment obtains general configuration data for running the target application through a server. This general configuration data includes the configuration data required for the target application to run on various types of devices. Then, based on the device attribute information of the target device, the server determines modifiable configuration data for the target device from the general configuration data. The modifiable configuration data includes at least one of shader configuration data and rendering process configuration data. The server then updates the modifiable configuration data in the general configuration data to obtain the target configuration data. Finally, the server triggers the target device to run the target application based on the target configuration data. Because this scheme can determine modifiable configuration data from the general configuration data of the target application (mini-game) based on the device attribute information of the mobile device and update the modifiable configuration data, the shader configuration data and rendering process configuration data in the modifiable configuration data are optimized. The optimized target configuration data is more suitable for mobile devices. When the mini-game is subsequently run on the mobile device based on the target configuration data, the CPU driving overhead and GPU bandwidth overhead of the mini-game can be reduced, thereby improving the running efficiency of the mini-game on the mobile device, reducing running power consumption (reduced running power consumption can reduce the heat generation of the target device), and improving the performance of the mini-game on the mobile device.
[0169] To better implement the above methods, this application embodiment also provides an application running device, which can be integrated into a network device, such as a server or terminal, and the terminal may include a tablet computer, a laptop computer, and / or a personal computer.
[0170] Figure 10 A schematic diagram of the structure of the application running device provided in an embodiment of this application is shown. Figure 10 As shown, the application running device may include an acquisition unit 301, a determination unit 302, an update unit 303, and a running unit 304, as follows:
[0171] (1) Obtain unit 301;
[0172] The acquisition unit 301 is used to acquire general configuration data for running the target application. The general configuration data is the configuration data required for the target application to run on various types of devices.
[0173] For example, the acquisition unit 301 can be used to obtain the engine data of the target application (such as a game engine) as general configuration data.
[0174] (2) Determine unit 302;
[0175] The determining unit 302 is used to determine the modifiable configuration data for the target device from the general configuration data based on the device attribute information of the target device. The modifiable configuration data includes at least one of shader configuration data and rendering process configuration data.
[0176] For example, the determining unit 302 can be used to obtain configuration modification baseline information, which indicates the device performance parameters that meet the preset basic operating performance; compare the device attribute information with the configuration modification baseline information to obtain the information comparison result; when the information comparison result indicates that the device performance parameters of the device attribute information are lower than the device performance parameters corresponding to the configuration modification baseline information, determine the modifiable configuration data from the general configuration data.
[0177] (3) Update unit 303;
[0178] The update unit 303 is used to update the modifiable configuration data in the general configuration data to obtain the target configuration data.
[0179] For example, update unit 303 can be used to determine the current floating-point precision from the floating-point precision configuration data; adjust the current floating-point precision to the target floating-point precision to obtain the target configuration data, where the current floating-point precision is higher than the target floating-point precision.
[0180] For example, update unit 303 can be used to determine the current coloring function from the coloring function configuration data; and adjust the current coloring function based on the target computing resources of the target device to obtain the target configuration data.
[0181] For example, update unit 303 can be used to determine a color function mapping set, which includes the mapping relationship between multiple computing resource levels and different color functions; based on the target computing resource level corresponding to the target computing resource, the target color function corresponding to the target device is selected from the color function mapping set, and the target color function is the color function corresponding to the second color space; the current color function is adjusted to the target color function to obtain the target configuration data.
[0182] For example, update unit 303 can be used to determine the current loading configuration parameters corresponding to the data loading operation and the current storage configuration parameters corresponding to the data storage operation from the read / write configuration data; update the current loading configuration parameters and the current storage configuration parameters to obtain the target configuration data.
[0183] For example, update unit 303 can be used to adjust the current loading configuration parameters to the target loading configuration parameters, the target loading configuration parameters indicating the cancellation of loading historical data from video memory into the real-time rendering task; adjust the current storage configuration parameters to the target storage configuration parameters, the target storage configuration parameters indicating the cancellation of storing the task data corresponding to the real-time rendering task into video memory; and determine the target configuration data based on the target loading configuration parameters and the target storage configuration parameters.
[0184] For example, the update unit 303 can be used to determine the target image application programming interface that meets the preset redundancy conditions from the preset image application programming interfaces; delete the target interface configuration data corresponding to the target image application programming interface from the interface configuration data to obtain the target configuration number.
[0185] For example, the update unit 303 can be used to determine the number of rendering threads of the target device for the target application; based on the number of rendering threads, the target image application programming interface that meets the preset redundancy conditions is determined from the preset image application programming interfaces.
[0186] For example, update unit 303 can be used to obtain a set of redundant interfaces for single-threaded rendering, including redundant programming interfaces corresponding to single-threaded rendering conditions; compare the preset image application programming interface with the redundant programming interface to obtain the interface comparison result; and determine the target image application programming interface from the preset image application programming interface based on the interface comparison result.
[0187] For example, update unit 303 can be used to obtain a configuration adjustment mapping set for the target application. The configuration adjustment set includes reference adjustment configuration data corresponding to the preset device and the target application running on the preset device; determine the target reference adjustment configuration data corresponding to the target device from the configuration adjustment mapping set; update the modifiable configuration data in the general configuration data to the target reference adjustment configuration data to obtain the target configuration data.
[0188] (4) Operation unit 304;
[0189] Run unit 304 is used to run the target application on the target device based on the target configuration data.
[0190] For example, execution unit 304 can be used to package relevant data of the target application (such as business code, program resources, and target configuration data in the engine) to obtain a data packet of the target application. This data packet is then sent to the target device, which, upon receiving it, can run the target application based on the data packet.
[0191] In practice, each of the above units can be implemented as an independent entity or can be arbitrarily combined to be implemented as the same or several entities. For the specific implementation of each of the above units, please refer to the previous method embodiments, which will not be repeated here.
[0192] As can be seen from the above, in this embodiment of the application, after the acquisition unit 301 acquires the general configuration data of the target application, the determination unit 302 determines the modifiable configuration data for the target device from the general configuration data based on the device attribute information of the target device. The modifiable configuration data includes at least one of shader configuration data and rendering process configuration data. The update unit 303 then updates the modifiable configuration data in the general configuration data to obtain the target configuration data. Finally, the running unit 304 runs the target application on the target device based on the target configuration data. Since this scheme can determine the modifiable configuration data from the general configuration data of the target application based on the device attribute information of the target device and update the modifiable configuration data, the shader configuration data and rendering process configuration data in the modifiable configuration data are optimized. The optimized target configuration data is more suitable for the target device. When the target application is subsequently run on the target device based on the target configuration data, the CPU driver overhead and GPU bandwidth overhead of the target application can be reduced, thereby improving the running efficiency and smoothness of the target application on the target device, reducing running power consumption (reduced running power consumption can reduce the heat generation of the target device), and improving the performance of the target application on the target device.
[0193] This application also provides an electronic device, such as... Figure 11 As shown, it illustrates a structural schematic diagram of the electronic device involved in the embodiments of this application, specifically:
[0194] The electronic device may include components such as a processor 401 with one or more processing cores, a memory 402 with one or more computer-readable storage media, a power supply 403, and an input unit 404. Those skilled in the art will understand that... Figure 11 The electronic device structure shown does not constitute a limitation on the electronic device and may include more or fewer components than shown, or combine certain components, or have different component arrangements. Wherein:
[0195] The processor 401 is the control center of the electronic device, connecting various parts of the device via various interfaces and lines. It executes software programs and / or modules stored in the memory 402, and calls data stored in the memory 402, to perform various functions and process data. Optionally, the processor 401 may include one or more processing cores; preferably, the processor 401 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into the processor 401.
[0196] The memory 402 can be used to store software programs and modules. The processor 401 executes various functional applications and data processing by running the software programs and modules stored in the memory 402. The memory 402 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, application programs required for at least one function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the electronic device, etc. In addition, the memory 402 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, the memory 402 may also include a memory controller to provide the processor 401 with access to the memory 402.
[0197] The electronic device also includes a power supply 403 that supplies power to the various components. Preferably, the power supply 403 can be logically connected to the processor 401 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system. The power supply 403 may also include one or more DC or AC power supplies, recharging systems, power fault detection circuits, power converters or inverters, power status indicators, and other arbitrary components.
[0198] The electronic device may also include an input unit 404, which can be used to receive input digital or character information, and generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function control.
[0199] Although not shown, the electronic device may also include a display unit, etc., which will not be described in detail here. Specifically, in this embodiment, the processor 401 in the electronic device loads the executable files corresponding to the processes of one or more applications into the memory 402 according to the following instructions, and the processor 401 runs the applications stored in the memory 402 to realize various functions, as follows:
[0200] Obtain general configuration data for running the target application. The general configuration data is the configuration data required for the target application to run on various types of devices. Based on the device attribute information of the target device, determine the modifiable configuration data for the target device from the general configuration data. The modifiable configuration data includes at least one of shader configuration data and rendering process configuration data. Update the modifiable configuration data in the general configuration data to obtain the target configuration data. Based on the target configuration data, run the target application on the target device.
[0201] For example, an electronic device can acquire general configuration data for running a target application, which includes the configuration data required for the target application to run on various types of devices; acquire configuration modification baseline information, which indicates the device performance parameters that meet preset basic operating performance; compare device attribute information with the configuration modification baseline information to obtain a comparison result; when the comparison result indicates that the device performance parameters of the device attribute information are lower than the device performance parameters corresponding to the configuration modification baseline information, determine modifiable configuration data from the general configuration data, which includes at least one of shader configuration data and rendering process configuration data; update the modifiable configuration data in the general configuration data to obtain target configuration data; and trigger the target device to run the target application based on the target configuration data, etc.
[0202] For details on the implementation of each of the above operations, please refer to the previous examples, which will not be repeated here.
[0203] As described above, this embodiment of the application obtains general configuration data for running the target application. This general configuration data includes the configuration data required for the target application to run on various types of devices. Then, based on the device attribute information of the target device, it determines modifiable configuration data for the target device from the general configuration data. The modifiable configuration data includes at least one of shader configuration data and rendering process configuration data. The modifiable configuration data in the general configuration data is then updated to obtain the target configuration data. Finally, based on the target configuration data, the target application is run on the target device. Because this scheme can determine and update the modifiable configuration data from the general configuration data of the target application according to the device attribute information of the target device, the shader configuration data and rendering process configuration data in the modifiable configuration data are optimized. The optimized target configuration data is more suitable for the target device. When the target application is subsequently run on the target device based on the target configuration data, the CPU driver overhead and GPU bandwidth overhead of the target application can be reduced, thereby improving the running efficiency and smoothness of the target application on the target device, reducing power consumption (reduced power consumption can reduce the heat generation of the target device), and improving the performance of the target application on the target device.
[0204] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be performed by instructions, or by instructions controlling related hardware. These instructions can be stored in a computer-readable storage medium and loaded and executed by a processor.
[0205] Therefore, embodiments of this application provide a computer-readable storage medium storing a plurality of instructions that can be loaded by a processor to execute steps in any of the application running methods provided in embodiments of this application. For example, the instructions can execute the following steps:
[0206] Obtain general configuration data for running the target application. The general configuration data is the configuration data required for the target application to run on various types of devices. Based on the device attribute information of the target device, determine the modifiable configuration data for the target device from the general configuration data. The modifiable configuration data includes at least one of shader configuration data and rendering process configuration data. Update the modifiable configuration data in the general configuration data to obtain the target configuration data. Based on the target configuration data, run the target application on the target device.
[0207] For example, the process involves: acquiring general configuration data for running the target application, which includes the configuration data required for the target application to run on various types of devices; acquiring configuration modification baseline information, which indicates the device performance parameters that meet preset basic operating performance; comparing device attribute information with the configuration modification baseline information to obtain a comparison result; when the comparison result indicates that the device performance parameters of the device attribute information are lower than the device performance parameters corresponding to the configuration modification baseline information, determining modifiable configuration data from the general configuration data, which includes at least one of shader configuration data and rendering process configuration data; updating the modifiable configuration data in the general configuration data to obtain the target configuration data; and triggering the target device to run the target application based on the target configuration data, etc.
[0208] For details on the implementation of each of the above operations, please refer to the previous examples, which will not be repeated here.
[0209] The computer-readable storage medium may include: read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.
[0210] Since the instructions stored in the computer-readable storage medium can execute the steps in any of the application running methods provided in the embodiments of this application, the beneficial effects that any of the application running methods provided in the embodiments of this application can achieve can be realized, as detailed in the preceding embodiments, and will not be repeated here.
[0211] According to one aspect of this application, a computer program product or computer program is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of an electronic device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the electronic device to perform the methods provided in various alternative implementations of the above-described application running method.
[0212] The foregoing has provided a detailed description of an application running method, apparatus, electronic device, and computer-readable storage medium provided in the embodiments of this application. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, for those skilled in the art, there will be changes in specific implementation methods and application scope based on the ideas of the present invention. Therefore, the content of this specification should not be construed as a limitation of the present invention.
Claims
1. A method for running an application, characterized in that, include: Obtain general configuration data for running the target application, wherein the general configuration data is the configuration data required for the target application to run on various types of devices; Based on the device attribute information of the target device, modifyable configuration data for the target device is determined from the general configuration data. The modifyable configuration data includes at least one of shader configuration data and rendering process configuration data. The modifiable configuration data in the general configuration data is updated to obtain the target configuration data; Based on the target configuration data, the target application is run on the target device.
2. The application running method as described in claim 1, characterized in that, The step of determining modifiable configuration data for the target device from the general configuration data based on the device attribute information of the target device includes: Obtain configuration modification baseline information, which indicates the device performance parameters that meet the preset basic operating performance; The device attribute information is compared with the configuration modification baseline information to obtain the information comparison result; When the information comparison result indicates that the device performance parameters of the device attribute information are lower than the device performance parameters corresponding to the configuration modification baseline information, the modifiable configuration data is determined from the general configuration data.
3. The application running method as described in claim 1, characterized in that, The shader configuration data includes floating-point precision configuration data. The step of updating the modifiable configuration data in the general configuration data to obtain the target configuration data includes: The current floating-point precision is determined from the floating-point precision configuration data; The current floating-point precision is adjusted to the target floating-point precision to obtain the target configuration data, wherein the current floating-point precision is higher than the target floating-point precision.
4. The application running method as described in claim 1, characterized in that, The shader configuration data includes shader function configuration data. The step of updating the modifiable configuration data in the general configuration data to obtain the target configuration data includes: The current coloring function is determined from the coloring function configuration data; Based on the target computing resources of the target device, the current coloring function is adjusted to obtain target configuration data.
5. The application running method as described in claim 4, characterized in that, The current coloring function is the coloring function corresponding to the first color space. The adjustment of the current coloring function based on the target computing resources of the target device to obtain target configuration data includes: Determine a set of coloring function mappings, which includes mapping relationships between multiple computing resource levels and different coloring functions; Based on the target computing resource level corresponding to the target computing resource, the target shading function corresponding to the target device is selected from the shading function mapping set, and the target shading function is the shading function corresponding to the second color space; The current coloring function is adjusted to the target coloring function to obtain the target configuration data.
6. The application running method as described in claim 1, characterized in that, The rendering process configuration data includes read / write configuration data for video memory; The step of updating the modifiable configuration data in the general configuration data to obtain the target configuration data includes: Determine the current loading configuration parameters corresponding to the data loading operation and the current storage configuration parameters corresponding to the data storage operation from the read / write configuration data; The currently loaded configuration parameters and the currently stored configuration parameters are updated to obtain the target configuration data.
7. The application running method as described in claim 6, characterized in that, The current load configuration parameter indicates that historical data is loaded from video memory into the real-time rendering task, and the current storage configuration parameter indicates that the task data corresponding to the real-time rendering task is stored in the video memory. The step of updating the currently loaded configuration parameters and the currently stored configuration parameters to obtain the target configuration data includes: Adjust the current loading configuration parameters to the target loading configuration parameters, wherein the target loading configuration parameters indicate that loading historical data from the video memory into the real-time rendering task should be cancelled; Adjust the current storage configuration parameters to the target storage configuration parameters, wherein the target storage configuration parameters indicate that the task data corresponding to the real-time rendering task is not stored in the video memory; The target configuration data is determined based on the target loading configuration parameters and the target storage configuration parameters.
8. The application running method as described in claim 1, characterized in that, The rendering process configuration data also includes interface configuration data corresponding to multiple preset image application programming interfaces. The step of updating the modifiable configuration data in the general configuration data to obtain the target configuration data includes: Determine the target image application programming interface that meets the preset redundancy conditions from the preset image application programming interface; The target configuration data is obtained by deleting the target interface configuration data corresponding to the target image application programming interface from the interface configuration data.
9. The application running method as described in claim 8, characterized in that, The step of determining the target image application programming interface that meets the preset redundancy conditions from the preset image application programming interfaces includes: Determine the number of rendering threads for the target application on the target device; Based on the rendering thread count information, a target image application programming interface that meets the preset redundancy conditions is determined from the preset image application programming interfaces.
10. The application running method as described in claim 8, characterized in that, The step of determining the target image application programming interface that meets the preset redundancy conditions from the preset image application programming interfaces includes: Obtain a set of redundant interfaces for a single thread, the set of redundant interfaces including redundant programming interfaces corresponding to single-threaded rendering conditions; The preset image application programming interface is compared with the redundant programming interface to obtain the interface comparison result; Based on the interface comparison results, the target image application programming interface is determined from the preset image application programming interfaces.
11. The application running method as described in claim 1, characterized in that, The step of updating the modifiable configuration data in the general configuration data to obtain the target configuration data includes: Obtain a set of configuration adjustment maps for the target application, the set of configuration adjustment maps including a preset device and reference adjustment configuration data corresponding to the target application running on the preset device; The target reference adjustment configuration data corresponding to the target device is determined from the configuration adjustment mapping set; The modifiable configuration data in the general configuration data is updated to the target reference adjustment configuration data to obtain the target configuration data.
12. An application running device, characterized in that, include: The acquisition unit is used to acquire general configuration data for running the target application, wherein the general configuration data is the configuration data required for the target application to run on various types of devices; A determining unit is configured to determine, based on the device attribute information of the target device, modifiable configuration data for the target device from the general configuration data, wherein the modifiable configuration data includes at least one of shader configuration data and rendering process configuration data; An update unit is used to update the modifiable configuration data in the general configuration data to obtain the target configuration data; The execution unit is used to run the target application on the target device based on the target configuration data.
13. An electronic device, characterized in that, It includes a processor and a memory, the memory storing an application program, and the processor running the application program within the memory to perform the steps of the application running method according to any one of claims 1 to 11.
14. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the application running method according to any one of claims 1 to 11.
15. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a plurality of instructions adapted for loading by a processor to perform the steps of the application running method according to any one of claims 1 to 11.
