Rendering optimization method and system based on dynamic scheduling

Through the rendering optimization method based on dynamic scheduling, the problem that traditional optimization methods are difficult to adapt to complex scenes and lack real-time performance is solved, and more efficient rendering performance and resource utilization are achieved.

CN120014135AActive Publication Date: 2025-05-16SUZHOU IAN ANIMATION CO LTD

Patent Information

Application Number
CN202510090663.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-21
Publication Date
2025-05-16
Estimated Expiration
2045-01-21

AI Technical Summary

Technical Problem

Traditional rendering optimization methods rely on manual experience and rules, are difficult to adapt to complex and changeable scenario needs, lack global considerations, are prone to falling into local optimal solutions, and lack real-time and dynamics, and are unable to adjust optimization strategies in real time according to system load and resource usage.

Method used

The rendering optimization method based on dynamic scheduling is adopted to load scene resources into CPU memory and GPU video memory, obtain load data, and determine whether rendering optimization is required based on these data and preset optimization standards. If necessary, obtain the complexity and resource consumption data of each element in the scene resource, input it into the rendering optimization model, determine the target optimization element and its optimization plan, and schedule the hardware resources for rendering according to the optimization plan.

Benefits of technology

It improves rendering performance and user experience, optimizes the utilization of hardware resources, reduces energy consumption, improves the adaptability of the system, and realizes efficient, stable and flexible computing and rendering task scheduling.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120014135A_ABST
    Figure CN120014135A_ABST
Patent Text Reader

Abstract

The invention discloses a rendering optimization method and system based on dynamic scheduling, and belongs to the technical field of computers. The method comprises the following steps: determining whether rendering optimization is needed or not; if rendering optimization needs to be carried out, determining a target optimization element and a rendering optimization scheme of the target optimization element; determining a calculation optimization scheme of the target optimization element; and according to the rendering optimization scheme and the calculation optimization scheme, scheduling corresponding hardware resources for the target optimization element to render, and scheduling corresponding hardware resources for other elements of the scene resource by using a preset rendering scheme to render. In the scheme, rendering optimization not only improves performance and user experience, but also optimizes utilization of hardware resources, reduces energy consumption, improves adaptability of the system, and finally realizes efficient, stable and flexible calculation and rendering task scheduling. And the system can stably and efficiently run under various hardware platforms and load conditions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of computer technology, and specifically relates to a rendering optimization method and system based on dynamic scheduling. Background Art

[0002] In computer graphics, rendering is the process of converting a three-dimensional scene into a two-dimensional image. This process plays a vital role in many fields such as virtual reality, game development, animation production, architectural design, etc.

[0003] At present, rendering optimization technology has made some progress. At the hardware level, with the continuous improvement of CPU and GPU performance and the emergence of new memory technologies, more powerful hardware support is provided for rendering optimization. At the software level, various rendering engines and frameworks continue to emerge. These tools usually have built-in multiple optimization algorithms and technologies, such as level of detail technology, occlusion culling, texture compression, etc., to reduce unnecessary calculations and resource consumption.

[0004] However, traditional optimization methods often rely on manual experience and rules, which are difficult to adapt to complex and changing scenario requirements. Existing optimization methods often lack global considerations and are prone to falling into local optimal solutions. In addition, existing optimization methods often lack real-time and dynamic performance, and cannot adjust optimization strategies in real time according to system load and resource usage. Summary of the invention

[0005] The embodiments of the present application provide a rendering optimization method and system based on dynamic scheduling, which solves the problem that traditional optimization methods often rely on manual experience and rules and are difficult to adapt to complex and changing scene requirements. In addition, existing optimization methods often lack global considerations and are prone to fall into local optimal solutions. In addition, existing optimization methods often lack real-time and dynamic performance and cannot adjust optimization strategies in real time according to system load and resource usage.

[0006] In a first aspect, an embodiment of the present application provides a rendering optimization method based on dynamic scheduling, the method comprising:

[0007] Loading scene resources into CPU memory and GPU video memory, obtaining CPU load data, GPU load data and memory load data, and determining whether rendering optimization is required according to the CPU load data, GPU load data, memory load data and preset optimization standards;

[0008] If rendering optimization is required, obtain the complexity data and resource consumption data of each element in the scene resources, input the CPU load data, GPU load data, memory load data, complexity data and resource consumption data into the preset rendering optimization model, and determine the target optimization element and the rendering optimization plan for the target optimization element;

[0009] Obtain the computing requirement data of the target optimization element, input the CPU load data, GPU load data, memory load data, and computing requirement data into a preset rendering optimization model, and determine the computing optimization solution for the target optimization element;

[0010] The target optimization element is rendered by scheduling the corresponding hardware resources according to the rendering optimization scheme and the computing optimization scheme, and other elements of the scene resources are rendered by scheduling the corresponding hardware resources using a preset rendering scheme.

[0011] Furthermore, after scheduling the corresponding hardware resources for rendering the target optimization element according to the rendering optimization scheme and the computing optimization scheme, and scheduling the corresponding hardware resources for rendering other elements of the scene resources using the preset rendering scheme, the method further includes:

[0012] Every time a preset evaluation time interval is reached, CPU load data, GPU load data, and memory load data are re-acquired, and whether rendering optimization is required is determined according to the re-acquired CPU load data, GPU load data, memory load data, and a preset optimization standard;

[0013] If rendering optimization is required, the complexity data and resource consumption data of each element in the scene resources are re-acquired, and the re-acquired CPU load data, GPU load data, memory load data, complexity data, and resource consumption data are input into the preset rendering optimization model to re-determine the target optimization element and the rendering optimization plan of the target optimization element;

[0014] Re-acquire the computing requirement data of the target optimization element, input the re-acquired CPU load data, GPU load data, memory load data, and computing requirement data into a preset rendering optimization model, and re-determine the computing optimization plan of the target optimization element;

[0015] According to the rendering optimization scheme and the computing optimization scheme, the target optimization elements are scheduled to use corresponding hardware resources for rendering, and other elements of the scene resources are scheduled to use corresponding hardware resources for rendering using a preset rendering scheme until the rendering of the scene resources is completed.

[0016] Furthermore, before scheduling the corresponding hardware resources for rendering the target optimized elements according to the rendering optimization scheme and the computing optimization scheme, and scheduling the corresponding hardware resources for rendering other elements of the scene resources using the preset rendering scheme, the method further includes:

[0017] Determine whether the scene resource includes multiple tracks, and if the scene resource includes multiple tracks, determine the audio track and the visual track of the scene resource; wherein the number of the visual track is at least one; and the number of the audio track is at least one;

[0018] Determining an audio track sampling rate for each audio track and an audio track timestamp at each preset audio sampling point, and determining a visual track timestamp at each preset visual sampling point for each visual track;

[0019] Matching each preset audio sampling point with each preset visual sampling point to obtain a sampling point pair, and calculating delay data of each audio track and each visual track at each sampling point pair according to the audio track timestamp and the visual track timestamp;

[0020] According to the audio track sampling rate, audio track timestamp, visual track timestamp, delay data and a preset synchronization error calculation formula, the synchronization error data of each audio track and each visual track is calculated, and each audio track and each visual track are synchronized according to the synchronization error data.

[0021] Furthermore, the preset synchronization error calculation formula is:

[0022]

[0023] Among them, S e is the synchronization error data; i is the index of the preset sampling point; n is the number of preset sampling points; T audio,i is the audio track timestamp at the i-th sampling point of the audio track; T target,i is the visual trajectory timestamp at the i-th sampling point; R i is the audio track sampling rate; α is the preset audio synchronization accuracy weighting coefficient, which is used to adjust the relative importance of the synchronization error between the audio track and the visual track; D i Delayed data.

[0024] Furthermore, after scheduling the corresponding hardware resources for rendering the target optimization element according to the rendering optimization scheme and the computing optimization scheme, and scheduling the corresponding hardware resources for rendering other elements of the scene resources using the preset rendering scheme, the method further includes:

[0025] Obtaining real-time resource consumption data, real-time temperature data, real-time load data, real-time power consumption data, and a preset maximum power consumption tolerance of each hardware resource, and calculating a total energy efficiency coefficient according to the real-time resource consumption data, real-time load data, real-time temperature data, real-time power consumption data, the preset maximum power consumption tolerance, and a preset energy efficiency coefficient calculation formula of each hardware resource;

[0026] If the total energy efficiency coefficient is lower than the preset energy efficiency coefficient threshold, the real-time resource consumption data, real-time temperature data, real-time load data, real-time power consumption data and the preset maximum power consumption tolerance of each hardware resource are input into the preset optimization model to determine the target optimized hardware resources and the optimization plan for the target optimized hardware resources, and the target optimized hardware resources are optimized according to the optimization plan.

[0027] Furthermore, the preset energy efficiency coefficient calculation formula is:

[0028]

[0029] Among them, E opt is the total energy efficiency coefficient; n is the number of hardware resources; i is the index of each hardware resource; R i is the real-time resource consumption data of the i-th hardware resource; L i is the real-time load data of the i-th hardware resource; T i is the real-time temperature data of the i-th hardware resource; P i is the real-time power consumption data of the i-th hardware resource; M i is the preset maximum power consumption tolerance of the ith hardware resource; β is the preset temperature-power consumption adjustment coefficient.

[0030] Furthermore, after calculating the total energy efficiency coefficient, the method further includes:

[0031] If the total energy efficiency coefficient is greater than the preset energy efficiency coefficient threshold, the real-time resource consumption data, real-time temperature data, real-time load data, real-time power consumption data and the preset maximum power consumption tolerance of each hardware resource are re-acquired after each preset collection time interval. The total energy efficiency coefficient is updated according to the re-acquired real-time resource consumption data, real-time load data, real-time temperature data, real-time power consumption data, the preset maximum power consumption tolerance and the preset energy efficiency coefficient calculation formula of each hardware resource, and when the total energy efficiency coefficient is lower than the preset energy efficiency coefficient threshold, the target optimized hardware resources and the optimization plan for the target optimized hardware resources are re-determined, and the target optimized hardware resources are optimized according to the optimization plan until the rendering of the scene resources is completed.

[0032] In a second aspect, an embodiment of the present application provides a rendering optimization system based on dynamic scheduling, the system comprising:

[0033] A data acquisition module is used to load scene resources into the CPU memory and the GPU video memory, obtain CPU load data, GPU load data and memory load data, and determine whether rendering optimization is required according to the CPU load data, GPU load data, memory load data and preset optimization standards;

[0034] An optimization scheme determination module is used to obtain the complexity data and resource consumption data of each element in the scene resources if rendering optimization is required, input the CPU load data, GPU load data, memory load data, complexity data and resource consumption data into a preset rendering optimization model, and determine the target optimization element and the rendering optimization scheme of the target optimization element;

[0035] The optimization module is used to obtain the computing requirement data of the target optimization element, input the CPU load data, GPU load data, memory load data, and computing requirement data into a preset rendering optimization model, and determine the computing optimization plan of the target optimization element;

[0036] The rendering module is used to schedule the corresponding hardware resources for rendering the target optimization elements according to the rendering optimization scheme and the computing optimization scheme, and to schedule the corresponding hardware resources for rendering other elements of the scene resources using a preset rendering scheme.

[0037] In a third aspect, an embodiment of the present application provides an electronic device, which includes a processor, a memory, and a program or instruction stored in the memory and executable on the processor, wherein the program or instruction, when executed by the processor, implements the steps of the method described in the first aspect.

[0038] In a fourth aspect, an embodiment of the present application provides a readable storage medium, on which a program or instruction is stored, and when the program or instruction is executed by a processor, the steps of the method described in the first aspect are implemented.

[0039] In an embodiment of the present application, scene resources are loaded into CPU memory and GPU video memory, CPU load data, GPU load data and memory load data are obtained, and whether rendering optimization is required is determined based on the CPU load data, GPU load data, memory load data and preset optimization standards; if rendering optimization is required, complexity data and resource consumption data of each element in the scene resources are obtained, and the CPU load data, GPU load data, memory load data, complexity data and resource consumption data are input into a preset rendering optimization model to determine a target optimization element and a rendering optimization scheme for the target optimization element; computing requirement data of the target optimization element is obtained, and the CPU load data, GPU load data, memory load data and computing requirement data are input into a preset rendering optimization model to determine a computing optimization scheme for the target optimization element; according to the rendering optimization scheme and the computing optimization scheme, the target optimization element is scheduled to render corresponding hardware resources, and other elements of the scene resources are rendered using the hardware resources corresponding to the preset rendering scheme. Through the above rendering optimization method based on dynamic scheduling, rendering optimization not only improves performance and user experience, but also optimizes the utilization of hardware resources, reduces energy consumption, and improves the adaptability of the system, and finally realizes efficient, stable and flexible computing and rendering task scheduling, ensuring that the system can run stably and efficiently under various hardware platforms and load conditions. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] Figure 1 It is a flowchart of a rendering optimization method based on dynamic scheduling provided in Example 1 of the present application;

[0041] Figure 2 It is a flowchart of a rendering optimization method based on dynamic scheduling provided in Embodiment 2 of the present application;

[0042] Figure 3 It is a structural diagram of a rendering optimization system based on dynamic scheduling provided in Example 3 of the present application;

[0043] Figure 4 It is a schematic diagram of the structure of the electronic device provided in Example 4 of the present application. DETAILED DESCRIPTION

[0044] In order to make the purpose, technical scheme and advantages of the present application clearer, the specific embodiments of the present application are further described in detail below in conjunction with the accompanying drawings. It is understood that the specific embodiments described herein are only used to explain the present application, rather than to limit the present application. It should also be noted that, for the convenience of description, only the part related to the present application but not all the contents are shown in the accompanying drawings. Before discussing the exemplary embodiments in more detail, it should be mentioned that some exemplary embodiments are described as processes or methods depicted as flow charts. Although the flow chart describes each operation (or step) as a sequential process, many of the operations therein can be implemented in parallel, concurrently or simultaneously. In addition, the order of each operation can be rearranged. The process can be terminated when its operation is completed, but it can also have additional steps not included in the accompanying drawings. The process can correspond to a method, a function, a procedure, a subroutine, a subprogram, etc.

[0045] The following will be combined with the drawings in the embodiments of the present application to clearly describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments in the present application belong to the scope of protection of this application.

[0046] The terms "first", "second", etc. in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described here, and the objects distinguished by "first", "second", etc. are generally of one type, and the number of objects is not limited. For example, the first object can be one or more. In addition, "and / or" in the specification and claims represents at least one of the connected objects, and the character " / " generally indicates that the objects associated with each other are in an "or" relationship.

[0047] In combination with the accompanying drawings, an RSMC chip, a chip multi-stage startup method and a Beidou communication navigation device provided in the embodiments of the present application are described in detail through specific embodiments and their application scenarios.

[0048] Embodiment 1

[0049] Figure 1 is a flowchart of a rendering optimization method based on dynamic scheduling provided in Example 1 of the present application. Figure 1 As shown, the specific steps include:

[0050] S101, loading scene resources into CPU memory and GPU video memory, obtaining CPU load data, GPU load data and memory load data, and determining whether rendering optimization is required according to the CPU load data, GPU load data, memory load data and preset optimization standards.

[0051] First of all, the usage scenario of this solution can be to monitor the load data of CPU, GPU and memory in real time, combine the complexity of scene resources and resource consumption, and use the preset rendering optimization model to determine the target optimization elements and their optimization solutions, aiming to improve rendering efficiency and resource utilization. At the same time, targeted calculation optimization is performed on the target optimization elements to ensure the overall rendering quality and performance of the scene.

[0052] Based on the above usage scenarios, it can be understood that the execution subject of the present application can be a rendering optimization system based on dynamic scheduling, and no excessive limitations are made here.

[0053] In this solution, scene resources can be various data or objects that make up the entire scene in 3D rendering, game development or graphics applications. It contains all the elements of the scene, such as 3D models: including characters, buildings, objects, etc. Texture resources: pictures or materials used in the scene. Lighting information: light source configuration in the scene. Animation data: motion information of characters or objects. Audio data: background music, sound effects, etc. Physical calculation data: physical effects such as gravity and collision detection. These resources will be loaded from storage into memory during rendering for processing and rendering.

[0054] CPU memory can be system memory (RAM), which is the main storage in the computer and can be quickly accessed by the CPU. It is used to store temporary data when the program is running, which can include the data of the currently executing program, operating system data, cached rendering data such as 3D models in the scene, temporary calculation data, etc. During the rendering process, CPU memory will store rendering-related resources for the CPU to quickly access.

[0055] GPU video memory can be a dedicated memory for graphics cards, used to store data related to graphics processing, such as texture maps: texture images used on the surface of scene objects. Vertex data: geometric information used to render 3D models. Render target data: such as image data in the rendering frame buffer. GPU calculation results: some graphics or calculation processing results, such as lighting, shadow effects, etc. The size and bandwidth of video memory directly affect rendering performance and image quality.

[0056] CPU load data can indicate the proportion of computing resources occupied by the CPU in rendering tasks, usually measured by CPU utilization (such as a percentage). High load may indicate that the CPU is overworked, causing performance bottlenecks.

[0057] GPU load data can indicate the workload of the GPU in processing rendering tasks, such as the GPU usage rate. A large amount of calculation and graphics processing in rendering will consume GPU resources, and excessive load may affect the frame rate or rendering quality.

[0058] Memory load data can indicate the usage of system memory or video memory, usually as a percentage of memory usage. Excessive memory load will cause data swapping and performance degradation.

[0059] The preset optimization criteria refer to indicators used to evaluate rendering performance and resource utilization efficiency, and when these indicators reach a certain threshold, optimization is required. In this solution, the preset optimization criteria can be that when any of the CPU load data, GPU load data, and memory load data exceeds the corresponding preset load threshold, it is considered that the preset optimization criteria is met.

[0060] The loading of scene resources usually includes textures, 3D models, animation data, audio data, etc. The loading process requires reading these data from the hard disk or other storage devices into the CPU memory. You can use a graphics engine (such as Unity, UnrealEngine) or a custom loader developed to read the resources in the scene. When reading data, store the resources in the memory in an appropriate data structure (for example, texture data is stored as Texture2D, and model data is stored as Mesh). Resources can be loaded on demand, or the entire scene can be loaded at once, depending on the complexity of the scene and the hardware configuration. The GPU video memory stores data that needs to be accessed quickly during the rendering process, usually textures, vertex data, rendering cache, etc. Data that needs to be loaded from the CPU memory to the GPU video memory. Upload texture, model, material and other data to the video memory through the GPU API (such as OpenGL, DirectX or Vulkan). For 3D models, upload vertex data (such as position, normal, UV coordinates, etc.) to the video memory by calling GPU instructions. For textures, upload image files or texture data to the GPU through the corresponding API. CPU load data can be obtained through system monitoring tools or APIs. For example: In Windows, you can use Windows PerformanceCounters or PSAPI library to get the current CPU usage. In Linux, you can get the CPU usage through the / proc / stat file or use the top command. In MacOS, use the sysctl API to get the CPU usage. GPU load data is generally obtained through the API provided by the GPU manufacturer. For example: NVIDIA provides NVML (NVIDIA Management Library) and NVIDIA-smi tools to query GPU usage, memory usage, temperature, etc. AMD provides Radeon□Pro tools, or OpenCL code can query GPU load. Vulkan and DirectX also provide interfaces for querying GPU load. Memory load can be obtained through the operating system API: On Windows, you can use the GlobalMemoryStatusEx API to query the current total memory, free memory, used memory, etc. In Linux, you can use the free command or / proc / meminfo file to get memory usage. On MacOS, use the sysctl or top command to get memory usage. Based on the obtained CPU load data, GPU load data, and memory load data, as well as the preset optimization criteria, determine whether rendering optimization is needed.

[0061] S102: If rendering optimization is required, obtain the complexity data and resource consumption data of each element in the scene resources, input the CPU load data, GPU load data, memory load data, complexity data and resource consumption data into a preset rendering optimization model, and determine the target optimization element and the rendering optimization plan for the target optimization element.

[0062] Elements can be the various components in the scene, which can be different objects, resources or rendering units in the scene.

[0063] Complexity data can be an indicator used to describe the computational burden when modeling each element in the scene. These data reflect the amount of computing resources required to render each element. Specifically, it can include the complexity of the 3D model: including the number of polygons, texture resolution, material complexity, etc. The complexity of the light source: including the number of light sources, light source types (point light sources, spotlights, parallel lights, etc.), lighting calculation complexity, etc. Animation complexity: involves the number of bones, animation frames, animation types, etc. The complexity of special effects: such as particle systems, real-time shadows, reflections, etc.

[0064] Resource consumption data can be used to describe the consumption of hardware resources by each scene element or rendering task. Specifically, resource consumption data may include: CPU resource consumption: for example, the CPU time or the number of CPU cores used to process geometric calculations, animation calculations, and AI calculations. GPU resource consumption: including GPU time for texture loading and rendering processing (such as rendering vertices, fragments, lighting calculations, etc.). Memory resource consumption: memory consumption includes memory usage of scene data (such as textures, models, animations, etc.). Video memory resource consumption: GPU video memory consumption, including data such as storage of textures, materials, and rendering caches.

[0065] The preset rendering optimization model can be an algorithm or system designed according to the characteristics of scene resources, load data and rendering targets, which is used to guide how to select the optimization model. The preset rendering optimization model may use the following algorithms: Rule engine: optimize according to some fixed rules, such as automatically switching to a lower Level of Detail (LOD) model when the number of polygons exceeds a certain threshold. Machine learning model: use historical data to train a model on how to optimize according to load and complexity data. Heuristic algorithm: search for the optimal rendering configuration based on some heuristic methods, such as simulated annealing or genetic algorithms.

[0066] Target optimization elements can be those that have been identified as having a significant impact on rendering performance by analyzing load and complexity data. For example, this can include high-complexity models: 3D models with too many polygons or elements with high-resolution textures. Excessive light sources or light sources with high computational complexity: such as multiple dynamic light sources or shadows and reflections that need to be calculated in real time. Animated elements: For example, complex animations may lead to an increased computational burden, especially when real-time calculations are required for each frame. Special effects: Complex particle systems or dynamic shadows, etc. will put a lot of pressure on the GPU and CPU.

[0067] Rendering optimization solutions can be specific improvement measures formulated for target optimization elements, with the goal of reducing resource consumption and improving performance by adjusting rendering configuration or algorithms. For example, it can include reducing the number of polygons of the model (Level of Detail): For distant objects, reduce their polygon count and use low-complexity models for rendering. Optimize texture resolution: For objects far away from the viewpoint, use low-resolution textures to reduce video memory consumption. Reduce the number of light sources or enable light source merging: For complex scenes, reduce the number of active light sources, or merge multiple light sources into a single light source for calculation. Enable deferred rendering: For scenes with a large number of light sources and shadows, use deferred rendering technology to reduce the number of light source calculations. Optimize animation calculations: For unimportant animation elements, the amount of calculation can be reduced by reducing the update frequency or enabling skeletal animation compression. Reduce special effect calculations: For example, simplify the particle system or reduce complex calculations such as reflection and refraction.

[0068] Complexity data is related to the amount of computation and rendering difficulty of each element in the scene. These data can usually be estimated or measured during scene construction and rendering. Complexity data of 3D models: Number of polygons: The complexity of a 3D model is usually proportional to its number of polygons. The number of polygons can be extracted through the mesh information of the model. How to obtain: Get the number of polygons of the model through the API in the 3D modeling tool (such as Blender, Maya) or engine (such as Unity, Unreal Engine). Model hierarchy: Complex hierarchies (such as multi-level parent-child relationships) increase computational complexity. The complexity of the model can be obtained by analyzing the hierarchy depth or the number of parent-child relationships of the model. How to obtain: Get it from the transformation matrix or bone hierarchy of the model. Complexity data of materials and textures: Texture resolution: High-resolution textures will take up more video memory and require higher computing resources when rendering. You can obtain its resolution information by analyzing the texture file of the material. How to obtain: Get the resolution of the texture through the material shader (Shader) or the metadata of the texture file. Rendering characteristics of the material: such as whether reflection, refraction, lighting calculation, etc. are used. These characteristics will increase the computational complexity. How to obtain: Infer the complexity of the material by analyzing its properties (such as whether reflection is turned on, whether real-time lighting is used, etc.). : Complexity data of light sources Number and type of light sources: The types of light sources in the scene (point light sources, spotlights, parallel lights, etc.) and the number of light sources will affect the rendering performance, especially the light sources that need to calculate shadows and lighting in real time. How to obtain: Count the number and type of light sources through the scene's lighting management system. Complexity data of animation and special effects: Number of skeletal animations: If a 3D model uses skeletal animation, the number of bones and the number of animation frames will affect the computational complexity. How to obtain: Obtain complexity through 3D animation data (such as the number of bones, the number of key frames, etc.). Particle systems and special effects: Dynamic effects such as particle systems, fluids, and smoke usually require more computing resources. How to obtain: Analyze the number of particle systems, the number of particles, and the computational requirements of dynamic special effects in the scene.

[0069] Resource consumption data is related to the usage of CPU, GPU and memory. These data need to be monitored dynamically during the rendering process in order to obtain the resource consumption of each element in real time. CPU consumption data: CPU time: The rendering of each element usually consumes a certain amount of CPU time, especially in complex scenes, where the CPU needs to handle tasks such as physical simulation and AI calculation. How to obtain: You can use performance analysis tools (such as Intel VTune, gprof) or operating system APIs (such as psutil) to obtain the CPU time occupied by the rendering of each element. GPU consumption data: GPU load: The rendering load of the GPU is usually proportional to the rendering complexity of each element. Especially when dealing with a large number of models, special effects and light sources, the consumption of the GPU will increase significantly. How to obtain: Use the monitoring tools provided by the GPU manufacturer (such as NVIDIA's nvidia-smi, AMD's radeon-profile) or GPU APIs (such as OpenGL, DirectX, Vulkan) to obtain the real-time load data of the GPU. GPU video memory usage: Textures, models and other rendering resources in the scene will occupy video memory. Video memory consumption is usually closely related to texture size, model complexity and the amount of rendering data. Acquisition method: Monitor the usage of video memory through GPU API (such as CUDA, OpenCL, Vulkan) or GPU driver tools. Memory consumption data: Memory usage: Memory consumption data involves the occupation of scene resources (such as textures, models, light source data, etc.) in RAM. Memory consumption is usually related to the complexity of the scene and the number of dynamic elements. Acquisition method: Obtain memory usage through the operating system's memory management tools (such as psutil, top) or memory analysis tools (such as Valgrind).

[0070] Once the complexity data and resource consumption data are obtained, they can be input into the preset rendering optimization model to determine which elements need to be optimized and how to optimize them. By analyzing the input data, the rendering optimization model will identify which scene elements (such as 3D models, light sources, textures, etc.) consume too much computing resources or have rendering bottlenecks during the rendering process and need to be optimized. For each target optimization element, the model will give specific optimization suggestions.

[0071] S103, obtaining the computing requirement data of the target optimization element, inputting the CPU load data, GPU load data, memory load data, and computing requirement data into a preset rendering optimization model, and determining the computing optimization solution of the target optimization element.

[0072] The computational requirements data can be the computational resources required by the target optimization element during the rendering process. These resources can be described by different metrics, including CPU computation requirements: CPU clock cycles: the CPU computational cycle requirements of each element during the rendering process. CPU thread occupancy: the CPU thread occupancy of each element during rendering (for example, whether multi-threaded parallel computing is required). CPU computing time: the CPU time consumed by the rendering process of each element, reflecting the CPU computing requirements of the element.

[0073] GPU computing requirements: GPU computing unit utilization: for example, the utilization of GPU hardware units such as floating point calculations and matrix operations. GPU computing time: the GPU computing time consumed when rendering each element. GPU memory bandwidth requirements: the demand for GPU memory bandwidth when rendering elements, especially when it comes to high-resolution textures and complex models.

[0074] Memory computing requirements: Memory read and write frequency: The frequency of reading and writing elements to memory during rendering, especially for the processing of large-scale data (such as scene resources and textures). Memory access mode: The access mode of memory when elements are rendered, whether they frequently access the cache or exchange data. Memory bandwidth requirements: Especially when rendering high-resolution textures or high-complexity models, the amount of memory bandwidth required directly affects performance.

[0075] The computing optimization solution can be an optimization measure proposed for the computing requirements of the target optimization element. The goal of the computing optimization solution is to reduce the consumption of computing resources and optimize rendering performance. Specifically, it can include CPU optimization solutions: Multithreading optimization: assign rendering tasks to more CPU cores or threads to improve parallel computing capabilities. Task scheduling optimization: reasonably distribute the CPU workload to avoid overloading a certain thread or core and improve overall processing efficiency. Algorithm optimization: optimize the rendering algorithm, such as using more efficient lighting calculations, reducing irrelevant calculations, and reducing CPU burden.

[0076] GPU optimization solutions: GPU parallel computing: Use the powerful parallel processing capabilities of the GPU to optimize computationally intensive tasks, such as lighting, shadows, and particle system calculations. Texture compression and resolution adjustment: Reduce GPU computing and memory bandwidth requirements by compressing textures, reducing texture resolution, and reducing the level of detail. GPU memory optimization: Optimize data transmission and reduce GPU memory bandwidth bottlenecks, which may include using texture mapping and LOD (Level of Detail) technology to reduce rendering complexity.

[0077] Memory optimization solution: Memory allocation optimization: Reduce memory usage and allocate memory reasonably to avoid memory overflow or frequent memory swapping. Cache optimization: Reduce memory access latency and improve memory read and write efficiency by optimizing the memory cache mechanism. Data locality optimization: Improve memory access efficiency and reduce memory bandwidth pressure by reasonably arranging data structure and data access order.

[0078] The computing demand data of the target optimization elements can be collected. Specifically, the resource consumption during the rendering process can be monitored: the CPU, GPU, and memory usage can be collected in real time through the rendering engine and hardware monitoring tools. Analyze the performance of the rendering task: analyze the rendering time of each element to determine its computing requirements. For example, which elements require a large amount of computing resources or which elements have too high power consumption. Then input these computing demand data into the preset rendering optimization model. These data can be used as input features of the model. The model will predict the rendering optimization plan for each element based on these input data, combined with historical training data and optimization strategies. The model generates corresponding computing optimization plans based on the input computing demand data and existing optimization strategies. Specifically, it can include selecting appropriate computing resources: selecting CPU, GPU or memory for optimization, and selecting the most suitable hardware for load distribution based on computing demand data. Adjust algorithms and computing processes: for example, optimize the work distribution between CPU and GPU, reduce unnecessary calculations, reduce memory swaps, etc. Adjust rendering parameters: for example, dynamically adjust the level of detail and accuracy of the scene to reduce the use of computing resources.

[0079] The model training steps are:

[0080] First, historical data needs to be collected and annotated. This step is to train a model that can effectively predict and optimize rendering and computing performance. The collected historical data should include CPU load data, GPU load data, memory load data, complexity data, resource consumption data, and computing demand data. Data annotation is an indispensable part of the model learning process, ensuring that the system can derive the correct optimization plan based on the input data. The annotation content should include the annotation of target optimization elements: identifying which scene elements need to be optimized under specific conditions. These conditions are usually related to resource load, complexity, and performance bottlenecks (such as frame rate drop, delay increase, etc.). For example, when the GPU load exceeds the set threshold, the element is marked as the target optimization element. Annotation of rendering optimization plan: For the target optimization element, the rendering optimization measures to be taken are marked. Annotation of computing optimization plan: For the target optimization element, the computing optimization measures to be taken are marked. Then remove missing or invalid samples to ensure the accuracy of the data. For data of different dimensions (such as CPU load, GPU load, complexity data, etc.), normalization is performed. Normalization ensures that the scale of each data is consistent, and prevents some data from affecting the training results of the model due to excessive or small scale. Then select features that are useful for rendering optimization, such as load data, complexity data, computing requirements, etc. It may be necessary to construct some new features, such as load change rate, resource consumption ratio, etc. These new features help the model better understand the trends and patterns in the data. Then select a suitable machine learning model based on the target task. Possible choices include: Regression model: used to predict the effect of rendering or computing optimization solutions, especially for numerical outputs (such as optimized rendering time, resource usage, etc.). Classification model: used to determine which optimization measures should be taken. For example, based on the input data, it is determined whether to choose "reduce texture resolution" or "enable multithreading". Reinforcement learning model: If rendering optimization is a dynamic decision-making process (for example, adjusting the rendering strategy in real time according to frame rate changes), reinforcement learning (RL) may be a suitable choice. Input the preprocessed data into the model for training. The input data usually includes CPU load data, GPU load data, memory load data, complexity data, resource consumption data, computing requirement data, etc. The training goal is to let the model learn the pattern of determining the rendering optimization scheme and the computing optimization scheme based on these input data. During training, use the labeled optimization scheme as a supervisory signal to ensure that the model can output the correct optimization strategy when encountering specific load conditions. Then use the validation set to evaluate the performance of the model to check whether the model accurately predicts the optimization scheme. Tune the model based on the validation results and adjust the hyperparameters to improve the accuracy and generalization ability of the model. Use some common evaluation indicators to verify the effectiveness of the model: Accuracy: whether the model can accurately predict the rendering and computing optimization schemes. Recall rate: whether the model can identify all elements that need to be optimized.F1-score: Comprehensively evaluates the accuracy and recall rate of the model. Finally, the trained model is deployed to the rendering system, and real-time data such as load, complexity, and resource consumption from the system are received.

[0081] S104: Scheduling corresponding hardware resources for rendering the target optimization element according to the rendering optimization scheme and the computing optimization scheme, and scheduling corresponding hardware resources for rendering other elements of the scene resources using a preset rendering scheme.

[0082] Hardware resources can refer to the computing and storage resources required for rendering operations, which can include: CPU resources: including the computing power, memory bandwidth, cache, etc. of the processor, which are responsible for processing the computing tasks in the rendering process. GPU resources: including the computing unit, video memory, graphics processing unit (GPU), etc. of the graphics card, which are specifically used to accelerate graphics rendering and parallel computing. Memory resources: including main memory, video memory, etc., which store data in the rendering process, such as textures, geometric data, frame buffers, etc.

[0083] The preset rendering scheme can be divided into two parts: Rendering part: refers to how to complete image rendering by setting different rendering qualities, lighting models, detail levels, etc. Computing part: involves the allocation of computing resources, such as how to allocate computing tasks of the CPU and GPU, and which algorithms to use to optimize the computing efficiency of the rendering process.

[0084] Although the computing optimization scheme is closely related to rendering, it is not a direct part of rendering, but an optimization method to support rendering operations. The rendering optimization scheme mainly focuses on how to improve rendering effects and visual quality by optimizing resource usage during the rendering process (such as the details, quality, speed, etc. of graphics rendering), while the computing optimization scheme focuses on how to improve rendering computational efficiency and avoid unnecessary computational overhead. Treating rendering optimization and computing optimization as separate optimization schemes can achieve different optimization goals more clearly. Rendering optimization focuses on graphics quality, visual effects, etc., while computing optimization focuses on the scheduling of hardware resources and task allocation, etc. Rendering optimization and computing optimization are two independent optimization levels, and they may be adjusted separately according to different load conditions. For example, in some cases, optimizing rendering quality may lead to increased computing requirements. At this time, the computing optimization scheme can balance the load and avoid performance degradation. The adjustment of computing optimization and rendering optimization needs to be dynamically adjusted according to multiple factors such as hardware resources and scene complexity. Therefore, treating the two separately can more flexibly deal with different performance bottlenecks.

[0085] The corresponding hardware resources (CPU, GPU, memory) can be scheduled according to the rendering optimization scheme and the computing optimization scheme. For example, computing optimization may require that rendering tasks be assigned to more GPU cores, while rendering optimization may require reducing texture quality to reduce GPU load. For other elements in the scene, the preset rendering scheme is used for hardware resource scheduling. For example, for elements that do not need to be optimized, continue to render according to the preset scheme. For example, a 3D game is being developed and its scene needs to be rendered and optimized. The game scene contains multiple elements, such as buildings, trees, characters, roads, etc. Each element in the scene has different complexity and resource consumption: Buildings: highly complex 3D models with high-resolution textures and complex lighting calculations, consuming a lot of GPU and memory resources. Trees: medium complexity, consuming less resources. Characters: more complex, consuming more GPU resources, especially animation and physics calculations. The system combines these data (such as resource consumption, complexity, etc.) with the load data of the CPU, GPU, and memory, and inputs them into the rendering optimization model for calculation. The model determines which scene elements need to be optimized based on the input resource consumption data, complexity data, and hardware load data. For example: Building: Due to its high complexity and resource consumption, it is selected as the target optimization element. Trees and people: Their resource consumption is relatively low, so they do not need to be optimized. The rendering optimization model outputs the rendering optimization plan: Building: Reduce the detail level of the building, use low-resolution textures, and reduce shadow calculations. Trees: Remain unchanged because its resource consumption is within an acceptable range. For the selected target optimization element (such as a building), the system obtains its computing demand data: The computing demand data of the building: includes information such as lighting calculation, shadow processing, and collision detection. These calculations consume CPU and GPU resources, especially when rendering with high quality. The rendering optimization model determines how to optimize the calculation based on the computing demand data of the target optimization element and the CPU, GPU, and memory load data. The calculation optimization plan may include: Reducing the calculation accuracy: Reducing the accuracy of lighting and shadow calculations when rendering buildings, and reducing the amount of GPU calculations. Delayed rendering: Postponing some complex calculations until high real-time performance is not required during the rendering process to reduce the burden of real-time calculations. According to the rendering optimization plan, the system begins to reduce the rendering details of the target optimization element (such as a building) and reduces the burden on the CPU and GPU by optimizing the calculation plan. For example, the details of the building may be adjusted from a high-polygon model to a low-polygon model, or a low-resolution texture may be used. For other elements that do not need to be optimized (such as trees and people), the system continues to render according to the preset rendering scheme without any adjustment.

[0086] In an embodiment of the present application, scene resources are loaded into CPU memory and GPU video memory, CPU load data, GPU load data and memory load data are obtained, and whether rendering optimization is required is determined based on the CPU load data, GPU load data, memory load data and preset optimization standards; if rendering optimization is required, complexity data and resource consumption data of each element in the scene resources are obtained, and the CPU load data, GPU load data, memory load data, complexity data and resource consumption data are input into a preset rendering optimization model to determine a target optimization element and a rendering optimization scheme for the target optimization element; computing requirement data of the target optimization element is obtained, and the CPU load data, GPU load data, memory load data and computing requirement data are input into a preset rendering optimization model to determine a computing optimization scheme for the target optimization element; according to the rendering optimization scheme and the computing optimization scheme, the target optimization element is scheduled to render corresponding hardware resources, and other elements of the scene resources are rendered using the hardware resources corresponding to the preset rendering scheme. Through the above rendering optimization method based on dynamic scheduling, rendering optimization not only improves performance and user experience, but also optimizes the utilization of hardware resources, reduces energy consumption, and improves the adaptability of the system, and finally realizes efficient, stable and flexible computing and rendering task scheduling, ensuring that the system can run stably and efficiently under various hardware platforms and load conditions.

[0087] On the basis of the above technical solution, optionally, after scheduling the corresponding hardware resources for rendering the target optimization element according to the rendering optimization solution and the computing optimization solution, and scheduling the corresponding hardware resources for rendering other elements of the scene resources using the preset rendering solution, the method further includes:

[0088] Every time a preset evaluation time interval is reached, CPU load data, GPU load data, and memory load data are re-acquired, and whether rendering optimization is required is determined according to the re-acquired CPU load data, GPU load data, memory load data, and a preset optimization standard;

[0089] If rendering optimization is required, the complexity data and resource consumption data of each element in the scene resources are re-acquired, and the re-acquired CPU load data, GPU load data, memory load data, complexity data, and resource consumption data are input into the preset rendering optimization model to re-determine the target optimization element and the rendering optimization plan of the target optimization element;

[0090] Re-acquire the computing requirement data of the target optimization element, input the re-acquired CPU load data, GPU load data, memory load data, and computing requirement data into a preset rendering optimization model, and re-determine the computing optimization plan of the target optimization element;

[0091] According to the rendering optimization scheme and the computing optimization scheme, the target optimization elements are scheduled to use corresponding hardware resources for rendering, and other elements of the scene resources are scheduled to use corresponding hardware resources for rendering using a preset rendering scheme until the rendering of the scene resources is completed.

[0092] In this solution, the preset evaluation time interval may refer to the time interval at which the system performs performance evaluation and optimization decision-making at regular intervals during the rendering process. This time interval is preset by the system and dynamically adjusted according to changes in hardware load and the requirements of the rendering task. Its purpose is to ensure that the system can be regularly optimized according to the load and resource conditions to ensure long-term stable operation.

[0093] In each preset evaluation time interval, the load data of the CPU, GPU, and memory can be first re-acquired, and based on these data and the preset optimization criteria, it can be determined whether rendering optimization is required. If optimization is required, the system will re-acquire the complexity and resource consumption data of each element in the scene resources, and then input these data and the re-acquired hardware load data into the preset rendering optimization model to determine the target elements that need to be optimized and their optimization plans. At the same time, the system will also obtain the computing requirement data of the target optimization elements, and input these data together with the hardware load data into the rendering optimization model to re-determine the computing optimization plan for the target elements. Finally, according to the rendering optimization plan and the computing optimization plan, the hardware resources are scheduled for rendering, and the optimized scene elements and other elements are scheduled for rendering according to the preset rendering plan. Hardware resources are scheduled until the rendering of the entire scene resources is completed.

[0094] In this solution, by regularly obtaining hardware load data and optimizing rendering and computing according to optimization criteria, we can ensure that the system always maintains optimal performance under various conditions, improve user experience, save hardware resources and energy consumption, and extend the life of the device. This optimization strategy is crucial to improving the efficiency, stability, and response speed of large-scale rendering systems.

[0095] On the basis of the above technical solution, optionally, after scheduling the corresponding hardware resources for rendering the target optimization element according to the rendering optimization solution and the computing optimization solution, and scheduling the corresponding hardware resources for rendering other elements of the scene resources using the preset rendering solution, the method further includes:

[0096] Obtaining real-time resource consumption data, real-time temperature data, real-time load data, real-time power consumption data, and a preset maximum power consumption tolerance of each hardware resource, and calculating a total energy efficiency coefficient according to the real-time resource consumption data, real-time load data, real-time temperature data, real-time power consumption data, the preset maximum power consumption tolerance, and a preset energy efficiency coefficient calculation formula of each hardware resource;

[0097] If the total energy efficiency coefficient is lower than the preset energy efficiency coefficient threshold, the real-time resource consumption data, real-time temperature data, real-time load data, real-time power consumption data and the preset maximum power consumption tolerance of each hardware resource are input into the preset optimization model to determine the target optimized hardware resources and the optimization plan for the target optimized hardware resources, and the target optimized hardware resources are optimized according to the optimization plan.

[0098] In this solution, the real-time resource consumption data may be the amount of resources currently consumed by each hardware resource.

[0099] The real-time temperature data may be the current temperature of each hardware resource. Too high a temperature may cause the hardware to overheat and reduce its performance or cause hardware damage.

[0100] Real-time load data reflects the working intensity of each hardware resource in a specific period of time. Load is usually closely related to the usage of system resources.

[0101] Real-time power consumption data can refer to the amount of electrical energy consumed by each hardware resource, usually expressed in watts (W). Each hardware resource has different power consumption requirements, and real-time power consumption data can reflect the power consumption of the device.

[0102] The preset maximum power consumption tolerance can be the maximum power value that the hardware resource is allowed to consume at a certain point in time. It means that the hardware resource can operate normally without exceeding this power consumption.

[0103] The total energy efficiency coefficient can be an energy efficiency evaluation for the entire system, reflecting the energy efficiency of the system during operation, taking into account the collaborative work of all hardware resources. When calculating, it will comprehensively consider factors such as hardware resource consumption, load, temperature, and then come up with an overall energy efficiency value. If this value is lower than the preset energy efficiency threshold, the system may need to be optimized.

[0104] The preset energy efficiency coefficient threshold can be the energy efficiency standard specified by the system. If the calculated total energy efficiency coefficient is greater than this threshold, it means that the hardware is running efficiently, otherwise optimization measures may need to be taken.

[0105] The preset optimization model can be a model based on historical data, rules or machine learning to predict and optimize the configuration of hardware resources. The model automatically adjusts the configuration of hardware resources according to the real-time status of the hardware (such as power consumption, temperature, load, etc.) to improve its overall energy efficiency.

[0106] The target optimization hardware resource may be a hardware resource that needs to be optimized. It may be a single hardware resource (such as a CPU) or multiple hardware resources (such as a CPU, memory, etc.). Usually, this depends on indicators such as the load and power consumption of the hardware resource.

[0107] The optimization scheme for optimizing hardware resources can be a specific optimization strategy generated according to a preset optimization model. For example, optimization scheme 1: reduce CPU frequency and power consumption while keeping system performance unaffected. Optimization scheme 2: optimize memory management and reduce memory resource consumption.

[0108] Real-time data of hardware resources can be obtained through hardware monitoring tools, sensors or operating system interfaces. Specifically, real-time resource consumption data: CPU: can be obtained through tools provided by the operating system (such as top, htop in Linux, or TaskManager in Windows). Memory: Use similar tools to obtain the current memory usage. You can obtain memory usage through free or top commands (Linux). Storage: You can view disk usage through df (Linux) or dir (Windows) commands.

[0109] Real-time temperature data: CPU / GPU temperature: Modern hardware usually has built-in temperature sensors. Use lm-sensors (Linux) or other hardware monitoring software to obtain temperature data. Hard disk temperature: You can use tools such as smartmontools (Linux) to obtain hard disk temperature.

[0110] Real-time load data: CPU load: Use tools such as uptime or top in Linux to view the current CPU load. On Windows, you can view it through Task Manager. Memory load: Use the free or top command to view the memory load. Network load: Use tools such as ifstat, nload (Linux) or Resource Monitor (Windows) to view network bandwidth utilization.

[0111] Real-time power consumption data: Power consumption monitoring usually requires specialized hardware monitoring tools (such as power monitors) or supported hardware (such as tools provided by Intel Power Gadget or NVIDIA-smi). If the hardware supports it, real-time power consumption data can be obtained through the API.

[0112] Default maximum power consumption tolerance: This data is usually provided by the hardware manufacturer or can be found in the hardware's technical specifications. For example, the maximum power consumption of the CPU, GPU, or power supply unit is usually specified in the hardware's documentation.

[0113] Then, the real-time resource consumption data, real-time load data, real-time temperature data, real-time power consumption data, and preset maximum power consumption tolerance of each hardware resource are input into the preset energy efficiency coefficient calculation formula to obtain the total energy efficiency coefficient. If the total energy efficiency coefficient is lower than the preset energy efficiency coefficient threshold, the preset optimization model is used to improve energy efficiency. The input data of the preset optimization model are the real-time resource consumption data, real-time temperature data, real-time load data, real-time power consumption data, and maximum power consumption tolerance of each hardware. The model will evaluate which hardware resource's performance is not up to standard based on the real-time data and may need to be optimized. For example, if the CPU load is high and the temperature is too high, it may be a target that needs to be optimized. Then determine the optimization plan for the target optimized hardware resource, for example, reduce the CPU load by adjusting task scheduling, optimizing code, reducing computing intensity, and the like. Finally, perform optimization operations, such as reducing the power consumption or temperature of hardware resources with low energy efficiency by optimizing system scheduling, reducing hardware frequency, adjusting load distribution, and the like, until the total energy efficiency coefficient exceeds the preset energy efficiency coefficient threshold.

[0114] The model training steps are:

[0115] During the training process, historical data must first be collected, including real-time data of each hardware resource and the corresponding optimization results. This data will be used to train the model in order to predict the energy efficiency coefficient and optimize it according to the preset threshold. The input data includes real-time resource consumption data, real-time load data, real-time temperature data, real-time power consumption data, and the preset maximum power consumption tolerance.

[0116] Label data:

[0117] Targeted optimization of hardware resources: The model predicts which hardware resources need to be optimized. Tags may include hardware resource IDs (such as CPU, GPU, memory, etc.), indicating which hardware resources are beyond the normal working range and need to be optimized.

[0118] Target optimization of hardware resources: For each hardware resource, an optimization plan is formulated, such as reducing power consumption, adjusting load, optimizing heat dissipation, reducing frequency, etc.

[0119] After collecting and cleaning the data, you can select a suitable machine learning algorithm for training. Commonly used models include decision trees, random forests, support vector machines, neural networks, etc. In this task, it is recommended to use a multi-objective regression model or a classification model, because the model not only needs to predict hardware resources, but also give an optimization plan. The input data of the model usually includes information such as real-time resource consumption, load, temperature, power consumption, etc., organized into a vector or matrix format X = [real-time resource consumption data, real-time load data, real-time temperature data, real-time power consumption data, preset maximum power consumption tolerance]. The label data will be divided into two parts: Target optimization hardware resources: This is a classification label indicating the hardware resources that need to be optimized. Optimization plan for target optimization hardware resources: This is a regression or classification label that describes how to optimize these hardware resources. Then use historical data (including input data and label data) for training. The model learns the relationship between input data and labels, predicts which hardware resources need to be optimized, and how to optimize them. Use standard training methods such as back propagation (for neural networks) or least squares (for regression problems) to train and optimize the parameters of the model. Use cross-validation or holdout method to evaluate model performance. Common evaluation indicators include accuracy, mean square error (MSE), etc. If the optimization scheme is a classification task, use confusion matrix, precision, recall, etc. to evaluate the model; if it is a regression task, use R□ or mean square error to evaluate. After training and validating the model, new real-time data can be used for prediction.

[0120] In this solution, real-time data is used to dynamically optimize the configuration of hardware resources, which can not only improve system energy efficiency and reduce operating costs, but also enhance system reliability, stability and long-term sustainability.

[0121] Based on the above technical solution, an optional, preset energy efficiency coefficient calculation formula is:

[0122]

[0123] Among them, E opt is the total energy efficiency coefficient; n is the number of hardware resources; i is the index of each hardware resource; R i is the real-time resource consumption data of the i-th hardware resource; L i is the real-time load data of the i-th hardware resource; T i is the real-time temperature data of the i-th hardware resource; P i is the real-time power consumption data of the i-th hardware resource; M i is the preset maximum power consumption tolerance of the ith hardware resource; β is the preset temperature-power consumption adjustment coefficient.

[0124] Based on the above technical solution, optionally, after calculating the total energy efficiency coefficient, the method further includes:

[0125] If the total energy efficiency coefficient is greater than the preset energy efficiency coefficient threshold, the real-time resource consumption data, real-time temperature data, real-time load data, real-time power consumption data and the preset maximum power consumption tolerance of each hardware resource are re-acquired after each preset collection time interval. The total energy efficiency coefficient is updated according to the re-acquired real-time resource consumption data, real-time load data, real-time temperature data, real-time power consumption data, the preset maximum power consumption tolerance and the preset energy efficiency coefficient calculation formula of each hardware resource, and when the total energy efficiency coefficient is lower than the preset energy efficiency coefficient threshold, the target optimized hardware resources and the optimization plan for the target optimized hardware resources are re-determined, and the target optimized hardware resources are optimized according to the optimization plan until the rendering of the scene resources is completed.

[0126] In this solution, the preset collection time interval can refer to the time interval for re-acquiring the real-time data of hardware resources and updating the total energy efficiency coefficient each time when the system performs the optimization step. It is a fixed time period used to control the frequency of data collection and the update cycle to ensure that resource monitoring and optimization are performed within a reasonable time.

[0127] When the total energy efficiency coefficient is greater than the preset energy efficiency coefficient threshold, the real-time resource consumption, real-time temperature, real-time load, real-time power consumption data of each hardware resource and the preset maximum power consumption tolerance can be re-acquired after each preset collection time interval. Based on the re-acquired data and the preset energy efficiency coefficient calculation formula, the system will update the total energy efficiency coefficient. When the total energy efficiency coefficient is lower than the preset energy efficiency coefficient threshold, the system will re-determine the hardware resources that need to be optimized, and adjust and optimize the target hardware resources according to the optimization plan. This process will continue until the optimization plan is executed and the rendering of the scene resources is successfully completed, ensuring that the system maintains the overall energy efficiency level while optimizing the performance of hardware resources.

[0128] In this solution, by continuously monitoring and optimizing the use of hardware resources, the system can be ensured to operate at the best energy efficiency in each time period. This not only helps to reduce power consumption, but also improves the efficiency of hardware resource use and extends the service life of the equipment.

[0129] Embodiment 2

[0130] Figure 2 is a flow chart of a rendering optimization method based on dynamic scheduling provided in the second embodiment of the present application. Figure 2 As shown, the specific steps include:

[0131] S201, load scene resources into CPU memory and GPU video memory, obtain CPU load data, GPU load data and memory load data, and determine whether rendering optimization is needed based on the CPU load data, GPU load data, memory load data and preset optimization standards.

[0132] S202: If rendering optimization is required, obtain the complexity data and resource consumption data of each element in the scene resources, input the CPU load data, GPU load data, memory load data, complexity data and resource consumption data into a preset rendering optimization model, and determine the target optimization element and the rendering optimization plan for the target optimization element.

[0133] S203, obtaining the computing requirement data of the target optimization element, inputting the CPU load data, GPU load data, memory load data, and computing requirement data into a preset rendering optimization model, and determining the computing optimization solution of the target optimization element.

[0134] S204, determining whether the scene resource includes multiple tracks. If the scene resource includes multiple tracks, determining the audio track and the visual track of the scene resource; wherein the number of the visual track is at least one; and the number of the audio track is at least one.

[0135] An audio track can be an independent audio data stream related to the sounds in a scene. Each audio track contains a specific sound or audio signal, which may include environmental sound effects, character dialogue, background music, special sound effects, etc.

[0136] Visual tracks can be independent data streams of images or video content in a scene, and are usually used to describe the presentation, animation, transition, or image change of visual elements. Specifically, they can include camera tracks, character animation tracks, and other dynamic element tracks. Among them, the camera track can describe the changes in the camera's perspective, including the dynamic changes in the camera's position, rotation angle, focal length, etc. The camera track affects the perspective and lens performance in the scene, and is a key factor in determining the user's viewing experience. The character animation track can be animation data related to the character, including the character's movement (such as walking, running, jumping, etc.), and other animations related to the character (such as facial expressions, gestures, and the movement of decorations). In addition to cameras and characters, there are many dynamic elements in the scene (such as objects, environmental changes, etc.), and the dynamic changes of these elements also need to be controlled by tracks. These dynamic elements may include non-human characters, changes in scene backgrounds, environmental special effects, physical changes in objects, etc.

[0137] The case of multiple tracks means that the sum of the audio tracks and the visual tracks is greater than one. The scene resources can be scanned to obtain all dynamic element data related to time. All dynamic data are classified by type: audio elements, visual elements. Traverse all audio elements in the scene (such as sound sources, background music, voice dialogues, etc.), check the time information of these elements (playback start, end, position change, etc.), and determine the number of audio tracks. If there are multiple audio sources in the scene, it is determined that the number of audio tracks is multiple. Scan all dynamic elements related to vision (such as cameras, characters, objects, special effects, etc.). Determine whether each dynamic element contains time change data (such as position, rotation angle, animation frame change, etc.). Identify the respective visual tracks based on these data. If there is at least one camera track or character animation track in the scene, the number of visual tracks is at least one. Next, determine whether there are other visual element tracks (such as object movement tracks, dynamic changes in the environment, etc.). If the scene resource contains multiple audio tracks, classify them as audio tracks. If the scene resource contains multiple visual tracks, classify them as visual tracks. Finally, output the specific information of the audio track and the visual track, and confirm that there is at least one visual track and audio track.

[0138] S205 , determining an audio track sampling rate of each audio track and an audio track timestamp at each preset audio sampling point, and determining a visual track timestamp at each preset visual sampling point of each visual track.

[0139] The audio track sampling rate can refer to the frequency at which the audio signal is sampled in the audio track data, usually expressed in Hertz (Hz). It describes the number of times the audio signal is sampled per second. A higher sampling rate can capture more audio details, but it also increases storage requirements and processing overhead.

[0140] Preset audio sampling points can refer to pre-defined time nodes used to synchronize audio tracks. These sampling points are usually used for operations such as alignment and timestamp comparison. Preset sampling points may be based on specific time intervals or specific moments when events occur.

[0141] The audio track timestamp may refer to the specific position (i.e., time) of each audio sample point on the time axis. These timestamps represent the offset of the audio sample point relative to the time point at which the audio track starts, usually in seconds (or milliseconds).

[0142] Preset visual sampling points can be time nodes used to synchronize visual tracks. These sampling points can be important events or keyframes based on the visual content, ensuring that the visual track is sampled at specific time points. Preset sampling points for visual tracks can be selected to be sampled within a specific time period (e.g. once per second) or when specific animation events or changes occur.

[0143] The visual track timestamp can indicate the time position of each visual sampling point. The visual track timestamp indicates the specific moment of the visual element (such as camera view, character animation, etc.) on the timeline. The visual track timestamp is usually also a time point relative to the beginning of the visual content, and the unit is usually seconds. For example, there is a video scene with audio and visual tracks. The sampling rate of the audio track is 44.1kHz, while the sampling rate of the visual track is 24fps (24 frames per second). In order to synchronize audio and vision, some preset sampling points can be selected: Audio sampling point: sampled once every 1 second (such as 0s, 1s, 2s,...). Visual sampling point: sampled once per frame (such as 0s, 1 / 24s, 2 / 24s,...).

[0144] The audio track sampling rate can be obtained by reading the metadata of the audio file, checking the technical specifications of the device or system, or referring to the default settings of the relevant software platform. The preset audio sampling points can be determined based on the desired sampling interval, such as every 100 milliseconds. In this case, a sampling interval of 100 milliseconds means that the audio track data will be recorded every 0.1 second. In order to calculate the timestamp, the time position of each sampling point can be calculated based on the sampling rate of the audio. For example, when the sampling rate is 44100Hz, the timestamp will be every 1 / 44100 seconds, or 22.68 microseconds. Based on this information, the timestamp of each audio sample point can be calculated one by one according to the set sampling point interval. The sampling points and timestamps of the visual track are also similar to the audio track. The visual track timestamp records the state of the visual element (such as an image frame, an object state, or an animation) at a specific moment. The sampling points of the visual track are usually determined based on the video frame rate (for example, 30 or 60 frames per second). If the frame rate of the video is 30 frames per second, the time interval between each frame is 1 / 30 second, or 33.33 milliseconds. The visual track timestamp can be calculated based on the number of frames and frame rate of the video. For example, the timestamp of the first frame is 0 seconds, the timestamp of the second frame is 1 / 30 seconds, the timestamp of the third frame is 2 / 30 seconds, and so on. If you need to set the visual track sampling point to 100 millisecond intervals, you can choose to sample every few frames to keep synchronization with the audio sampling.

[0145] S206, matching each preset audio sampling point with each preset visual sampling point to obtain a sampling point pair, and calculating delay data of each audio track and each visual track at each sampling point pair according to the audio track timestamp and the visual track timestamp.

[0146] The sampling point pair can be a matching pair between each preset sampling point in the audio track and the visual track. Specifically, the audio track and the visual track have their own sampling points (timestamps) in the time dimension. When the audio sampling points are aligned with the visual sampling points in time, a sampling point pair is formed.

[0147] The delay data may refer to the time difference between the audio track and the visual track at a certain pair of sampling points. That is, given a certain pair of sampling points, the delay data may be obtained by calculating the difference in their timestamps.

[0148] For each audio track and each visual track, we first need to obtain their respective sampling timestamps. The timestamp of the audio track is determined by the audio sampling point, and the timestamp of the visual track is determined by the visual sampling point. Since the audio and visual sampling points are usually not completely aligned (especially in time), it is necessary to define a matching strategy to determine how to match the audio and visual sampling points. A common method is to match by the principle of closest time. For example, given an audio sampling point T_audio, the visual sampling point T_visual closest to T_audio can be found, thus forming a sampling point pair. If the timestamps of the audio and visual are very different, an interpolation method can be used to generate an intermediate timestamp and find a more suitable match. For example, a new timestamp can be generated by linear interpolation to make it close to the timestamps of the two tracks. Once the match of each audio sampling point with the corresponding visual sampling point (i.e., the sampling point pair) is determined, the delay data can be calculated based on their timestamps. Specifically, the delay data can be obtained by subtracting their timestamps.

[0149] S207, calculating the synchronization error data of each audio track and each visual track according to the audio track sampling rate, the audio track timestamp, the visual track timestamp, the delay data and a preset synchronization error calculation formula, and synchronizing each audio track with each visual track according to the synchronization error data.

[0150] The synchronization error data can be a value obtained by calculating and weighted summing the delay data of each sampling point pair, which represents the time difference between the audio track and the visual track. This data can reflect the degree of synchronization between the audio track and the visual track.

[0151] The audio track sampling rate, audio track timestamp, visual track timestamp, and delay data can be substituted into the preset synchronization error calculation formula to obtain the synchronization error data of each audio track and each visual track, and then three different synchronization error thresholds can be set: slight adjustment threshold, medium adjustment threshold, and forced adjustment threshold. Each threshold corresponds to a different degree of adjustment. For example, there is a scene resource that includes an audio track and a visual track, and each track has timestamps at multiple sampling points. The synchronization error has been calculated, and several different thresholds have been set for adjustment: synchronization error ≤ 10: no adjustment is required. 10< synchronization error ≤ 20: slight adjustment. 20< synchronization error ≤ 50: medium adjustment. Synchronization error> 50: forced adjustment. After each synchronization error calculation, the corresponding adjustment method is selected according to the error size, and the synchronization error is recalculated according to the adjustment result. Until the synchronization error meets the specified threshold standard, it is considered that each audio track and each visual track are synchronized. If the first synchronization error has been calculated, the synchronization error data = 18, select slight adjustment, and the new synchronization error data after adjustment = 8, no need to adjust again. Specifically, a minor adjustment solution may include when the synchronization error is small, usually only a small adjustment is needed, the purpose is to refine the synchronization to minimize the error. Minor adjustments may include: Small timestamp offset: By adjusting the timestamps of the audio or visual track to optimize the alignment of the two. This adjustment is generally a fine-tuning and will not change the track to a large extent. For example, the timestamp of the audio track is adjusted to move forward or backward by tens of milliseconds to align the visual track. Small interpolation or filtering: Without destroying the overall smoothness, the data of some frames is fine-tuned using interpolation technology or filtering methods to make the video and audio match more accurately. For example, the audio track is interpolated to ensure the continuity of the audio and align it with the visual track. Medium adjustment solutions may include a larger range of timestamp adjustments: A more significant time offset is applied to the audio or visual track to reduce the synchronization error. For example, the audio track may be advanced or delayed by hundreds of milliseconds as a whole. For example, if the visual track is advanced, the audio track may need to be delayed to better align with the visual track. Frame resampling or frame dropping: When the synchronization error is large, frame resampling or frame dropping may be required, especially on the video track. By adding or removing frames, the audio and video are aligned as closely as possible on the timeline. For example, the audio can be trimmed to remove unnecessary frames, or the visual track can be interpolated to smooth the transition. Forced adjustments can include resynchronizing the entire audio and visual tracks: If the error is too large, the entire audio or video track may need to be resynchronized to match through a complete time realignment. For example, the audio track may need to be offset in time by a large range, or the audio track's playback speed may need to be adjusted to better align with the visual track.Use more complex algorithms for compensation: More complex time synchronization algorithms, such as Dynamic Time Warping (DTW), can be used to globally synchronize audio and visual tracks. For example, the DTW algorithm is used to calculate the optimal matching path between the audio and visual tracks, and the algorithm automatically adjusts the alignment of the audio and video content. Resampling or time compression of audio or visual content: For cases with large errors, more complex time compression or expansion techniques may be needed to resample or adjust the audio or visual tracks to reduce the error. For example, by dynamically adjusting the audio playback speed, the duration of the audio track is changed to match the visual track.

[0152] If there are multiple audio tracks and multiple visual tracks, each audio track and each visual track should be calculated using the above method, and the synchronization error between each audio track and each visual track should be calculated and adjusted separately until all tracks meet the minimum threshold requirement.

[0153] On the basis of the above technical solution, optionally, the preset synchronization error calculation formula is:

[0154]

[0155] Among them, S e is the synchronization error data; i is the index of the preset sampling point; n is the number of preset sampling points; T audio,i is the audio track timestamp at the i-th sampling point of the audio track; T target,i is the visual trajectory timestamp at the i-th sampling point; R i is the audio track sampling rate; α is the preset audio synchronization accuracy weighting coefficient, which is used to adjust the relative importance of the synchronization error between the audio track and the visual track; D i Delayed data.

[0156] S208: Scheduling corresponding hardware resources for rendering the target optimization element according to the rendering optimization scheme and the computing optimization scheme, and scheduling corresponding hardware resources for rendering other elements of the scene resources using a preset rendering scheme.

[0157] In this embodiment, the synchronization accuracy of multimodal data can be effectively improved, errors can be reduced, and user experience can be enhanced, while providing a high-quality data foundation for subsequent analysis and processing.

[0158] Embodiment 3

[0159] Figure 3 Schematic diagram of the structure of the rendering optimization system based on dynamic scheduling provided in the third embodiment of the present application. Figure 3 As shown, specifically including:

[0160] The data acquisition module 301 is used to load scene resources into the CPU memory and the GPU display memory, obtain CPU load data, GPU load data and memory load data, and determine whether rendering optimization is required according to the CPU load data, GPU load data, memory load data and a preset optimization standard;

[0161] The optimization scheme determination module 302 is used to obtain the complexity data and resource consumption data of each element in the scene resources if rendering optimization is required, input the CPU load data, GPU load data, memory load data, complexity data and resource consumption data into a preset rendering optimization model, and determine the target optimization element and the rendering optimization scheme of the target optimization element;

[0162] The optimization module 303 is used to obtain the computing requirement data of the target optimization element, input the CPU load data, GPU load data, memory load data, and computing requirement data into a preset rendering optimization model, and determine the computing optimization solution of the target optimization element;

[0163] The rendering module 304 is used to schedule the corresponding hardware resources for rendering the target optimization element according to the rendering optimization scheme and the computing optimization scheme, and to schedule the corresponding hardware resources for rendering other elements of the scene resources using a preset rendering scheme.

[0164] The rendering optimization system based on dynamic scheduling provided in the embodiment of the present application can achieve Figure 1 To avoid repetition, the various processes implemented by the method embodiment are not described here.

[0165] Embodiment 4

[0166] like Figure 4 As shown, an embodiment of the present application also provides an electronic device 400, including a processor 401, a memory 402, and a program or instruction stored in the memory 402 and executable on the processor 401. When the program or instruction is executed by the processor 401, each process of the above-mentioned rendering optimization method based on dynamic scheduling is implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.

[0167] It should be noted that the electronic devices in the embodiments of the present application include the mobile electronic devices and non-mobile electronic devices mentioned above.

[0168] Embodiment 5

[0169] An embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, each process of the above-mentioned cable installation process based on the tension adaptive control system embodiment is implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.

[0170] The processor is a processor in the electronic device described in the above embodiment. The readable storage medium includes a computer readable storage medium, such as a computer read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0171] It should be noted that, in this article, the term "comprises", "includes" or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, article or system including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or system. In the absence of further restrictions, the elements defined by the sentence "including one..." do not exclude the existence of other identical elements in the process, method, article or system including the element. In addition, it should be pointed out that the scope of the method and system in the embodiment of the present application is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in reverse order according to the functions involved, for example, the described method may be performed in an order different from that described, and various steps may also be added, omitted, or combined. In addition, the features described with reference to certain examples may be combined in other examples.

[0172] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a computer software product, which is stored in a storage medium (such as ROM / RAM, a disk, or an optical disk), and includes a number of instructions for a terminal (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present application.

[0173] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.

[0174] The above are only preferred embodiments of the present application and the technical principles used. The present application is not limited to the specific embodiments described herein, and various obvious changes, readjustments and substitutions that can be made by those skilled in the art will not deviate from the scope of protection of the present application. Therefore, although the present application is described in more detail through the above embodiments, the present application is not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of the present application, and the scope of the present application is determined by the scope of the claims.

Claims

1. A rendering optimization method based on dynamic scheduling, characterized in that: The method comprises: Loading scene resources into CPU memory and GPU video memory, obtaining CPU load data, GPU load data and memory load data, and determining whether rendering optimization is required according to the CPU load data, GPU load data, memory load data and preset optimization standards; If rendering optimization is required, obtain the complexity data and resource consumption data of each element in the scene resources, input the CPU load data, GPU load data, memory load data, complexity data and resource consumption data into the preset rendering optimization model, and determine the target optimization element and the rendering optimization plan for the target optimization element; Obtain the computing requirement data of the target optimization element, input the CPU load data, GPU load data, memory load data, and computing requirement data into a preset rendering optimization model, and determine the computing optimization solution for the target optimization element; The target optimization element is rendered by scheduling the corresponding hardware resources according to the rendering optimization scheme and the computing optimization scheme, and other elements of the scene resources are rendered by scheduling the corresponding hardware resources using a preset rendering scheme.

2. The rendering optimization method based on dynamic scheduling according to claim 1, characterized in that: After scheduling the corresponding hardware resources for rendering the target optimization element according to the rendering optimization scheme and the computing optimization scheme, and scheduling the corresponding hardware resources for rendering other elements of the scene resources using the preset rendering scheme, the method further includes: Every time a preset evaluation time interval is reached, CPU load data, GPU load data, and memory load data are re-acquired, and whether rendering optimization is required is determined according to the re-acquired CPU load data, GPU load data, memory load data, and a preset optimization standard; If rendering optimization is required, the complexity data and resource consumption data of each element in the scene resources are re-acquired, and the re-acquired CPU load data, GPU load data, memory load data, complexity data, and resource consumption data are input into the preset rendering optimization model to re-determine the target optimization element and the rendering optimization plan of the target optimization element; Re-acquire the computing requirement data of the target optimization element, input the re-acquired CPU load data, GPU load data, memory load data, and computing requirement data into a preset rendering optimization model, and re-determine the computing optimization plan of the target optimization element; According to the rendering optimization scheme and the computing optimization scheme, the target optimization elements are scheduled to use corresponding hardware resources for rendering, and other elements of the scene resources are scheduled to use corresponding hardware resources for rendering using a preset rendering scheme until the rendering of the scene resources is completed.

3. The rendering optimization method based on dynamic scheduling according to claim 1, characterized in that: Before scheduling the corresponding hardware resources for rendering the target optimization element according to the rendering optimization scheme and the computing optimization scheme, and scheduling the corresponding hardware resources for rendering other elements of the scene resources using the preset rendering scheme, the method further includes: Determine whether the scene resource includes multiple tracks, and if the scene resource includes multiple tracks, determine the audio track and the visual track of the scene resource; wherein the number of the visual track is at least one; and the number of the audio track is at least one; Determining an audio track sampling rate for each audio track and an audio track timestamp at each preset audio sampling point, and determining a visual track timestamp at each preset visual sampling point for each visual track; Matching each preset audio sampling point with each preset visual sampling point to obtain a sampling point pair, and calculating delay data of each audio track and each visual track at each sampling point pair according to the audio track timestamp and the visual track timestamp; According to the audio track sampling rate, audio track timestamp, visual track timestamp, delay data and a preset synchronization error calculation formula, the synchronization error data of each audio track and each visual track is calculated, and each audio track and each visual track are synchronized according to the synchronization error data.

4. The rendering optimization method based on dynamic scheduling according to claim 3, characterized in that: The preset synchronization error calculation formula is: Among them, S e is the synchronization error data; i is the index of the preset sampling point; n is the number of preset sampling points; T audio,i is the audio track timestamp at the i-th sampling point of the audio track; T target,i is the visual trajectory timestamp at the i-th sampling point; R i is the audio track sampling rate; α is the preset audio synchronization accuracy weighting coefficient, which is used to adjust the relative importance of the synchronization error between the audio track and the visual track; D i Delayed data.

5. The rendering optimization method based on dynamic scheduling according to claim 1, characterized in that: After scheduling the corresponding hardware resources for rendering the target optimization element according to the rendering optimization scheme and the computing optimization scheme, and scheduling the corresponding hardware resources for rendering other elements of the scene resources using the preset rendering scheme, the method further includes: Obtaining real-time resource consumption data, real-time temperature data, real-time load data, real-time power consumption data, and a preset maximum power consumption tolerance of each hardware resource, and calculating a total energy efficiency coefficient according to the real-time resource consumption data, real-time load data, real-time temperature data, real-time power consumption data, the preset maximum power consumption tolerance, and a preset energy efficiency coefficient calculation formula of each hardware resource; If the total energy efficiency coefficient is lower than the preset energy efficiency coefficient threshold, the real-time resource consumption data, real-time temperature data, real-time load data, real-time power consumption data and the preset maximum power consumption tolerance of each hardware resource are input into the preset optimization model to determine the target optimized hardware resources and the optimization plan for the target optimized hardware resources, and the target optimized hardware resources are optimized according to the optimization plan.

6. The rendering optimization method based on dynamic scheduling according to claim 5, characterized in that: The preset energy efficiency coefficient calculation formula is: Among them, E opt is the total energy efficiency coefficient; n is the number of hardware resources; i is the index of each hardware resource; R i is the real-time resource consumption data of the i-th hardware resource; L i is the real-time load data of the i-th hardware resource; T i is the real-time temperature data of the i-th hardware resource; P i is the real-time power consumption data of the i-th hardware resource; M i is the preset maximum power consumption tolerance of the ith hardware resource; β is the preset temperature-power consumption adjustment coefficient.

7. The rendering optimization method based on dynamic scheduling according to claim 5, characterized in that: After calculating the total energy efficiency coefficient, the method further includes: If the total energy efficiency coefficient is greater than the preset energy efficiency coefficient threshold, the real-time resource consumption data, real-time temperature data, real-time load data, real-time power consumption data and the preset maximum power consumption tolerance of each hardware resource are re-acquired after each preset collection time interval. The total energy efficiency coefficient is updated according to the re-acquired real-time resource consumption data, real-time load data, real-time temperature data, real-time power consumption data, the preset maximum power consumption tolerance and the preset energy efficiency coefficient calculation formula of each hardware resource, and when the total energy efficiency coefficient is lower than the preset energy efficiency coefficient threshold, the target optimized hardware resources and the optimization plan for the target optimized hardware resources are re-determined, and the target optimized hardware resources are optimized according to the optimization plan until the rendering of the scene resources is completed.

8. A rendering optimization system based on dynamic scheduling, characterized in that: The system comprises: A data acquisition module is used to load scene resources into the CPU memory and the GPU video memory, obtain CPU load data, GPU load data and memory load data, and determine whether rendering optimization is required according to the CPU load data, GPU load data, memory load data and preset optimization standards; An optimization scheme determination module is used to obtain the complexity data and resource consumption data of each element in the scene resources if rendering optimization is required, input the CPU load data, GPU load data, memory load data, complexity data and resource consumption data into a preset rendering optimization model, and determine the target optimization element and the rendering optimization scheme of the target optimization element; The optimization module is used to obtain the computing requirement data of the target optimization element, input the CPU load data, GPU load data, memory load data, and computing requirement data into a preset rendering optimization model, and determine the computing optimization plan of the target optimization element; The rendering module is used to schedule the corresponding hardware resources for rendering the target optimization elements according to the rendering optimization scheme and the computing optimization scheme, and to schedule the corresponding hardware resources for rendering other elements of the scene resources using a preset rendering scheme.

9. An electronic device, characterized in that: The method comprises a processor, a memory, and a program or instruction stored in the memory and executable on the processor, wherein the program or instruction, when executed by the processor, implements the steps of the rendering optimization method based on dynamic scheduling as described in any one of claims 1 to 7.

10. A readable storage medium, characterized in that: The readable storage medium stores a program or instruction, and when the program or instruction is executed by a processor, the steps of the rendering optimization method based on dynamic scheduling as described in any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Music synchronous playing method and system based on WIFI (Wireless Fidelity) protocol

    CN107733745A

  • Audio sound image optimization method and device, electronic equipment and storage medium

    CN116600242A

  • Online 3D rendering intelligent optimization system based on Web-Cloud cooperation

    CN118587347A

  • Maintaining synchronization of streaming audio and video using internet protocol

    CN1969561A

  • Audio video playback synchronization for encoded media

    US20150062353A1

Cited By

  • Real-time game image optimization method based on intelligent layered rendering

    CN120198566A

  • Digital twin platform GPU rendering resource dynamic scheduling method and system

    CN120580334A

  • A digital twin platform GPU rendering resource dynamic scheduling method and system

    CN120580334B

  • Game scene optimization method and system based on dynamic rendering

    CN120586387A

  • Unity application cloud rendering method and system and electronic equipment

    CN120849135A