A rendering optimization method and system based on dynamic scheduling
Through real-time monitoring and optimization of CPU, GPU and memory loads through dynamic scheduling methods, combined with rendering optimization models, the limitations of traditional rendering optimization methods are overcome, efficient, stable and flexible rendering task scheduling is achieved, and rendering performance and resource utilization are improved.
Patent Information
- Application Number
- CN202510090663.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-21
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2045-01-21
AI Technical Summary
Traditional rendering optimization methods rely on manual experience and are difficult to adapt to complex and changing scene requirements. They lack globality and real-time capabilities, are prone to falling into local optimal solutions, and are unable to adjust optimization strategies in real time based on system load and resource usage.
Through dynamic scheduling methods, the CPU, GPU and memory loads are monitored in real time. Combined with the complexity and resource consumption of scene resources, the rendering optimization model is used to determine the target optimization elements and their optimization solutions. Hardware resources are dynamically scheduled for rendering according to computing requirements, and the optimization strategy is adjusted in real time to improve efficiency and resource utilization.
It improves rendering performance and user experience, optimizes hardware resource utilization, reduces energy consumption, improves system adaptability and stability, and ensures efficient operation on various hardware platforms and load conditions.
Smart Images

Figure CN120014135B_ABST
Abstract
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] Rendering optimization technology has made considerable progress. On the hardware level, the continuous improvement of CPU and GPU performance, coupled with the emergence of new memory technologies, has provided stronger hardware support for rendering optimization. On the software level, a variety of rendering engines and frameworks have emerged. These tools often incorporate a variety of built-in optimization algorithms and techniques, such as level of detail (LOD), occlusion culling, and texture compression, to reduce unnecessary computation and resource consumption.
[0004] However, traditional optimization methods often rely on manual experience and rules, making them difficult to adapt to complex and ever-changing scenarios. Furthermore, existing optimization methods often lack a global perspective and are prone to falling into local optimal solutions. Furthermore, existing optimization methods often lack real-time and dynamic capabilities, making it impossible to adjust optimization strategies in real time based on 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, addressing the problem that traditional optimization methods often rely on manual experience and rules, making them difficult to adapt to complex and changing scene requirements. Furthermore, existing optimization methods often lack global considerations and are prone to falling into local optimal solutions. Furthermore, existing optimization methods often lack real-time and dynamic capabilities, and are unable to adjust optimization strategies in real time based on 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 based on the CPU load data, GPU load data, memory load data, and preset optimization criteria;
[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 the preset rendering optimization model, and determine the computing optimization plan 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 the other elements of the scene resources are rendered by scheduling the corresponding hardware resources using the preset rendering scheme.
[0011] Furthermore, after scheduling the hardware resources corresponding to the target optimization element for rendering according to the rendering optimization scheme and the computing optimization scheme, and scheduling the hardware resources corresponding to the other elements of the scene resources for rendering 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 based on the re-acquired CPU load data, GPU load data, memory load data, and preset optimization criteria;
[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 for 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 for the target optimization element;
[0015] According to the rendering optimization scheme and the computing optimization scheme, the target optimization elements are scheduled to render corresponding hardware resources, and other elements of the scene resources are rendered using the preset rendering scheme to schedule corresponding hardware resources until the rendering of the scene resources is completed.
[0016] Furthermore, before scheduling the target optimized element to render the corresponding hardware resources according to the rendering optimization scheme and the computing optimization scheme, and scheduling the other elements of the scene resources to render the corresponding hardware resources using the preset rendering scheme, the method further includes:
[0017] Determine whether the scene resource includes multiple tracks. 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 the delay data of each audio track and each visual track at each sampling point pair based on 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, 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; 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 hardware resources corresponding to the target optimization element for rendering according to the rendering optimization scheme and the computing optimization scheme, and scheduling the hardware resources corresponding to the other elements of the scene resources for rendering 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 based on 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;
[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 i-th 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 based on 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. 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 GPU display 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;
[0034] An optimization solution 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 solution for 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 the preset rendering optimization model, and determine the computing optimization plan for the target optimization element;
[0036] The rendering module is used to schedule the hardware resources corresponding to the target optimization element for rendering according to the rendering optimization scheme and the computing optimization scheme, and to schedule the hardware resources corresponding to the other elements of the scene resources using the preset rendering scheme for rendering.
[0037] In a third aspect, an embodiment of the present application provides an electronic device comprising 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. 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, and CPU load data, GPU load data and memory load data are obtained. It is determined whether rendering optimization is required based on the CPU load data, GPU load data, memory load data and preset optimization standards; if rendering optimization is required, the 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 the target optimization element and the rendering optimization scheme of the target optimization element; the 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 the computing optimization scheme of the target optimization element; the hardware resources corresponding to the target optimization element are scheduled for rendering according to the rendering optimization scheme and the computing optimization scheme, and the other elements of the scene resources are rendered using the hardware resources corresponding to the preset rendering scheme. This dynamic scheduling-based rendering optimization method not only improves performance and user experience, but also optimizes hardware resource utilization, reduces energy consumption, and improves system adaptability. Ultimately, it achieves efficient, stable, and flexible scheduling of computing and rendering tasks, ensuring stable and efficient system operation across a wide range of hardware platforms and load conditions. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] Figure 1 This is a flowchart of a rendering optimization method based on dynamic scheduling provided in Example 1 of the present application;
[0041] Figure 2 This is a flowchart of a rendering optimization method based on dynamic scheduling provided in Example 2 of the present application;
[0042] Figure 3 Schematic diagram of the structure of the rendering optimization system based on dynamic scheduling provided in Example 3 of the present application;
[0043] Figure 4 This 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 solutions 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 and are not intended to limit the present application. It should also be noted that, for ease of description, only parts related to the present application, not all of 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 charts describe 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 the operations can be rearranged. The process can be terminated when its operation is completed, but can also have additional steps not included in the accompanying drawings. The process can correspond to a method, function, procedure, subroutine, subprogram, etc.
[0045] The following will be combined with the accompanying drawings in the embodiments of the present application to clearly describe the technical solutions in the embodiments of the present application. Obviously, the embodiments described are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field are within the scope of protection of this application.
[0046] The terms "first," "second," and the like in the specification and claims of this application are used to distinguish similar objects, and are not used to describe a specific order or precedence. It should be understood that the terms used in this manner are interchangeable where appropriate, so that the embodiments of this application can be implemented in an order other than that illustrated or described herein, and that the objects distinguished by "first," "second," and the like are generally of the same type, and do not limit the number of objects; for example, the first object can be one or more. In addition, the term "and / or" in the specification and claims refers to at least one of the connected objects, and the character " / " generally indicates that the objects connected are in an "or" relationship.
[0047] Below, in conjunction with the accompanying drawings, an RSMC chip, a chip multi-stage startup method, and a Beidou communication and navigation device provided in the embodiments of the present application are described in detail through specific embodiments and their application scenarios.
[0048] Example 1
[0049] Figure 1 This is a flow chart of the rendering optimization method based on dynamic scheduling provided in Example 1 of this application. Figure 1 As shown, the specific steps include:
[0050] S101, load scene resources into CPU memory and GPU display 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.
[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 and resource consumption of scene resources, 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, and at the same time perform targeted computational optimization 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 this 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 the various data or objects that make up the entire scene in 3D rendering, game development, or graphics applications. They include all elements of the scene, such as 3D models: including characters, buildings, objects, etc. Texture resources: images or materials used in the scene. Lighting information: the configuration of light sources in the scene. Animation data: motion information of characters or objects. Audio data: background music, sound effects, etc. Physics calculation data: physical effects such as gravity and collision detection. These resources are loaded from storage into memory at rendering time for processing and rendering.
[0054] CPU memory, also known as system memory (RAM), is the primary storage in a computer and is quickly accessed by the CPU. It stores temporary data during runtime, including data from the currently executing program, operating system data, and cached rendering data, such as 3D models in a scene and temporary calculation data. During the rendering process, CPU memory stores rendering-related resources for quick CPU access.
[0055] GPU video memory is a dedicated memory on the graphics card used to store graphics-related data, such as texture maps: texture images used on the surfaces of scene objects; vertex data: geometric information used to render 3D models; render target data: image data in the rendered frame buffer; and GPU compute results: graphics or computational processing results, such as lighting and shadow effects. The size and bandwidth of video memory directly impact 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 indicates the workload of the GPU in processing rendering tasks, such as GPU utilization. Extensive computation and graphics processing in rendering consumes GPU resources, and excessive load may affect frame rate or rendering quality.
[0058] Memory load data indicates system memory or video memory usage, usually as a percentage of memory usage. Excessive memory load can lead to data swapping and performance degradation.
[0059] 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 CPU load data, GPU load data, and memory load data. When any of the data exceeds the corresponding preset load threshold, the preset optimization criteria is considered to be met.
[0060] Scene resources typically include textures, 3D models, animation data, and audio data. The loading process requires reading this data from the hard disk or other storage devices into CPU memory. Scene resources can be read using a graphics engine (such as Unity or Unreal Engine) or a custom loader. When reading data, the resources are stored in memory using appropriate data structures (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 all at once, depending on the scene's complexity and hardware configuration. GPU memory stores data that requires fast access during rendering, typically textures, vertex data, and render buffers. Data that needs to be loaded from CPU memory into GPU memory is uploaded to GPU memory using GPU APIs (such as OpenGL, DirectX, or Vulkan). For 3D models, vertex data (such as position, normals, and UV coordinates) is uploaded to GPU memory by calling GPU commands. For textures, image files or texture data are uploaded to the GPU using the corresponding APIs. CPU load data can be obtained through system monitoring tools or APIs. For example, in Windows, you can use Windows PerformanceCounters or the PSAPI library to obtain current CPU usage. In Linux, you can obtain CPU usage from the / proc / stat file or the top command. In macOS, use the sysctl API to obtain CPU usage. GPU load data is generally obtained through APIs provided by the GPU vendor. For example, NVIDIA provides the NVML (NVIDIA Management Library) and NVIDIA-smi tools to query GPU usage, memory usage, temperature, and more. AMD provides the Radeon Pro tool or OpenCL code to query GPU load. Vulkan and DirectX also provide APIs for querying GPU load. Memory load can be obtained through operating system APIs. On Windows, you can use the GlobalMemoryStatusEx API to query the current total memory, free memory, and used memory. In Linux, you can use the free command or the / proc / meminfo file to obtain memory usage. On macOS, use the sysctl or top commands to obtain memory usage. Based on the obtained CPU load, GPU load, and memory load data, as well as pre-set optimization criteria, you can determine whether rendering optimization is necessary.
[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 the 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 of 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 of each element in the scene when modeling it. 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, number of animation frames, animation type, 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 various scene elements or rendering tasks. 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 storage of textures, materials, rendering cache and other data.
[0065] The preset rendering optimization model can be an algorithm or system designed based on the characteristics of scene resources, load data and rendering targets, which is used to guide how to select an optimization solution. 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 based on 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 a significant impact on rendering performance, identified by analyzing load and complexity data. For example, these can include highly complex models: 3D models with a large number of 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 plans can be specific improvement measures formulated for target optimization elements, with the aim of reducing resource consumption and improving performance by adjusting rendering configuration or algorithms. For example, this can include reducing the number of polygons in 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, you can reduce the amount of calculations by reducing the update frequency or enabling skeletal animation compression. Reduce special effects calculations: For example, simplify the particle system or reduce complex calculations such as reflection and refraction.
[0068] Complexity data relates to the computational complexity and rendering difficulty of each element in the scene. This data can usually be estimated or measured during the scene construction and rendering process. 3D model complexity data: Polygon count: The complexity of a 3D model is generally proportional to its polygon count. The polygon count can be extracted from the model's mesh information. Acquisition method: Obtain the model's polygon count through the API in 3D modeling tools (such as Blender and Maya) or engines (such as Unity and Unreal Engine). Model hierarchy: Complex hierarchies (such as multi-level parent-child relationships) increase computational complexity. Complexity can be obtained by analyzing the model's hierarchy depth or the number of parent-child relationships. Acquisition method: Obtain from the model's transformation matrix or bone hierarchy. Material and texture complexity data: Texture resolution: High-resolution textures consume more video memory and require more computing resources when rendering. Resolution information can be obtained by analyzing the material's texture file. Acquisition method: Obtain the texture resolution through the material shader or the texture file's metadata. Material rendering characteristics: For example, whether reflection, refraction, and lighting calculations are used. These characteristics will increase the computational complexity. Acquisition method: 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 require real-time calculation of shadows and lighting. Acquisition method: 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 skeletal animation is used for a 3D model, the number of bones and the number of animation frames will affect the computational complexity. Acquisition method: 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. Acquisition method: 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 relates to CPU, GPU, and memory usage. This data needs to be monitored dynamically during rendering to obtain real-time information on resource consumption for each element. CPU Consumption Data: CPU Time: Rendering each element typically consumes a certain amount of CPU time, especially in complex scenes where the CPU needs to handle tasks such as physics simulation and AI calculations. Obtaining this information: You can use performance profiling tools (such as Intel VTune and gprof) or operating system APIs (such as psutil) to obtain the CPU time used for rendering each element. GPU Consumption Data: GPU Load: The GPU rendering load is generally proportional to the rendering complexity of each element. GPU consumption increases significantly when processing a large number of models, special effects, and lights. Obtaining this information: Use monitoring tools provided by the GPU vendor (such as NVIDIA's nvidia-smi and AMD's radeon-profile) or GPU APIs (such as OpenGL, DirectX, and Vulkan) to obtain real-time GPU load data. GPU Video Memory Usage: Textures, models, and other rendering resources in the scene consume video memory. Video memory consumption is generally closely related to texture size, model complexity, and the amount of rendered data. Obtaining information: Monitor video memory usage using GPU APIs (such as CUDA, OpenCL, and Vulkan) or GPU-driven tools. Memory usage data: Memory usage refers to the RAM usage of scene resources (such as textures, models, and light source data). Memory consumption is typically related to scene complexity and the number of dynamic elements. Obtaining information: Obtain memory usage using the operating system's memory management tools (such as psutil and top) or memory analysis tools (such as Valgrind).
[0070] Once this complexity and resource consumption data is obtained, it can be input into a pre-set 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 excessive computing resources during the rendering process or have rendering bottlenecks and require optimization. For each target optimization element, the model will provide specific optimization suggestions.
[0071] S103, obtaining computing requirement data of the target optimization element, inputting CPU load data, GPU load data, memory load data, and computing requirement data into a preset rendering optimization model, and determining a computing optimization solution for the target optimization element.
[0072] 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 computation cycle requirements of each element during the rendering process. CPU thread usage: The CPU thread usage 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 computational requirements of the element on the CPU.
[0073] GPU Compute Requirements: GPU compute unit utilization: For example, the utilization of GPU hardware units such as floating-point calculations and matrix operations. GPU Compute Time: The GPU compute time consumed when rendering each element. GPU Memory Bandwidth Requirements: The GPU memory bandwidth required when rendering elements, especially when high-resolution textures and complex models are involved.
[0074] Memory Computing Requirements: Memory read / write frequency: This refers to how often elements access memory during rendering, especially when processing large amounts of data (such as scene assets and textures). Memory access pattern: This refers to the memory access pattern of elements during rendering, indicating whether they frequently access the cache or swap data. Memory bandwidth requirements: This directly impacts performance, especially when rendering high-resolution textures or highly complex models.
[0075] A computational optimization solution can be an optimization measure proposed based on the computational requirements of the target optimization element. The goal of a computational optimization solution is to reduce the consumption of computing resources and optimize rendering performance. Specifically, it can include CPU optimization solutions: Multi-threaded optimization: assigning rendering tasks to more CPU cores or threads to improve parallel computing capabilities. Task scheduling optimization: Rationally distribute the CPU workload to avoid overloading a particular thread or core, thereby improving overall processing efficiency. Algorithm optimization: Optimizing the rendering algorithm, such as using more efficient lighting calculations and reducing irrelevant calculations, reduces the burden on the CPU.
[0076] GPU Optimization Solutions: GPU Parallel Computing: Leverages the GPU's powerful parallel processing capabilities to optimize compute-intensive tasks such as lighting, shadows, and particle system calculations. Texture Compression and Resolution Adjustment: Reduces GPU compute and memory bandwidth requirements by compressing textures, reducing texture resolution, and lowering the level of detail. GPU Memory Optimization: Optimizes data transfers to reduce GPU memory bandwidth bottlenecks. This may include using texture mapping and LOD (Level of Detail) techniques to reduce rendering complexity.
[0077] Memory Optimization: Memory allocation optimization: Reduce memory usage and allocate memory appropriately to avoid memory overflows and frequent memory swapping. Cache optimization: Reduce memory access latency and improve memory read and write efficiency by optimizing the memory caching mechanism. Data locality optimization: Improve memory access efficiency and reduce memory bandwidth pressure by rationally arranging data structures and data access order.
[0078] Computational demand data for target optimization elements can be collected. Specifically, resource consumption during the rendering process can be monitored: CPU, GPU, and memory usage can be collected in real time through the rendering engine and hardware monitoring tools. Rendering task performance analysis: The rendering time of each element is analyzed to determine its computational requirements. For example, which elements require a large amount of computing resources or have excessive power consumption? This computational demand data is then input into a pre-set rendering optimization model. This data serves as input features for the model, which, combined with historical training data and optimization strategies, predicts a rendering optimization solution for each element. Based on the input computational demand data and existing optimization strategies, the model generates a corresponding computational optimization solution. Specifically, this includes selecting appropriate computing resources: selecting the CPU, GPU, or memory for optimization. Based on the computational demand data, the most suitable hardware is selected for load distribution. Algorithms and computational processes can be adjusted: For example, work distribution between the CPU and GPU can be optimized to reduce unnecessary computation and memory swapping. Rendering parameters can be adjusted: For example, the level of detail and accuracy of the scene can be dynamically adjusted to reduce computing resource usage.
[0079] The model training steps are:
[0080] First, historical data needs to be collected and labeled. This step aims to train a model that can effectively predict and optimize rendering and compute performance. The collected historical data should include data on CPU load, GPU load, memory load, complexity, resource consumption, and compute requirements. Data labeling is an integral part of the model learning process, ensuring that the system can derive the correct optimization plan based on the input data. This labeling should include the labeling of target optimization elements: identifying which scene elements require optimization under specific conditions. These conditions are typically related to resource load, complexity, and performance bottlenecks (such as decreased frame rate and increased latency). For example, when GPU load exceeds a set threshold, the element is labeled as a target optimization element. Rendering optimization plan labeling: For each target optimization element, the rendering optimization measures to be taken are labeled. Compute optimization plan labeling: For each target optimization element, the compute optimization measures to be taken are labeled. Missing or invalid samples are then removed to ensure data accuracy. Data of different dimensions (such as CPU load, GPU load, and complexity) are normalized. Normalization ensures that all data is of consistent scale, preventing data from being overly or undersized and affecting model training results. Next, select features useful for rendering optimization, such as load data, complexity data, and computational requirements. New features, such as load change rate and resource consumption ratio, may need to be constructed to help the model better understand trends and patterns in the data. Next, select an appropriate machine learning model based on the target task. Possible options include: Regression models: These predict the effectiveness of rendering or computational optimization solutions, particularly for numerical outputs (such as optimized rendering time or resource usage). Classification models: These determine which optimization measures should be taken. For example, based on input data, they might decide whether to reduce texture resolution or enable multithreading. Reinforcement learning models: If rendering optimization requires dynamic decision-making (for example, adjusting rendering strategies in real time based on frame rate fluctuations), reinforcement learning (RL) may be a suitable option. The preprocessed data is fed into the model for training. Input data typically includes CPU load data, GPU load data, memory load data, complexity data, resource consumption data, and computational requirements data. The training goal is to enable the model to learn patterns for determining rendering and computational optimization solutions based on this input data. During training, labeled optimization solutions are used as supervisory signals to ensure that the model can output the correct optimization strategy when encountering specific load conditions. The performance of the model is then evaluated using the validation set to check whether the model accurately predicts the optimization solution. The model is tuned based on the validation results, and hyperparameters are adjusted to improve the model's accuracy and generalization ability. The effectiveness of the model is verified using some common evaluation indicators: Accuracy: Whether the model can accurately predict rendering and computational optimization solutions. Recall: Whether the model can identify all elements that need to be optimized.F1-score: Comprehensively evaluates the accuracy and recall of the model. Finally, the trained model is deployed to the rendering system, which receives real-time data on system load, complexity, resource consumption, and more.
[0081] S104: Rendering the target optimized element by scheduling the corresponding hardware resources according to the rendering optimization scheme and the computing optimization scheme, and rendering the other elements of the scene resources by scheduling the corresponding hardware resources using the preset rendering scheme.
[0082] Hardware resources refer to the computing and storage resources required for rendering operations, and can include: CPU resources: These include the processor's computing power, memory bandwidth, and cache, responsible for handling the computational tasks involved in the rendering process. GPU resources: These include the graphics card's computing unit, video memory, and graphics processing unit (GPU), specifically designed to accelerate graphics rendering and parallel computing. Memory resources: These include main memory and video memory, which store rendering data such as textures, geometry data, and frame buffers.
[0083] The preset rendering scheme can be divided into two parts: The rendering part refers to how to complete image rendering by setting different rendering qualities, lighting models, detail levels, etc. The computing part involves the allocation of computing resources, such as how to allocate computing tasks between the CPU and GPU, and which algorithms to use to optimize the computing efficiency of the rendering process.
[0084] Although compute optimization is closely related to rendering, it's not a direct component of rendering, but rather an optimization method that supports rendering operations. Rendering optimization focuses on improving rendering effects and visual quality by optimizing resource usage during the rendering process (such as the detail, quality, and speed of graphics rendering), while compute optimization focuses on improving rendering computational efficiency and avoiding unnecessary computational overhead. Treating rendering optimization and compute optimization as separate optimization schemes allows for clearer approaches to different optimization goals. Rendering optimization focuses on graphics quality and visual effects, while compute optimization focuses on hardware resource scheduling and task allocation. Rendering optimization and compute optimization are two independent optimization levels, and they may be adjusted separately based on different load conditions. For example, in some cases, optimizing rendering quality may increase computational requirements. In this case, compute optimization can balance the load and avoid performance degradation. Compute and rendering optimization adjustments need to be dynamically adjusted based on various factors, such as hardware resources and scene complexity. Therefore, treating them separately allows for more flexible response to different performance bottlenecks.
[0085] Hardware resources (CPU, GPU, and memory) can be scheduled accordingly based on the rendering and compute optimization plans. For example, compute optimization may require distributing rendering tasks to more GPU cores, while rendering optimization may require reducing texture quality to reduce GPU load. For other elements in the scene, hardware resource scheduling is performed using the preset rendering plan. For example, elements that do not require optimization continue to be rendered according to the preset plan. For example, a 3D game is being developed and its scene needs to be rendered optimally. The game scene contains multiple elements, such as buildings, trees, people, and roads. 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 significant GPU and memory resources. Trees: Moderately complex, consuming relatively few resources. People: Relatively complex, consuming significant GPU resources, especially for animation and physics calculations. The system combines this data (such as resource consumption and complexity) with CPU, GPU, and memory load data and inputs it into the rendering optimization model for calculation. Based on the input resource consumption, complexity, and hardware load data, the model determines which scene elements require optimization. For example, buildings are selected as target elements due to their high complexity and resource consumption. Trees and people, however, require relatively low resource consumption and therefore do not require optimization. The rendering optimization model outputs a rendering optimization plan: Buildings: Reduce the level of detail, use lower-resolution textures, and reduce shadow calculations. Trees: Remain unchanged, as their resource consumption is within an acceptable range. For selected target elements (such as buildings), the system obtains their computational requirements data: This includes information on lighting calculations, shadow processing, collision detection, and more. These calculations consume CPU and GPU resources, especially when rendering at high quality. The rendering optimization model determines how to optimize these calculations based on the target element's computational requirements data, as well as CPU, GPU, and memory load data. Computational optimization plans may include: Reducing computational precision: Reducing the precision of lighting and shadow calculations when rendering buildings, reducing the amount of GPU computation required. Deferred rendering: Deferring some complex computations to a time during the rendering process when real-time performance is not required, reducing the burden on real-time computations. Based on the rendering optimization plan, the system begins rendering the target element (such as the building) with lower detail and optimizes the computational plan to reduce the burden on the CPU and GPU. For example, the details of a 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 require optimization (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, and CPU load data, GPU load data and memory load data are obtained. It is determined whether rendering optimization is required 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 the target optimization element and the rendering optimization scheme of 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 the computing optimization scheme of the target optimization element; the hardware resources corresponding to the target optimization element are scheduled for rendering according to the rendering optimization scheme and the computing optimization scheme, and the corresponding hardware resources of other elements of the scene resources are scheduled for rendering using the preset rendering scheme. This dynamic scheduling-based rendering optimization method not only improves performance and user experience, but also optimizes hardware resource utilization, reduces energy consumption, and improves system adaptability. Ultimately, it achieves efficient, stable, and flexible scheduling of computing and rendering tasks, ensuring stable and efficient system operation across a wide range of hardware platforms and load conditions.
[0087] Based on the above technical solution, optionally, after scheduling the target optimized element to render the corresponding hardware resources according to the rendering optimization solution and the computing optimization solution, and scheduling the other elements of the scene resources to render the corresponding hardware 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 based on the re-acquired CPU load data, GPU load data, memory load data, and preset optimization criteria;
[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 for 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 for the target optimization element;
[0091] According to the rendering optimization scheme and the computing optimization scheme, the target optimization elements are scheduled to render corresponding hardware resources, and other elements of the scene resources are rendered using the preset rendering scheme to schedule corresponding hardware resources until the rendering of the scene resources is completed.
[0092] In this solution, the preset evaluation interval refers to the interval at which the system performs performance evaluation and optimization decisions at regular intervals during the rendering process. This interval is preset by the system and dynamically adjusted based on hardware load and rendering task requirements. Its purpose is to ensure that the system can regularly optimize based on load and resource conditions, ensuring long-term stable operation.
[0093] Within each preset evaluation time interval, the load data of the CPU, GPU, and memory can be first re-obtained, 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-obtain the complexity and resource consumption data of each element in the scene resources, and then input these data and the re-obtained hardware load data into the preset rendering optimization model to determine the target elements that need to be optimized and their optimization schemes. At the same time, the system will also obtain the computing requirement data of the target optimization elements, input these data together with the hardware load data into the rendering optimization model, and re-determine the computing optimization scheme for the target elements. Finally, according to the rendering optimization scheme and the computing optimization scheme, the hardware resources are scheduled for rendering, and the optimized scene elements and other elements are scheduled for rendering according to the preset rendering scheme. Hardware resources are scheduled for rendering until the rendering of the entire scene resources is completed.
[0094] This solution regularly collects hardware load data and optimizes rendering and computing based on optimization criteria. This ensures the system maintains optimal performance under all conditions, improving the user experience while conserving hardware resources and energy consumption, and extending the lifespan of the device. This optimization strategy is crucial for improving the efficiency, stability, and responsiveness of large-scale rendering systems.
[0095] Based on the above technical solution, optionally, after scheduling the target optimized element to render the corresponding hardware resources according to the rendering optimization solution and the computing optimization solution, and scheduling the other elements of the scene resources to render the corresponding hardware 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 based on 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;
[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] Real-time temperature data can be the current temperature of each hardware resource. Excessively high temperatures may cause the hardware to overheat and reduce its performance or cause hardware damage.
[0100] Real-time load data reflects the workload of each hardware resource within a specific time period. Load is often closely related to system resource usage.
[0101] Real-time power consumption data refers to the amount of electrical energy consumed by each hardware resource, typically expressed in watts (W). Each hardware resource has different power requirements, and real-time power consumption data can reflect the power consumption of the device during operation.
[0102] The preset maximum power tolerance can be the maximum power value that a 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 (TEC) is an energy efficiency assessment of the entire system, reflecting the system's energy efficiency during operation and taking into account the coordinated operation of all hardware resources. The calculation integrates factors such as hardware resource consumption, load, and temperature to produce an overall energy efficiency value. If this value falls below a preset energy efficiency threshold, the system may require optimization.
[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 operating efficiently. Otherwise, optimization measures may need to be taken.
[0105] The preset optimization model can be 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 based on 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 can be the hardware resource that needs to be optimized. It can be a single hardware resource (such as a CPU) or multiple hardware resources (such as a CPU, memory, etc.). Generally, this depends on indicators such as the load and power consumption of the hardware resource.
[0107] Optimization plans targeting hardware resources can be specific optimization strategies generated based on a pre-set optimization model. For example, Optimization Plan 1: Reduce CPU frequency and power consumption while maintaining system performance. Optimization Plan 2: Optimize memory management and reduce memory resource consumption.
[0108] Real-time data about hardware resources can be obtained through hardware monitoring tools, sensors, or operating system interfaces. Specifically, real-time resource consumption data includes: CPU: This can be obtained using tools provided by the operating system (such as top or htop in Linux, or TaskManager in Windows). Memory: Use similar tools to obtain current memory usage. Memory usage can be obtained using commands such as free or top (Linux). Storage: Disk usage can be viewed using the df (Linux) or dir (Windows) commands.
[0109] Real-time temperature data: CPU / GPU temperature: Modern hardware often has built-in temperature sensors. Use lm-sensors (Linux) or other hardware monitoring software to obtain temperature data. Hard disk temperature: Use tools such as smartmontools (Linux) to obtain hard disk temperature.
[0110] Real-time load data: CPU load: In Linux, use tools such as uptime or top to view the current CPU load. In Windows, use Task Manager to view this information. Memory load: Use the free or top command to view 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 typically 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 documentation.
[0113] The system then inputs the real-time resource consumption data, load data, temperature data, power consumption data, and the preset maximum power consumption tolerance for each hardware resource into a preset energy efficiency coefficient (EEC) calculation formula to obtain the total EEC. If the total EEC falls below the preset EEC threshold, a preset optimization model is used to improve energy efficiency. The preset optimization model inputs the real-time resource consumption data, temperature data, load data, power consumption data, and maximum power consumption tolerance for each hardware resource. Based on the real-time data, the model assesses which hardware resource's performance is substandard and may require optimization. For example, if the CPU load is high and the temperature is too high, this may be a target for optimization. An optimization plan is then determined for the targeted hardware resource, such as reducing CPU load by adjusting task scheduling, optimizing code, or reducing computational intensity. Finally, optimization operations are performed, such as optimizing system scheduling, reducing hardware frequency, and adjusting load distribution, to reduce the power consumption or temperature of the inefficient hardware resource until the total EEC exceeds the preset EEC threshold.
[0114] The model training steps are:
[0115] During the training process, historical data must first be collected, including real-time data on various hardware resources and corresponding optimization results. This data is used to train the model to predict the energy efficiency coefficient and optimize based on preset thresholds. Input data includes real-time resource consumption data, real-time load data, real-time temperature data, real-time power consumption data, and preset maximum power consumption tolerance.
[0116] Label data:
[0117] Targeted hardware resource optimization: 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 their normal operating range and need to be optimized.
[0118] Optimization plan for hardware resources: Develop an optimization plan for each hardware resource, such as reducing power consumption, adjusting loads, optimizing heat dissipation, or reducing frequency.
[0119] After collecting and cleaning the data, an appropriate machine learning algorithm can be selected for training. Common models include decision trees, random forests, support vector machines, and neural networks. For this task, a multi-objective regression or classification model is recommended, as the model not only needs to predict hardware resources but also provide optimization solutions. The model input data typically includes information such as real-time resource consumption, load, temperature, and power consumption, 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, and a preset maximum power consumption tolerance]. Label data is divided into two parts: Target optimized hardware resources: This is a classification label indicating the hardware resources to be optimized. Optimization solutions for target optimized hardware resources: This is a regression or classification label describing how to optimize these hardware resources. Training is then performed using historical data (comprising both input data and labeled data). The model learns the relationship between input data and labels, predicting which hardware resources require optimization and how to optimize them. Standard training methods, such as backpropagation (for neural networks) or least squares (for regression problems), are used to optimize the model parameters. Cross-validation or holdout methods are used to evaluate model performance. Common evaluation metrics include accuracy and mean squared error (MSE). If the optimization solution is for a classification task, use the confusion matrix, precision, and recall to evaluate the model. For regression tasks, use R⁵ or mean squared error. 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 not only improves system energy efficiency and reduces operating costs, but also enhances system reliability, stability and long-term sustainability.
[0121] Based on the above technical solution, the 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 i-th 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 based on 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. 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 interval refers to the time interval between each reacquisition of real-time hardware resource data and update of the overall energy efficiency coefficient during the system's optimization steps. This fixed time period controls the frequency of data collection and the update cycle, ensuring that resource monitoring and optimization are performed within a reasonable timeframe.
[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] This solution continuously monitors and optimizes hardware resource usage to ensure the system operates at optimal energy efficiency within each time period. This not only helps reduce power consumption but also improves hardware resource utilization and extends the life of the equipment.
[0129] Example 2
[0130] Figure 2 This is a flow chart of the 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 the preset rendering optimization model, and determine the target optimization element and the rendering optimization plan for the target optimization element.
[0133] S203, obtaining computing requirement data of the target optimization element, inputting CPU load data, GPU load data, memory load data, and computing requirement data into a preset rendering optimization model, and determining a computing optimization solution for the target optimization element.
[0134] S204: Determine whether the scene resource includes multiple tracks. 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.
[0135] Audio tracks are independent streams of audio data related to the sounds in a scene. Each audio track contains a specific sound or audio signal, which may include ambient sounds, character dialogue, background music, special sound effects, etc.
[0136] A visual trajectory can be an independent data stream of images or video content in a scene, typically used to describe the presentation, animation, transition, or image changes of visual elements. Specifically, it can include camera trajectories, character animation trajectories, and other dynamic element trajectories. A camera trajectory can describe changes in the camera's perspective, including dynamic changes in the camera's position, rotation angle, focal length, and so on. The camera trajectory influences the perspective and lens performance in the scene and is a key factor in determining the user's viewing experience. A character animation trajectory can be animation data related to the character, including the character's movement (such as walking, running, jumping, etc.) and other character-related animations (such as facial expressions, gestures, and the movement of decorative objects). In addition to cameras and characters, the scene contains many dynamic elements (such as objects and environmental changes), and their dynamic changes also need to be controlled by trajectories. These dynamic elements may include non-human characters, changes in the scene background, environmental effects, and physical changes in objects.
[0137] Multiple tracks means the sum of the audio and visual tracks exceeds one. Scene assets can be scanned to obtain all time-related dynamic element data. All dynamic data is classified by type: audio element or visual element. All audio elements in the scene (such as sound sources, background music, and voice dialogue) are traversed, and their timing information (playback start, end, position change, etc.) is examined to determine the number of audio tracks. If the scene contains multiple audio sources, the number of audio tracks is determined to be multiple. All visual-related dynamic elements (such as cameras, characters, objects, and special effects) are scanned. Determine whether each dynamic element contains temporal change data (such as position, rotation angle, animation frame change, etc.). Based on this data, the respective visual track is identified. If the scene contains at least one camera track or character animation track, the number of visual tracks is at least one. Next, determine whether there are other visual element tracks (such as object motion tracks or dynamic environmental changes). If the scene asset contains multiple audio tracks, classify them as audio tracks. If the scene asset contains multiple visual tracks, classify them as visual tracks. Finally, output the detailed information for the audio and visual tracks, and confirm that there is at least one visual track and one 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 refers to the frequency at which the audio signal is sampled within the audio track data, typically expressed in Hertz (Hz). It describes the number of times the audio signal is sampled per second. Higher sampling rates capture more audio detail, but also increase storage requirements and processing overhead.
[0140] Predefined audio sampling points are predefined time points used to synchronize audio tracks. These sampling points are often used for operations such as alignment and timestamp comparison. Predefined sampling points can 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., moment) 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 begins, typically in seconds (or milliseconds).
[0142] Preset visual sampling points can be used to synchronize visual tracks. These sampling points can be based on important events or keyframes in the visual content, ensuring that the visual track is sampled at specific points in time. Preset sampling points for visual tracks can be selected to sample within a specific time period (for example, once per second) or when specific animation events or changes occur.
[0143] The visual track timestamp can represent 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 start 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 (for example, 0s, 1s, 2s,...). Visual sampling point: sampled once per frame (for example, 0s, 1 / 24s, 2 / 24s,...).
[0144] The audio track sampling rate can be obtained by reading the audio file's metadata, checking the device or system's technical specifications, 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, for example, every 100 milliseconds. In this case, a sampling interval of 100 milliseconds means that audio track data is recorded every 0.1 second. To calculate timestamps, the time position of each sampling point can be calculated based on the audio sampling rate. For example, at a sampling rate of 44100 Hz, the timestamp would be every 1 / 44100 second, or 22.68 microseconds. Based on this information, the timestamp of each audio sample can be calculated based on the set sampling interval. The sampling points and timestamps of visual tracks are similar to those of audio tracks. Visual track timestamps record the state of a visual element (such as an image frame, object state, or animation) at a specific moment in time. The sampling points of visual tracks are typically determined based on the video frame rate (for example, 30 or 60 frames per second). If the video frame rate is 30 frames per second, the time interval between each frame is 1 / 30 second, or 33.33 milliseconds. Visual track timestamps can be calculated based on the number of frames and frame rate of the video. For example, the timestamp of frame 1 is 0 seconds, the timestamp of frame 2 is 1 / 30 seconds, the timestamp of frame 3 is 2 / 30 seconds, and so on. If you need to set the visual track sampling points to 100 millisecond intervals, you can choose to sample every few frames to maintain synchronization with the audio sampling.
[0145] S206 , matching each preset audio sampling point with each preset visual sampling point to obtain sampling point pairs, and calculating delay data of each audio track and each visual track at each sampling point pair based on the audio track timestamp and the visual track timestamp.
[0146] A 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 each 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] Delay data can refer to the time difference between the audio track and the visual track at a certain sampling point pair. That is, given a certain sampling point pair, the delay data can be obtained by calculating the difference between their timestamps.
[0148] For each audio track and each visual track, the first step is to obtain their respective sampling timestamps. The timestamps of audio tracks are determined by the audio sampling points, and the timestamps of visual tracks are determined by the visual sampling points. Since audio and visual sampling points are usually not completely aligned (especially in time), a matching strategy needs to be defined to determine how to match audio and visual sampling points. A common approach is to match based on the principle of closest temporal proximity. For example, given an audio sample point T_audio, the visual sample point T_visual closest to T_audio can be found, thus forming a sampling point pair. If the audio and visual timestamps differ significantly, interpolation methods can be used to generate intermediate timestamps and search for a more appropriate match. For example, a new timestamp can be generated through linear interpolation to bring it closer to the timestamps of both tracks. Once the match between each audio sample point and the corresponding visual sample 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: Calculate synchronization error data between each audio track and each visual track based on the audio track sampling rate, audio track timestamp, visual track timestamp, delay data, and a preset synchronization error calculation formula, and synchronize each audio track with each visual track based on 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 for each audio track and each visual track. Three different synchronization error thresholds can then be set: slight adjustment threshold, moderate adjustment threshold, and forced adjustment threshold. Each threshold corresponds to a different degree of adjustment. For example, a scene resource contains an audio track and a visual track, each with timestamps at multiple sampling points. The synchronization error has been calculated and several thresholds have been set for adjustment: Synchronization error ≤ 10: no adjustment required. 10 < Synchronization error ≤ 20: slight adjustment. 20 < Synchronization error ≤ 50: moderate adjustment. Synchronization error > 50: forced adjustment. After each synchronization error calculation, the corresponding adjustment method is selected based on the error size, and the synchronization error is recalculated based on the adjustment results. Once the synchronization error meets the specified threshold, the audio track and visual track are considered synchronized. If the first synchronization error has been calculated and the synchronization error data is 18, a slight adjustment is selected. After the adjustment, the new synchronization error data is 8, and no further adjustment is required. Specifically, minor adjustments can include those made when synchronization errors are small, typically requiring only minor adjustments to refine synchronization and minimize errors. These adjustments can include: Small timestamp offsets: These adjust the timestamps of the audio or visual track to optimize alignment. This adjustment is typically subtle and does not significantly alter the tracks. For example, the audio track's timestamps can be shifted forward or backward by tens of milliseconds to align with the visual track. Small interpolation or filtering: These use interpolation or filtering techniques to fine-tune the data of certain frames, ensuring a more accurate match between video and audio, without compromising overall smoothness. For example, the audio track can be interpolated to ensure continuity and align with the visual track. Medium timestamp adjustments can include larger timestamp adjustments: These apply more significant time offsets to the audio or visual track to reduce synchronization errors. For example, the audio track may be advanced or delayed by hundreds of milliseconds. 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 synchronization errors are large, frame resampling or frame dropping may be necessary, particularly for the video track. By adding or subtracting frames, the audio and video are aligned as closely as possible on the timeline. For example, the audio can be cropped 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 significantly offset in time, 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 the 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 large errors, it may be necessary to use more complex time compression or expansion techniques 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, the above method should be used to calculate the synchronization error between each audio track and each visual track, 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] Based on the above technical solution, an optional, 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; 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 the hardware resources corresponding to the target optimization element for rendering according to the rendering optimization scheme and the computing optimization scheme, and scheduling the hardware resources corresponding to the other elements of the scene resources for rendering using the 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] Example 3
[0159] Figure 3 This is a structural diagram of a rendering optimization system based on dynamic scheduling provided in Example 3 of this application. Figure 3 As shown, specifically including:
[0160] The data acquisition module 301 is used to load scene resources into the CPU memory and GPU display memory, obtain CPU load data, GPU load data, and memory load data, and determine whether rendering optimization is required based on the CPU load data, GPU load data, memory load data, and preset optimization criteria;
[0161] The optimization solution 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 solution for the target optimization element;
[0162] The optimization module 303 is used to obtain the computational requirement data of the target optimization element, input the CPU load data, GPU load data, memory load data, and computational requirement data into a preset rendering optimization model, and determine the computational optimization solution for the target optimization element;
[0163] The rendering module 304 is used to schedule the hardware resources corresponding to the target optimization element for rendering according to the rendering optimization scheme and the computing optimization scheme, and to schedule the hardware resources corresponding to other elements of the scene resources for rendering using the preset rendering scheme.
[0164] The rendering optimization system based on dynamic scheduling provided by the embodiment of the present application can achieve Figure 1 To avoid repetition, the various processes implemented in the method embodiment are not described here.
[0165] Example 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 embodiment of the 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] Example 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 the 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), random access memory (RAM), a magnetic disk, or an optical disk.
[0171] It should be noted that, in this article, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or system comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or system. In the absence of further restrictions, an element defined by the statement "comprises a ..." does not exclude the presence of other identical elements in the process, method, article or system comprising the element. In addition, it should be noted that the scope of the methods and systems in the embodiments 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 the opposite 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 the necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application is essentially 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, magnetic disk, optical disk), including a number of instructions for enabling a terminal (which can be a mobile phone, computer, server, or 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 this application, ordinary technicians in this field can also make many forms without departing from the purpose of this application and the scope of protection of the claims, all of which are within the protection of this application.
[0174] The above are only preferred embodiments of the present application and the technical principles employed. The present application is not limited to the specific embodiments described herein, and various obvious changes, readjustments, and substitutions that are possible for those skilled in the art will not depart from the scope of protection of the present application. Therefore, although the present application has been 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. 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 based on the CPU load data, GPU load data, memory load data, and preset optimization criteria; 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 the preset rendering optimization model, and determine the computing optimization plan for the target optimization element; Scheduling the hardware resources corresponding to the target optimization element for rendering according to the rendering optimization scheme and the computing optimization scheme, and rendering the other elements of the scene resources using the hardware resources corresponding to the preset rendering scheme; Obtain 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 calculate a total energy efficiency coefficient based on 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; wherein the preset energy efficiency coefficient calculation formula is: in, is the total energy efficiency coefficient; is the number of hardware resources; An index for each hardware resource; For the Real-time resource consumption data of hardware resources; For the Real-time load data of hardware resources; ; Preset maximum power consumption tolerance; is the preset temperature-power consumption adjustment coefficient; 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.
2. The rendering optimization method based on dynamic scheduling according to claim 1, characterized in that: After scheduling the target optimization element to render the corresponding hardware resources according to the rendering optimization scheme and the computing optimization scheme, and scheduling other elements of the scene resources to render the corresponding hardware 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 based on the re-acquired CPU load data, GPU load data, memory load data, and preset optimization criteria; 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 for 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 for the target optimization element; According to the rendering optimization scheme and the computing optimization scheme, the target optimization elements are scheduled to render corresponding hardware resources, and other elements of the scene resources are rendered using the preset rendering scheme to schedule corresponding hardware resources 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 target optimized element to render the corresponding hardware resources according to the rendering optimization scheme and the computing optimization scheme, and scheduling other elements of the scene resources to render the corresponding hardware resources using the preset rendering scheme, the method further includes: Determine whether the scene resource includes multiple tracks. 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 the delay data of each audio track and each visual track at each sampling point pair based on 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, 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: ; in, is the synchronization error data; i is the index of the preset sampling point; n is the number of preset sampling points; The audio track timestamp at the i-th sampling point of the audio track; is the visual trajectory timestamp at the i-th sampling point; is the audio track sampling rate; It is a preset audio synchronization accuracy weighting coefficient used to adjust the relative importance of the synchronization error between the audio track and the visual track; Delayed data.
5. The rendering optimization method based on dynamic scheduling according to claim 1, 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 based on 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. 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.
6. 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 GPU display 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; An optimization solution 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 solution for 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 the preset rendering optimization model, and determine the computing optimization plan for the target optimization element; A rendering module, configured to schedule the hardware resources corresponding to the target optimization element for rendering according to the rendering optimization scheme and the computing optimization scheme, and to schedule the hardware resources corresponding to the preset rendering scheme for rendering other elements of the scene resources; The system is also used to: Obtain 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 calculate a total energy efficiency coefficient based on 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; wherein the preset energy efficiency coefficient calculation formula is: in, is the total energy efficiency coefficient; is the number of hardware resources; An index for each hardware resource; For the Real-time resource consumption data of hardware resources; For the Real-time load data of hardware resources; ; Preset maximum power consumption tolerance; is the preset temperature-power consumption adjustment coefficient; 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.
7. 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 5.
8. 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 are implemented as described in any one of claims 1 to 5.