Methods, systems, and computer storage media for rendering resource allocation

CN122547440APending Publication Date: 2026-08-11CHINA MOBILE M2M +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-01
Publication Date
2026-08-11

AI Technical Summary

Technical Problem

[0005]本申请的实施例提供一种用于渲染资源分配的方法、系统及计算机存储介质,能够解决现有渲染策略无法动态适应设备性能与场景变化的问题

Benefits of technology

[0011] In the embodiments described above, by acquiring the basic viewpoint parameters of objects in the scene (such as distance, viewpoint angle, and movement speed), a first weight reflecting visual importance is calculated, ensuring that the allocation of rendering resources conforms to the laws of human visual perception. Based on this, a second weight, comprehensively considering both visual and business factors, is calculated by further integrating business-specific parameters of the target scene (such as container type, cargo value, and area function), achieving precise quantification of scene rendering requirements. Based on this weighting system, this application establishes an intelligent association between rendering resources and object importance by dynamically prioritizing all objects in the scene. Appropriate rendering resources are allocated to objects of different priorities according to the ranking results, enabling critical objects to achieve more refined rendering effects, while non-critical objects are appropriately simplified, thereby achieving the optimal balance between rendering quality and performance on various devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122547440A_ABST
    Figure CN122547440A_ABST
Patent Text Reader

Abstract

This application discloses a method, system, and computer storage medium for allocating rendering resources. The method includes: obtaining basic viewpoint parameters of objects in a target scene; calculating a first weight associated with the objects based on the basic viewpoint parameters; obtaining scene service parameters of the objects, wherein the scene service parameters indicate the service importance of the objects in the target scene; calculating a second weight associated with the objects based on the first weight and the scene service parameters; prioritizing the objects based on the second weight to obtain a priority ranking result; and allocating corresponding rendering resources to objects with different priorities based on the priority ranking result. The method according to embodiments of this application can calculate a quantified and comparable comprehensive weight value for each object in the scene by fusing the basic viewpoint parameters and the scene service parameters, thereby quantifying its rendering importance in the current frame.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to graphics rendering technology, and more specifically to a method, system, and computer storage medium for allocating rendering resources. Background Technology

[0002] Digital twin technology enables real-time monitoring and 3D visualization in fields such as smart ports by constructing virtual mirror images of physical entities. Currently, mainstream solutions for achieving high-quality visualization have significant limitations: cloud rendering heavily relies on network conditions, making it difficult to guarantee real-time performance and interactive experience; while edge rendering using professional engines (such as UE and Unity) offers high rendering quality, it suffers from complex cross-platform deployment, poor compatibility, and difficulty in covering low-performance devices.

[0003] Emerging WebGPU technology offers a cross-platform, deployment-free high-performance rendering path, but existing solutions typically employ a static "low, medium, high" image quality preset strategy. This strategy has hidden performance thresholds and lacks intelligence, failing to adaptively adjust based on device performance differences and dynamic scene changes, resulting in suboptimal rendering resource allocation and difficulty in balancing smoothness and visual quality across various devices.

[0004] Therefore, existing technologies lack an intelligent rendering method that can adapt to changes in device performance and scene, making it difficult to achieve a smooth and high-quality visual experience on a wide range of devices. Summary of the Invention

[0005] Embodiments of this application provide a method, system, and computer storage medium for allocating rendering resources, which can solve the problem that existing rendering strategies cannot dynamically adapt to changes in device performance and scene.

[0006] According to a first aspect of an embodiment of this application, a method for allocating rendering resources is provided. The method includes: obtaining basic viewpoint parameters of objects in a target scene; calculating a first weight associated with the objects based on the basic viewpoint parameters; obtaining scene service parameters of the objects, wherein the scene service parameters indicate the service importance of the objects in the target scene; calculating a second weight associated with the objects based on the first weight and the scene service parameters; prioritizing the objects based on the second weight to obtain a priority ranking result; and allocating corresponding rendering resources to objects with different priorities based on the priority ranking result.

[0007] According to a second aspect of an embodiment of this application, a system for allocating rendering resources is provided. The system includes: a first acquisition module for acquiring basic viewpoint parameters of objects in a target scene; a first weight calculation module for calculating a first weight associated with the objects based on the basic viewpoint parameters; a second acquisition module for acquiring scene service parameters of the objects, wherein the scene service parameters indicate the service importance of the objects in the target scene; a second weight calculation module for calculating a second weight associated with the objects based on the first weight and the scene service parameters; a sorting module for prioritizing the objects based on the second weight to obtain a priority sorting result; and a rendering module for allocating corresponding rendering resources to objects with different priorities based on the priority sorting result.

[0008] According to a third aspect of an embodiment of this application, a system for allocating rendering resources is provided. The system includes a processor and a memory storing instructions that, when executed by the processor, cause the processor to perform the method described in the first aspect above.

[0009] According to a fourth aspect of an embodiment of this application, a computer-readable storage medium is provided. The computer-readable storage medium stores instructions that, when executed by a computer, cause the computer to perform the method described in the first aspect above.

[0010] According to a fifth aspect of an embodiment of this application, a computer program product is provided. The computer program product includes instructions that, when executed by a computer, cause the computer to perform the method described in the first aspect above.

[0011] In the embodiments described above, by acquiring the basic viewpoint parameters of objects in the scene (such as distance, viewpoint angle, and movement speed), a first weight reflecting visual importance is calculated, ensuring that the allocation of rendering resources conforms to the laws of human visual perception. Based on this, a second weight, comprehensively considering both visual and business factors, is calculated by further integrating business-specific parameters of the target scene (such as container type, cargo value, and area function), achieving precise quantification of scene rendering requirements. Based on this weighting system, this application establishes an intelligent association between rendering resources and object importance by dynamically prioritizing all objects in the scene. Appropriate rendering resources are allocated to objects of different priorities according to the ranking results, enabling critical objects to achieve more refined rendering effects, while non-critical objects are appropriately simplified, thereby achieving the optimal balance between rendering quality and performance on various devices. Attached Figure Description

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

[0013] Figure 1 This is a flowchart illustrating a method for allocating rendering resources according to an embodiment of this application.

[0014] Figure 2 According to the embodiments of this application Figure 1 The flowchart shown illustrates the calculation process of the basic viewpoint weights in the method.

[0015] Figure 2a According to the embodiments of this application Figure 2 A vector diagram illustrating the basic perspective weight calculation.

[0016] Figure 3 According to the embodiments of this application Figure 1 The flowchart shown illustrates the secondary weight calculation process in the method described.

[0017] Figure 4 According to the embodiments of this application Figure 1 The diagram shows the rendering execution process in the method shown.

[0018] Figure 5 This is a schematic diagram of a system for allocating rendering resources according to an embodiment of this application.

[0019] Figure 6 This is a schematic diagram of a computer device according to an embodiment of this application. Detailed Implementation

[0020] The features and exemplary embodiments of the present application will now be described in detail. To make the objectives, technical solutions, and advantages of this application clearer, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are for illustrative purposes only and are not intended to impose specific limitations. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples of this application.

[0021] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes said element.

[0022] In the embodiments of this application, by obtaining the basic viewpoint parameters of objects in the scene (such as distance, viewpoint angle, and movement speed), a first weight reflecting visual importance is calculated, so that the allocation of rendering resources conforms to the laws of human visual perception. Based on this, a second weight, which comprehensively considers visual and business factors, is calculated by further integrating the business parameters specific to the dock scene (such as container type, cargo value, and area function), achieving precise quantification of scene rendering requirements. Based on this weighting system, this application establishes an intelligent association between rendering resources and object importance by dynamically prioritizing all objects in the scene. Appropriate rendering resources are allocated to objects of different priorities according to the ranking results, enabling key objects to obtain more refined rendering effects, while non-key objects are appropriately simplified, thereby achieving the best balance between rendering quality and performance on various devices.

[0023] The technical solution of this application realizes the technological leap from "static preset" to "dynamic intelligence", giving full play to the cross-platform advantages of WebGPU, enabling digital twin applications to provide smooth, stable and visually excellent rendering effects on a wide range of hardware platforms, from high-end workstations to low-power handheld devices.

[0024] Figure 1 This is a flowchart illustrating a method for allocating rendering resources according to an embodiment of this application. Figure 1 The document outlines the general steps involved in allocating rendering resources, specifically including: Step S1, Basic Viewpoint Weight Calculation. Calculating object weights based on basic viewpoints is a method inspired by the human visual attention mechanism. Based on factors such as the distance between the object and the camera, the angle between the object and the camera, and the object's speed, basic weights associated with the object can be calculated. Combined with the characteristics of the four types of subjects (network-aware subject, business-aware subject, environment-aware subject, and static environment subject) described below, dynamic allocation of rendering resources can be achieved. In some embodiments, the higher the weight value of an object, the more computing resources it should receive, thereby achieving a human-like attention mechanism where objects become more blurred the farther away they are, the more oblique they are, and the more static they are.

[0025] Step S2, Secondary Weight Calculation. After obtaining the basic weights based on the basic perspective weights, secondary weight calculations can be performed based on scenario business parameters such as, but not limited to, object type, object importance, and the area where the object is located, taking into account the specific characteristics of the target scenario.

[0026] Step S3, Rendering Execution. After sorting the calculated secondary weights, corresponding rendering resources are allocated to the objects. This establishes a dynamic adaptation mechanism for objects in the target scene, allocating an appropriate upper limit for the number of rendered objects for the preset rendering level (such as high, medium, and low), thereby ensuring that the digital twin scene can obtain a smooth and stable running experience on client devices with different performance levels.

[0027] In some embodiments, in the target scene involved in the above method, the scene may change in real time, and the objects in the scene may be in motion. For example, some objects in the target scene may be in motion, while others may be stationary; or all objects in the target scene may be in motion or stationary. In some embodiments, the method can be used for a dock scene.

[0028] In some embodiments, the basic viewpoint parameters of the object and the scene service parameters are acquired through a collection device. For example, the collection device may be a mobile phone, camera, scanner, computer, LiDAR, etc.

[0029] In some embodiments, to achieve intelligent rendering resource scheduling, the participating entities requiring rendering in the dock scene (i.e., the collection devices mentioned above) can be systematically classified. This classification establishes a mapping relationship between data and rendering requirements based on the data generation mechanism, spatiotemporal characteristics, and reliability of each entity. Specifically, the rendering entities are divided into the following four categories: 1) Networked sensing entities refer to physical entities integrated with sensing and communication modules, including container trucks and automated guided vehicles (AGVs). These entities can proactively and continuously report their complete spatiotemporal status and operating parameters to the data platform. Their data streams are accessed through high-throughput message middleware (such as Message Queuing Telemetry Transport (MQTT) topics), exhibiting characteristics of high update frequency, high accuracy, and low latency, and are the core entities for digital twin scene rendering.

[0030] 2) Business-aware entities refer to objects whose existence and behavior are pre-planned and driven by the terminal business management system (such as a Terminal Operating System (TOS)). Examples include containers moving on a conveyor belt according to a schedule, and personnel and equipment assigned to specific workstations. Their data does not originate from physical sensors but rather from business logic events (such as work instruction generation and plan adjustments). By integrating an Enterprise Service Bus (ESB) to monitor these events, the system can predictively infer the status, location, and timing of these entities, helping the digital twin system preload and render such resources.

[0031] 3) Environmental sensing subjects refer to objects that lack the ability to actively report their status and whose behavior exhibits a degree of randomness, such as on-site staff, temporary visitors, and mobile devices not connected to the network. Their status information relies on passive sensing networks deployed in the environment (such as Computer Vision (CV) recognition, Ultra-Wideband (UWB) precise positioning, and Radio Frequency Identification (RFID) area sensing). This type of data typically contains a degree of uncertainty, noise, or intermittency, requiring specialized data fusion and completion processing.

[0032] 4) Static environment elements refer to objects that constitute the fixed background environment in a digital twin scene, such as warehouses, roads, and fixed facilities. Their geometric models and spatial locations are determined during scene initialization and do not require dynamic updates.

[0033] Based on the above classification, the system outputs raw data as a unified, standardized "twin state descriptor" data structure through dedicated data access and processing pipelines for each entity. This descriptor includes, but is not limited to, metadata such as coordinates, velocity category labels, data update timestamps, and data source confidence, providing standardized input for subsequent rendering weight calculations.

[0034] The following combination Figures 2-4 Regarding Figure 1 The three steps described are explained in detail.

[0035] Figure 2 According to the embodiments of this application Figure 1 The flowchart shown illustrates the calculation of the basic viewpoint weight S1 in the method.

[0036] exist Figure 2 The diagram illustrates that step S1 specifically includes: step S11, obtaining the basic view parameters of objects in the target scene; and step S12, calculating a first weight W1 associated with the object based on the basic view parameters. The first weight W1 is related to... Figure 1 The aforementioned basic weights. In some embodiments, basic viewpoint parameters include, but are not limited to, the distance between the object and the camera, the angle between the object and the camera, and the object's moving speed. The method for calculating the first weight W1 for these basic viewpoint parameters is further detailed below.

[0037] Distance between the object and the camera (D) Based on the characteristics of human vision—that the farther an object is from the camera, the blurrier its image appears on the retina—the rendering weight should be reduced. The exponential decay function effectively simulates this non-linear decay, ensuring that the weight of distant objects decreases rapidly, while the weight of nearby objects changes gradually, conforming to visual laws. The calculation method is as follows: F distance = exp(-α×D), Where α is the attenuation coefficient (suggested initial value of 0.01), used to control the attenuation rate. The larger the value, the faster the attenuation, and the lower the weight of distant objects; D is the Euclidean distance, which refers to the distance from the camera to the object, and its calculation method is as follows: , Modern GPUs and CPUs have both optimized sqrt calculations. (Parameters) ) are the camera's position coordinates, ( () represents the position coordinates of the object.

[0038] It's important to note that in the target scene (e.g., a dock scene), object distances can range from a few meters to hundreds of meters. Setting α = 0.01 means that at a distance of 100 meters, F... distance = exp(-1) ≈ 0.37, meaning the weight is reduced to 37%, which is visually reasonable. Smaller α values ​​are suitable for large-scale scenes to avoid premature decay; if the scene scale is small (such as indoors), α can be increased to 0.05 or higher.

[0039] The angle between the object and the camera ( ) Based on the visual attention model, which posits that the human eye is more sensitive to objects in the central region of its field of vision and that attention decreases when objects deviate from the center, the cosine function naturally reflects this relationship. Therefore, its calculation method is as follows: F angle = cos( ), in, This represents the angle of object i in the camera's line of sight, when When =0 (object is directly in front), F angle =1, with the largest weight; as... As the object deviates from the center, the cosine value decreases, and the weight decreases. Angle In modern GPUs, this information can be obtained directly; the indirect calculation method is as follows: a) Obtain the object's position vector, assuming the object's position coordinates are ( , , Then the object's position vector , , ; b) Obtain the position vector of the observation point, assuming the camera's position coordinates are ( , , Then the position vector of the observation point , , ; c) Calculate the direction vector from the object to the observation point. = ; d) Calculate the observer's gaze direction vector V. Typically, the gaze direction vector points towards the center of the screen, for example... =(0, 0, -1); e) Calculate vectors using the dot product formula. and The included angle : .

[0040] Figure 2a An embodiment according to this application is shown. Figure 2 A vector diagram illustrating the basic perspective weight calculation.

[0041] In some embodiments, data about the angle between an object and the camera (e.g., camera orientation data) can be obtained directly using the WebGPU rendering engine via a hardware acceleration interface.

[0042] The object's velocity (V) The object's velocity factor reflects the importance of capturing dynamic objects. Higher-velocity objects exhibit more significant motion changes, requiring more rendering resources to avoid ghosting or latency. However, linear functions may cause excessive weighting of high-speed objects, introducing noise. Therefore, this application proposes using a saturating nonlinear function: F speed = 1 - exp(-γ × V), Here, exp is the exponential function calculation method provided by various programming languages, γ is the velocity sensitivity coefficient (suggested initial value of 0.05). V represents the velocity of object i, which is mainly calculated based on graphics engines such as WebGPU. Its core idea is to calculate the instantaneous velocity by utilizing the world coordinates offset of the object updated by the graphics engine itself every frame. During rendering, the WebGPU rendering engine accurately calculates the coordinate offsets of the models in the digital twin world, which can be directly read.

[0043] The calculation method is as follows: = , Where Position{i}^{t} represents the coordinates of object i at frame t.

[0044] The exponential function described above ensures that the weight increases rapidly at low speeds and slows down to close to 1 at high speeds, conforming to the principle of diminishing marginal returns and making resource allocation more balanced. For example, the weight of low-speed objects (such as walking people) is moderately increased, while the weight of high-speed objects (such as AGVs) will not increase indefinitely.

[0045] It's important to note that the default value of γ=0.05 is based on a typical object speed range. In the dock scene, object speeds are generally limited to between 0 and 60 km / h. Under the default values, the typical numerical weights are as follows: When V = 0 km / h, F speed = 1 - exp(-0.05 × 0) ≈ 0; When V = 10 km / h, F speed = 1 - exp(-0.05× 10) = 1-exp(-0.5)≈ 1 - 0.60653 =0.39347; When V = 40 km / h, F speed = 1 - exp(-0.05× 40)≈ 1-exp(-2)≈ 1 - 0.13534 =0.86466; When V = 60 km / h, F speed = 1 - exp(-0.05× 60)≈ 1-exp(-3)≈ 1 - 0.04979 =0.95021.

[0046] This satisfies the requirement to bring the minimum and maximum values ​​as close as possible to 0 and 1 at speeds from 0 to 60 km / h.

[0047] In the embodiments of this application, after obtaining the above-mentioned basic viewpoint parameters, a linear combination model can be used to calculate the visual importance weight (i.e., the first weight W1) of each object, and the calculation method is as follows: W1 = a × F distance + b× F angle + c× F speed , Among them, F distance F angle F speed These are the normalized distance, angle, and velocity values, ranging from [0, 1]. a, b, and c are weighting coefficients, satisfying a + b + c = 1, and W1 ranges from [0, 1]. A larger W1 value indicates that the object requires higher precision rendering.

[0048] The initialization of each coefficient is based on human visual perception, with distance and angle typically having a greater impact. Therefore, in some embodiments, it is recommended that a=0.40 (distance), b=0.40 (angle), and c=0.20 (speed), while also supporting calibration through system settings modification.

[0049] Figure 3 According to the embodiments of this application Figure 1 The flowchart of the secondary weight calculation S2 in the method shown is illustrated.

[0050] exist Figure 3 The diagram illustrates that step S2 specifically includes: step S21, obtaining scene service parameters of objects in the target scene; and step S22, calculating a second weight W2 associated with the object based on the first weight W1 and the scene service parameters. The first weight W1 is obtained through... Figure 2 The basic weights obtained in step S12 (i.e., based on perspective analysis) are shown, and the second weight W2 is about Figure 1 The aforementioned secondary weights. Scene business parameters indicate the business importance of an object in the target scene.

[0051] In some embodiments, scene business parameters include, but are not limited to, the type of object, the importance of the object, and the area where the object is located. For example, in a dock scene, scene business parameters include, but are not limited to, container type, the importance of goods, and the dock area. The method for calculating the second weight W2 for these basic perspective parameters is further detailed below.

[0052] In the embodiments of this application, scene service parameters are combined with a first weight (W1) based on viewpoint analysis to calculate a second weight (W2), thereby realizing intelligent allocation of rendering resources.

[0053] Types of objects Object type weight The rendering engine determines the rendering process based on the area where an object is located in the target scene or the object's color, and then applies this information to different scenes. The value of is adjusted to adjust the rendering strategy, thereby balancing rendering quality and computational efficiency. For example, in a dock scene, dangerous goods containers require high-priority rendering to ensure safety monitoring, and should be highlighted with high-precision models and dynamic lighting; cold chain containers, due to the need for real-time temperature data feedback, should be rendered with medium priority; empty containers only require basic model rendering to reduce computational overhead.

[0054] In the embodiment targeting the dock scenario, The assignment rules are as follows: dangerous goods containers (such as flammable and explosive materials). The value is 0.8; cold chain containers (temperature monitoring required). 0.6; ordinary container (general cargo). 0.4; empty container (low priority). It is 0.2.

[0055] Importance of an object Item importance weight The importance of an object is determined by its location within the target scene or its color. High-value goods (such as luxury goods and precision instruments) are weighted more heavily to ensure detail clarity; hazardous goods (such as chemicals) are weighted more linearly (R) to directly improve monitoring accuracy; and time-sensitive goods (such as fresh produce) are weighted more dynamically (S) to adjust the rendering update frequency. Based on these factors, the weight of an item's importance is determined. The calculation method is as follows: , Wherein, V represents the value level of the goods (levels 1-10); R represents the hazard level (0-1, 0 for general goods, 1 for high-risk goods); and S represents the timeliness level (0-1, 0 for general goods, 1 for goods requiring rapid loading and unloading).

[0056] Region Type Region type weight in different target scenarios The rendering engine can be adjusted to balance rendering quality and computational efficiency. For example, in a dock scene, the hazardous materials area requires high-detail rendering from all angles, such as enhancing model accuracy through multi-angle camera data fusion; the loading and unloading area requires dynamic LOD (Level of Detail) adjustment to balance performance and quality due to the frequent movement of cranes and vehicles; the storage area can reduce model complexity, but must retain cargo classification identifiers (such as container numbers).

[0057] In the embodiment targeting the dock scenario, The assignment rules are as follows: Hazardous materials area (requires high-precision real-time monitoring). The value is 0.9; loading and unloading area (densely populated with dynamic objects). The value is 0.7; storage area (mainly static goods). 0.5; Passage area (low detail requirements), It is 0.3.

[0058] In the embodiments of this application, after obtaining the first weight W1 based on the perspective analysis, considering the specific characteristics of the target scene, a second weight W2 can be calculated based on the aforementioned scene business parameters for the target scene (e.g., the type of object, the importance of the object, and the area where the object is located). The calculation method is as follows: in, This represents the original weights of objects obtained based on viewpoint analysis; This represents the dynamic adjustment coefficient, and its sum is required to be 1.

[0059] In the technical solution of this application, a dynamic adjustment architecture is adopted to achieve intelligent allocation of rendering weights through the collaboration of environmental awareness, business analysis and performance monitoring.

[0060] In some embodiments, the rules for adjusting the dynamic adjustment coefficient are as follows: a) Set a daily monitoring mode coefficient to distribute resources evenly. Users can adjust the initial coefficient according to their actual focus, for example: .

[0061] b) Collect the following data in real time through sensors distributed throughout the target scene (e.g., a dock): environmental data, such as changes in camera viewing distance; spatial data, such as camera viewing distance, rate of change of viewing angle, and object movement speed; and business data, such as container loading and unloading status, security alarm levels, and equipment operation logs.

[0062] c) Real-time analysis, mainly including the following analysis modules: visual analysis module, used to evaluate the visual priority of objects in the field of view; business criticality analysis module, used to determine priorities based on the dock operation process; equipment load analysis module, used to track GPU / CPU / memory usage in real time.

[0063] In some embodiments, the coefficients can be dynamically adjusted based on the analysis results. In some embodiments, a piecewise function can be used to dynamically adjust the coefficients based on visual analysis results, maintaining linear growth within 50 meters, gradually decreasing from 50-100 meters, and exponentially decaying beyond 100 meters. In some embodiments, the operational status can be perceived based on business criticality analysis results, automatically increasing the weight of equipment during loading / unloading by 30% and increasing the weight of faulty equipment by 60%. In some embodiments, based on equipment load analysis results, when the GPU usage exceeds 80% or the frame rate is less than 30 frames, all objects undergo linear weight reduction until the GPU usage is adjusted to below 80% or the frame rate is above 30 frames. In these embodiments, other coefficient values ​​must be adjusted simultaneously while adjusting the weight coefficients to ensure that the sum of the coefficients equals 1.

[0064] In the embodiments of this application, a quantified and comparable comprehensive weight value can be calculated for each object in the scene by fusing basic viewpoint parameters and scene business parameters, thereby quantifying its rendering importance in the current frame. This upgrades target scene monitoring from passive response to intelligent prediction, significantly improving the accuracy and real-time performance of target scene rendering.

[0065] Figure 4 According to the embodiments of this application Figure 1 The flowchart shown illustrates the rendering execution of S3 in the method.

[0066] exist Figure 4 The diagram shows that step S3 specifically includes: S31, prioritizing the objects based on the second weight W2 to obtain the priority ranking result; S32, allocating corresponding rendering resources to objects with different priorities based on the priority ranking result.

[0067] In some embodiments, objects with higher priority are allocated more rendering resources. In some embodiments, a first weight and a second weight are dynamically updated based on at least one of the object's basic viewpoint parameters and scene service parameters under different target scenes and the object's motion state information, so as to dynamically allocate rendering resources to the object. In some embodiments, the object's motion state information includes motion state, stationary state, etc., for example, an object in motion state is allocated more rendering resources.

[0068] In some embodiments, rendering resources include, but are not limited to: Level of Detail (LOD) level, lighting computational complexity, texture filtering precision, or view frustum / occlusion culling strategy.

[0069] In the technical solution of this application, core rendering resources are dynamically allocated through a first weight W1 and a second weight W2. For example, high-weight objects use low-LOD models, complex lighting, and high-precision texture filtering to ensure optimal visual effects, while low-weight objects use high-LOD models, simplified lighting, and basic texture filtering to optimize performance. Simultaneously, the system differentiates its view frustum / occlusion culling strategy. For example, critical objects are conservatively culled to prevent misjudgment, while secondary objects are actively culled to improve efficiency.

[0070] In the technical solution of this application, the rendering execution (step S3) can establish a dynamic adaptation mechanism to allocate an appropriate upper limit of the number of rendered objects for the preset rendering level (such as high, medium and low), thereby ensuring that the digital twin scene can obtain a smooth and stable running experience on client devices with different performance.

[0071] In some embodiments, the rendering process further includes evaluating the client's performance score and evaluating the client's rendering resource allocation. Further details are described below.

[0072] Evaluate client performance score Considering that the WebGPU rendering engine relies on local client hardware and that the computing performance of different devices varies, a quantitative evaluation of the current device's graphics computing capabilities is necessary before implementing the aforementioned dynamic adaptation. This application's technical solution proposes using a preset "recommended configuration baseline" as a reference system to evaluate relative performance by comparing key hardware parameters of the device. Factors considered include, but are not limited to: CPU clock speed (GHz), number of CPU cores, GPU clock speed (MHz), number of GPU cores, GPU video memory (GB), and system memory size (GB). If necessary, more complex factors such as architecture and bandwidth can be considered. The specific operation method is as follows: 1. Establish a baseline: First, a set of "recommended configuration" baseline values ​​can be defined (e.g., CPU 8 cores / 3.5GHz, GPU 8GB VRAM, 16GB RAM). This baseline corresponds to the hardware level capable of rendering preset standard scenes with high quality, and the performance coefficient can be set to 1.0.

[0073] 2. Information Acquisition: During client initialization, the actual hardware parameters of the current device can be obtained through the WebGPU API or system interface.

[0074] 3. Calculation of coefficients: The collected key device parameters (CPU, GPU, memory) can be compared with the recommended configuration baseline values. Taking the three major components of CPU, GPU, and memory as representatives, the evaluation method is as follows: CPU relative performance ratio = (Number of CPU cores in the client / Recommended number of CPU cores) × (Client CPU frequency / Recommended CPU frequency); GPU relative performance ratio = (Client GPU core count / Recommended GPU core count) × (Client GPU clock speed / Recommended GPU clock speed) × (Client GPU memory / Recommended GPU memory); Memory relative performance ratio = Client memory size / Recommended memory size.

[0075] After obtaining the relative performance ratios of each hardware component, a comprehensive device performance score needs to be calculated as the basis for rendering resource allocation. In the digital twin scenario, the GPU bears the core computing load in graphics rendering tasks and is therefore the most important; the CPU is mainly responsible for logic scheduling and auxiliary calculations; memory capacity affects data throughput, so the GPU is considered to be more important than the CPU, and the CPU is considered to be more important than memory. Therefore, the corresponding recommended weights are w_cpu = 0.25, w_gpu = 0.6, and w_ram = 0.15, and their weight sum must be 1. Finally, the overall performance score is calculated as follows: Overall performance score = (w_cpu × CPU relative performance ratio + w_gpu × GPU relative performance ratio + w_ram × memory relative performance ratio) × 100.

[0076] The score is expressed as a percentage, and its application strategy falls into two categories: 1. High-performance device (score > 100): This indicates that the current client hardware performance is better than the recommended configuration baseline without downgrading, and can load and render all objects in the scene with high quality.

[0077] 2. Requires compatible devices (score ≤ 100): Indicates client performance is at or below the recommended baseline. The system will proportionally reduce the number of high-load rendering objects based on the score to ensure smoothness.

[0078] The initial rendering level quota is calculated according to the following rules: 1) High Rendering Level Ratio (H_initial): P / 100 (i.e., performance score percentage). This ratio determines how many high-weight objects can retain high-quality rendering; 2) Rendering level ratio (M_initial): 0. To simplify the initial model, priority is given to rendering the most critical high-level objects and low-level objects that ensure scene integrity; 3) Low rendering level ratio (L_initial): 1 - H_initial. Accepts objects that are "degraded" from high level due to performance limitations, ensuring the integrity of the scene with basic effects.

[0079] Evaluate client-side rendering resource allocation After obtaining the client's overall performance score (P) and ranking the objects by weight, rendering resource allocation can be performed. However, in complex digital twin scenarios such as smart ports, relying solely on the number of objects for allocation is inadequate. The rendering resources consumed by the same number of objects vary greatly in different scenarios (for example, the rendering load of 10 building models in a panoramic view is vastly different from that of 10 containers in a close-up view).

[0080] To standardize the measurement of rendering load, a rendering cost standardization mechanism is introduced in the technical solution of this application. To balance accuracy and computational overhead, the number of triangles in the model is chosen as the core rendering cost weight for each object. This weight data is obtained and held by the rendering engine during scene initialization and is readily available low-level information.

[0081] Based on the above, the allocation of rendering resources can be divided into two stages: offline calibration and online adjustment.

[0082] 1. First Phase: Offline Calibration of the Baseline Scene The goal of this phase is to establish a database mapping performance score P to the total number of renderable triangles at each level within a representative benchmark scenario. The first phase mainly includes the following aspects: 1) Data collection during operation: Run a benchmark scene, continuously monitor the frame rate and frame time within 5 seconds, and calculate their average value; 2) Stability determination: When the average frame rate is maintained within the range of ±5 frames of the target frame rate (e.g., 60 FPS) and the frame time fluctuation rate is less than 10%, the current rendering ratio allocation scheme is determined to be stable. 3) Iterative Adjustment: If the frame rate is lower than the target or the frame time exceeds the limit, a fixed step size (e.g., 7.5%) is used for proportional adjustment. The strategy is: prioritize reducing the proportion of high rendering levels (H) and simultaneously increase the proportion of medium rendering levels (M); if the proportion of M has already been adjusted once, then increase the proportion of low rendering levels (L). For example, adjust from [H, M, L] to [H-0.075, M+0.075, L], and from [H, M, L] to [H, M-0.075, L+0.075]. 4) Degradation and Fault Tolerance: The first four adjustment steps will be iterated a maximum of 20 times. If the target frame rate is still not met after reducing the high and medium rendering ratios to 0, the target frame rate will be gradually reduced to 30 FPS, then 15 FPS and readjusted. If the system still cannot run stably at 15 FPS, the user will be notified of insufficient hardware performance. 5) Establish Mapping: After calibration, the total number of triangles that each rendering level can handle can be calculated based on the final stable [H, M, L] ratio and the corresponding rendered objects. This data represents the device's load capacity in the current baseline scene, and rendering will be performed according to this ratio.

[0083] 2. Second stage: Online control during actual operation The second phase mainly includes the following aspects: 1) Frame monitoring priority: Frame time (time per frame) is monitored first, as it is more sensitive to stuttering; 2) Dynamic reassessment: When the scene changes significantly (such as when the camera view moves), the list of currently visible objects is immediately reassessed; 3) Trigger fine-tuning: If frame time fluctuations are detected to exceed the 15% threshold, the proportional fine-tuning process will be triggered immediately to quickly restore the experience; 4) Optimization of invisible objects: Apply the lowest rendering level (L) to invisible objects outside the field of view to save rendering resources.

[0084] Based on the above strategy, when rendering the same number of objects, the GPU load dropped from 51% to 27%, showing a significant difference.

[0085] Figure 5 This is a schematic diagram of a system 500 for allocating rendering resources according to an embodiment of this application. Figure 5 As shown, system 500 may include: a first acquisition module 501, a first weight calculation module 502, a second acquisition module 503, a second weight calculation module 504, a sorting module 505, and a rendering module 506.

[0086] In some embodiments, the first acquisition module 501 can be configured to acquire basic viewpoint parameters of objects in the target scene. In some embodiments, the first weight calculation module 502 can be configured to calculate a first weight W1 associated with the object based on the basic viewpoint parameters. In some embodiments, the second acquisition module 503 can be configured to acquire scene business parameters of the object. Scene business parameters indicate the business importance of the object in the target scene. In some embodiments, the second weight calculation module 504 can be configured to calculate a second weight W2 associated with the object based on the first weight W1 and the scene business parameters. In some embodiments, the sorting module 505 can be configured to prioritize the objects based on the second weight W2 to obtain a priority ranking result. In some embodiments, the rendering module 506 can be configured to allocate different rendering resources to objects with different priorities based on the priority ranking result.

[0087] Figure 6 This is a schematic diagram of a computer device 600 according to an embodiment of this application.

[0088] Computer device 600 may include processor 601 and memory 602 storing computer program instructions.

[0089] Specifically, the processor 601 may include a central processing unit (CPU), an application specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0090] Memory 602 may include mass storage for data or instructions. For example, and not limitingly, memory 602 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. In one instance, memory 602 may include removable or non-removable (or fixed) media, or memory 602 may be non-volatile solid-state memory. Memory 602 may be internal or external to the integrated gateway disaster recovery device.

[0091] In one instance, memory 602 may be read-only memory (ROM). In one instance, the ROM may be a mask-programmed ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), an electrically rewritable ROM (EAROM), or flash memory, or a combination of two or more of these.

[0092] Memory 602 may include read-only memory (ROM), random access memory (RAM), disk storage media device, optical storage media device, flash memory device, electrical, optical, or other physical / tangible memory storage device. Therefore, generally, memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to one aspect of this disclosure.

[0093] The processor 601 reads and executes computer program instructions stored in the memory 602 to achieve... Figure 1-4 The method for allocating rendering resources is shown below.

[0094] In some embodiments, the computer device 600 may further include a communication interface 603 and a bus 604. For example, Figure 6 As shown, the processor 601, memory 602, and communication interface 603 are connected through bus 604 and complete communication with each other.

[0095] The communication interface 603 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0096] Bus 604 includes hardware, software, or both, that couples components of an online data traffic metering device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Extended Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a Hyper Transport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 604 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, this application contemplates any suitable bus or interconnect.

[0097] Furthermore, in conjunction with the method for allocating rendering resources in the above embodiments, this application embodiment can provide a computer storage medium for implementation. This computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement the methods in the above embodiments.

[0098] Embodiments of this application also provide a computer program product, including a computer program that, when processed for execution, implements the methods described in the above embodiments.

[0099] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0100] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, read-only memory (ROM), flash memory, erasable read-only memory (EROM), floppy disks, compact disc read-only memory (CD-ROM), optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0101] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0102] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.

[0103] The above description is merely a specific implementation of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.

Claims

1. A method for allocating rendering resources, comprising: Obtain the basic view parameters of objects in the target scene; Based on the aforementioned basic viewpoint parameters, calculate the first weight associated with the object; Obtain the scene service parameters of the object, wherein the scene service parameters indicate the service importance of the object in the target scene; Based on the first weight and the scene business parameters, calculate the second weight associated with the object; Based on the second weight, the objects are prioritized to obtain the priority ranking result; and Based on the priority ranking results, corresponding rendering resources are allocated to objects with different priorities.

2. The method of claim 1, further comprising: The first weight and the second weight are dynamically updated based on at least one of the object's basic viewpoint parameters and scene service parameters under different target scenes and the object's motion state information, so as to dynamically allocate the rendering resources for the object.

3. The method according to claim 2, wherein, The target scenario includes a dock scenario.

4. The method according to any one of claims 1 to 3, wherein, The object's basic viewpoint parameters and scene service parameters are obtained through a collection device.

5. The method according to claim 4, further comprising: Obtain information on the subject classification associated with the collection device; as well as The subject classification information is provided to the rendering engine for the allocation of rendering resources.

6. The method according to claim 5, wherein, The subject classification includes: network sensing subject, service sensing subject, environment sensing subject, and static environment subject.

7. The method according to any one of claims 1 to 3, wherein, The scenario service parameters include at least one of the following: the type of the object, the importance of the object, and the area where the object is located.

8. The method according to claim 7, wherein, Calculating the second weight associated with the object based on the first weight and the scene business parameters includes using the following formula to calculate the second weight: , in, For the first weight, The weight representing the type of the object. The weights representing the importance of the objects. The weights representing the type of the region where the object is located; , , , It is a dynamic adjustment coefficient, and satisfies .

9. The method according to any one of claims 1 to 3, wherein, The rendering resources include at least one of the following: multi-level detail (LOD) level, lighting computational complexity, texture filtering precision, or view frustum / occlusion culling strategy.

10. The method according to any one of claims 1 to 3, wherein, The basic viewpoint parameters include at least one of the following: the distance between the object and the camera, the angle between the object and the camera, and the moving speed of the object.

11. The method according to claim 10, wherein, Calculating the first weight associated with the object based on the basic viewpoint parameters includes using the following formula to calculate the first weight: , in, The distance between the object and the camera is the normalized value. The normalized angle between the object and the camera. Let be the normalized velocity of the object, where , and Within the range of 0 to 1; a, b, and c are the corresponding weighting coefficients, and satisfy a + b + c = 1.

12. A system for allocating rendering resources, comprising: The first acquisition module is used to acquire the basic view parameters of objects in the target scene; The first weight calculation module is used to calculate the first weight associated with the object based on the basic viewpoint parameters; The second acquisition module is used to acquire scene business parameters of the object, wherein the scene business parameters indicate the business importance of the object in the target scene; The second weight calculation module is used to calculate the second weight associated with the object based on the first weight and the scene business parameters; A sorting module is configured to prioritize the objects based on the second weight to obtain the priority sorting result; and The rendering module is used to allocate corresponding rendering resources to objects with different priorities based on the priority sorting results.

13. A system for allocating rendering resources, comprising: processor, and A memory storing instructions that, when executed by the processor, cause the processor to perform the method according to any one of claims 1-11.

14. A computer-readable storage medium storing instructions that, when executed by a computer, cause the computer to perform the method according to any one of claims 1-11.

15. A computer program product comprising instructions that, when executed by a computer, cause the computer to perform the method according to any one of claims 1-11.