A collaborative optimization method for object-level rendering load in complex scene environments

CN122574183APending Publication Date: 2026-08-14ZHONGKE HUIZHI (BEIJING) TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-05-27
Publication Date
2026-08-14

AI Technical Summary

Technical Problem

当绘制距离阈值设置较大时,小尺寸对象会在中远距离持续参与渲染,造成无效绘制和渲染通道占用;当绘制距离阈值设置较小时,主体结构或关键设备又容易提前消失,影响场景可读性和运维可用性

Benefits of technology

本发明通过对象包围体半径与配置化绘制距离参数建立对象尺寸感知映射约束,使大型主体结构、设备和管网在远距观察时保持必要可见,使标识对象和附件对象在中远距离减少无效绘制,从而降低可见对象数量和DrawCall数量,缓解复杂三维场景中对象尺度差异过大导致统一阈值失效的问题。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122574183A_ABST
    Figure CN122574183A_ABST
Patent Text Reader

Abstract

This invention discloses an object-level rendering load collaborative optimization method suitable for complex scene environments, belonging to the field of real-time rendering optimization technology, including the following steps: Step 1: Verify the rendering load configuration to obtain a configuration table; Step 2: Extract the bounding volume radius, object type, and participation information to obtain an attribute set; Step 3: Establish a size-aware distance mapping to obtain the basic drawing distance; Step 4: Divide the load reduction state and generate a drawing distance strategy and an effect participation strategy; Step 5: Encapsulate the strategy to form a call entry point; Step 6: Issue the distance strategy to obtain the distance load reduction result; Step 7: Input the improved Roaring Bitmap algorithm to perform channel filtering and obtain the channel load reduction result; Step 8: Feedback the updated configuration to generate the optimization result. This invention uses size-aware mapping constraints and an improved Roaring Bitmap algorithm to achieve drawing distance and additional channel load reduction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of real-time rendering optimization technology, and in particular to a collaborative optimization method for object-level rendering load applicable to complex scene environments. Background Technology

[0002] With the continuous application of industrial production visualization, digital twins of energy parks, operation and maintenance monitoring of complex facilities, and 3D platforms for engineering construction, the number of rendered objects in real-time 3D scenes is constantly increasing, and the object types, spatial scales, and interaction levels are becoming more complex. Complex scenes typically contain large buildings, pipelines, equipment, signs, and small accessories simultaneously. The spatial dimensions of different objects vary significantly, and the set of visible objects changes frequently during camera navigation, zooming, and rapid switching, leading to an increase in the number of draw calls, increased CPU rendering submission pressure, and frame rate fluctuations.

[0003] Current 3D rendering optimization methods often handle object visibility by using fixed draw distance thresholds or manual local parameter tuning. When the draw distance threshold is set too high, small objects will continuously participate in rendering at medium to long distances, resulting in invalid drawing and rendering pass occupancy. When the draw distance threshold is set too low, the main structure or critical equipment may disappear prematurely, affecting scene readability and operational availability. Furthermore, if additional effects such as outlining, highlighting, semi-transparent overlays, and post-processing markers are enabled according to uniform rules, a large number of low-value objects will continuously enter additional rendering passes, further increasing GPU load.

[0004] Furthermore, different projects vary significantly in terms of scene scale, object density, visual requirements, and hardware performance, making it difficult to quickly migrate hard-coded thresholds and resulting in high costs for manual parameter tuning on an object-by-object basis. If the logic for rendering distance calculation, special effects filtering, and anomaly handling is scattered across multiple object modules, issues such as inconsistent strategies, inconsistent default values, and excessive maintenance and modification can easily arise, leading to insufficient frame rate stability and engineering maintainability during complex scene execution.

[0005] Therefore, how to provide a collaborative optimization method for object-level rendering load applicable to complex scene environments is a problem that urgently needs to be solved by those skilled in the art. Summary of the Invention

[0006] One objective of this invention is to propose an object-level rendering load collaborative optimization method suitable for complex scene environments. This invention reads the project rendering load configuration file and performs configuration verification to form an object-level rendering load configuration table; extracts the object bounding volume radius, object type, and object rendering participation information, establishes object size-aware drawing distance mapping constraints, and generates the object's basic drawing distance.

[0007] The rendering load reduction state is divided based on the object's basic drawing distance, and object-level drawing distance strategy and object-level effect participation strategy are generated. The drawing distance mapping constraint and the two types of strategies are uniformly encapsulated into an object-level rendering strategy call entry point. The drawing distance strategy is uniformly issued in the stages of object construction, mesh component copying, instantiated component creation and asset dynamic reconstruction. The semantic bitmap filtering of object type, rendering load reduction state, material channel identifier and effect participation identifier is performed by improving the Roaring Bitmap algorithm to reduce the burden of additional rendering channel participation.

[0008] The improved Roaring Bitmap algorithm retains the high-order bucket index, low-order compressed container, and container set operation structure. It inserts a channel semantic hierarchical index between the high-order bucket index and the low-order compressed container, and adds a channel action mask output layer after the container set operation, so that object type, unloading state, material channel, and channel action can be matched and output in the same compressed bitmap system.

[0009] Based on the distance-based load reduction execution results and the channel-based load reduction execution results, the rendering load feedback data is collected. The configuration update results are generated through the strategy calculation layer and written back to the object-level rendering load configuration table in the parameter configuration layer, thereby generating object-level rendering load co-optimization results. This enables object size-driven drawing budget allocation, configuration strategy reuse, and coordinated load reduction of geometric visibility and channel load, improving the frame-time stability and engineering maintainability of complex 3D scenes.

[0010] According to an embodiment of the present invention, an object-level rendering load collaborative optimization method suitable for complex scene environments includes the following steps: Step 1: During the loading phase of a complex 3D scene, the parameter configuration layer reads the project rendering load configuration file, verifies the rendering load parameters in the project rendering load configuration file, and obtains the object-level rendering load configuration table. Step 2: Read the object mesh component of the rendered object through the strategy calculation layer, extract the object bounding volume radius, object type and object rendering participation information to obtain the object-level rendering attribute set; Step 3: Based on the object-level rendering load configuration table and object-level rendering attribute set, establish object size-aware drawing distance mapping constraints through the strategy calculation layer, perform interval clipping and linear interpolation on the radius of the object's bounding volume, and obtain the object's basic drawing distance; Step 4: Based on the object's basic drawing distance and object-level rendering attribute set, the strategy calculation layer divides the rendering load state and generates object-level drawing distance strategy and object-level effect participation strategy. Step 5: Establish a unified rendering load tool interface between the parameter configuration layer, strategy calculation layer, and execution delivery layer. Unify the object size-aware drawing distance mapping constraints, object-level drawing distance strategies, and object-level special effects participation strategies to obtain the object-level rendering strategy call entry point. Step 6: By executing the call entry point of the object-level rendering strategy in the lower layer, the object-level drawing distance strategy is issued during the object construction, mesh component copying, instantiated component creation and asset dynamic reconstruction stages, and the object-level drawing distance strategy is written into the object mesh component to obtain the distance deload execution result; Step 7: By executing the drop-down layer, the object-level effects participation strategy, object-level rendering attribute set, and distance deloading execution results are input into the improved Roaring Bitmap algorithm to perform object type channel filtering and obtain the channel deloading execution results; Step 8: Collect rendering load feedback data based on the distance load reduction execution results and the channel load reduction execution results. Generate configuration update results based on the rendering load feedback data through the strategy calculation layer, and write the configuration update results back to the object-level rendering load configuration table in the parameter configuration layer to generate object-level rendering load co-optimization results.

[0011] Optionally, step one specifically includes: Read the core distance parameters, core size parameters, and channel filtering parameters from the project rendering load configuration file. The core distance parameters include the upper limit and lower limit of the drawing distance, the core size parameters include the lower limit and upper limit of the size mapping, and the channel filtering parameters include the object type filtering rules and the special effects channel filtering rules. Identify the data types of core distance parameters and core size parameters. When the core distance parameter or core size parameter is a string type, convert the string type parameter to a numeric type parameter. When the core distance parameter or core size parameter is a numeric type, read the numeric type parameter directly. Perform validity checks on numeric parameters. If a numeric parameter is missing, empty, or less than or equal to zero, replace the corresponding numeric parameter with the default parameter value. Perform distance range validation on the upper and lower limits of the drawing distance. When the upper limit of the drawing distance is less than or equal to the lower limit of the drawing distance, correct the upper limit of the drawing distance to a value greater than the lower limit of the drawing distance. Perform size range verification on the upper and lower limits of size mapping. When the upper limit of size mapping is less than or equal to the lower limit of size mapping, correct the upper limit of size mapping to a value greater than the lower limit of size mapping. The verified core distance parameters, core size parameters, and channel filtering parameters are written into the runtime configuration structure to obtain the object-level rendering load configuration table.

[0012] Optionally, step two specifically includes: Iterate through the list of rendering objects in a complex 3D scene and read the object mesh component associated with each rendering object. Identify the component type of the object mesh component. The component types include static mesh components, ordinary instantiated mesh components, and hierarchical instantiated mesh components. Call the bounding body reading interface of the object mesh component to read the bounding sphere radius of the object mesh component, and use the bounding sphere radius as the bounding body radius of the object; Read the category identifier of the rendered object and map the category identifier to the object type. The object types include main structure object, device object, pipeline object, identifier object and accessory object. Read the instantiation identifier, material channel identifier, and effect participation identifier of the object mesh component, and combine the instantiation identifier, material channel identifier, and effect participation identifier into object rendering participation information; The object's bounding radius, object type, component type, and object rendering participation information are bound according to the rendering object number to obtain an object-level rendering property set.

[0013] Optionally, step three specifically includes: Read the upper limit of drawing distance, the lower limit of drawing distance, the upper limit of size mapping, and the lower limit of size mapping from the object-level rendering load configuration table, and read the object bounding volume radius of each rendered object from the object-level rendering attribute set; Perform interval validity checks on the upper and lower bounds of the size mapping. When the upper bound of the size mapping is less than or equal to the lower bound of the size mapping, perform a safety correction on the upper bound of the size mapping and use the safety-corrected upper bound of the size mapping to participate in the object size-aware drawing distance mapping. For each rendered object, the difference between the object's bounding volume radius and the lower limit of the size mapping is calculated, and the difference result is normalized according to the interval length between the upper limit and the lower limit of the size mapping to obtain the radius normalization value; The radius normalization value is processed by the clamp function. When the radius normalization value is less than zero, the radius normalization value is corrected to zero. When the radius normalization value is greater than one, the radius normalization value is corrected to one. When the radius normalization value is between zero and one, the radius normalization value is retained, and the size mapping coefficient is obtained. The lerp function is executed based on the size mapping coefficient, the lower limit of the drawing distance, and the upper limit of the drawing distance to generate the object's basic drawing distance between the lower limit and the upper limit of the drawing distance. The object size-aware drawing distance mapping constraint is given by the following formula: ; ; in, For the first Size mapping coefficients for each rendered object For the first The radius of the object's bounding volume for each rendered object. This is the lower bound for size mapping. This is the upper limit of the size mapping. To draw the lower limit of distance, To draw the upper limit of distance, For the first The base draw distance of each rendered object; The function is used to normalize the radius to a value between zero and one. The function is used to perform linear interpolation between the lower limit and the upper limit of the drawing distance based on the size mapping coefficient; when hour, Pick This allows smaller objects to be prioritized for short-distance cropping. when hour, Pick This keeps large objects visible from a distance; when hour, according to exist and The objects are generated proportionally to each other, which allows for a smooth transition in the drawing distance of medium-sized objects and reduces abrupt changes in the visible state of objects. When the radius of the object's bounding volume cannot be read, As the safe drawing distance output, the object's base drawing distance is obtained.

[0014] Optionally, step four specifically includes: Read the object's base drawing distance and determine the rendering deload state corresponding to the rendering object based on the object's relative position within the drawing distance range; The distance range is divided into high retention range, medium compression range and low retention range according to the numerical value from high to low. When the base drawing distance of an object is in the high retention range, the rendered object is divided into a long distance retention state, an object-level drawing distance strategy that maintains the base drawing distance of the object is generated, and an object-level special effects participation strategy is retained according to the object rendering participation information. When the base drawing distance of an object is in the middle compression range, the rendered object is divided into a middle-distance channel compression state, generating an object-level drawing distance strategy and an object-level effect participation strategy that maintains geometric visibility and compresses the range of additional rendering channels. When the base draw distance of an object is in the low retention range, the rendered object is divided into a short clipping state, generating an object-level draw distance strategy and an object-level effect participation strategy that shortens the drawable distance of the object and skips the participation of additional effects. Based on the object type in the object-level rendering attribute set, determine the object-level effect participation strategy according to the correspondence between object type and effect retention level; Bind the rendering loadout state, object-level draw distance strategy, and object-level effects participation strategy according to the rendering object number.

[0015] Optionally, step five specifically includes: Set up a unified rendering load tool interface and use it as the entry point for strategy calls between the parameter configuration layer, strategy calculation layer, and execution delivery layer. Use the object-level rendering load configuration table, object-level rendering attribute set, object base drawing distance, object-level drawing distance strategy, and object-level special effects participation strategy as input objects for the unified rendering load tool interface. In the unified rendering load tool interface, set up a distance strategy call sub-interface and an effect strategy call sub-interface. The distance strategy call sub-interface is used to read the object-level drawing distance strategy, and the effect strategy call sub-interface is used to read the object-level effect participation strategy. Bind the object size-aware drawing distance mapping constraint to the unified rendering load tool interface, so that the object module can call the object base drawing distance generation rules through the unified rendering load tool interface; Write the object-level drawing distance strategy and object-level effect participation strategy into the strategy cache table according to the rendering object number, and associate the strategy cache table with the unified rendering load tool interface; When the object module initiates a strategy call request, the unified rendering load tool interface reads the corresponding object-level drawing distance strategy and object-level effect participation strategy according to the rendering object number, and outputs the object-level rendering strategy call result. The unified rendering load tool interface, policy cache table, and object-level rendering policy call results are combined into an object-level rendering policy call entry point.

[0016] Optionally, step six specifically includes: Define the cached maximum draw distance of the object mesh component. The cached maximum draw distance of the object mesh component is a write property in the object mesh component used to receive the object-level draw distance strategy and limit the maximum drawable distance of the rendered object. When a rendering object enters the object construction phase, the object-level rendering strategy entry point is used to read the object-level drawing distance strategy corresponding to the rendering object number, and the object-level drawing distance strategy is written into the maximum drawing distance cache of the object mesh component. During the object mesh component copying phase, the object-level drawing distance policy corresponding to the source object mesh component is synchronously written into the cache maximum drawing distance of the copied object mesh component, so that the copied object mesh component maintains the same drawing distance control rules as the source object mesh component; During the creation phase of a normal instantiated mesh component, the object-level drawing distance strategy is read according to the instantiation identifier, and the object-level drawing distance strategy is written into the maximum drawing distance cache of the normal instantiated mesh component. During the creation phase of the hierarchical instantiated mesh component, the object-level drawing distance strategy is read according to the instantiation identifier, and the object-level drawing distance strategy is written into the maximum drawing distance cache of the hierarchical instantiated mesh component. During the dynamic reconstruction phase of the asset object, the reference of the reconstructed object mesh component is read again, the object-level drawing distance strategy is reissued through the object-level rendering strategy call entry, and the maximum drawing distance of the reconstructed object mesh component cache is updated. For each write operation, a distance strategy write state is generated. The distance strategy write state is then bound to the rendering object number, component type, and object base drawing distance to obtain the distance deload execution result.

[0017] Optionally, step seven specifically includes: Read the object-level effects participation strategy, and read the object type, material channel identifier and effects participation identifier from the object-level rendering attribute set. Read the rendering deload status corresponding to the rendering object from the distance deload execution result. The object types are encoded into object type Roaring bitmaps according to main structure objects, equipment objects, pipeline objects, identification objects and accessory objects respectively. The rendering load reduction state is encoded into load reduction state Roaring bitmaps according to long distance retention state, medium distance channel compression state and short distance clipping state respectively. Encode the material channel identifier and the effect participation identifier into a material channel Roaring bitmap and an effect participation Roaring bitmap, respectively. Encode the effect retention level, effect compression level and effect skipping level in the object-level effect participation strategy into a channel action Roaring bitmap, respectively. By improving the Roaring Bitmap algorithm, bitmap intersection operations are performed on the object type Roaring bitmap, the unloaded state Roaring bitmap, the material channel Roaring bitmap, the special effect participation Roaring bitmap, and the channel action Roaring bitmap to obtain the special effect retained object set, the special effect compressed object set, and the special effect skipped object set. For the rendered objects in the effect retention object set, retain the participation status of stroke, highlight and additional rendering channels according to the effect participation identifier; For the rendered objects in the effects compression object set, retain the base material channel according to the material channel identifier, and turn off the corresponding items in stroke, highlight and post-processing tags; For rendering objects in the effect skip object collection, skip additional effects and retain the distance deload execution results; Bind the set of effects to be retained, the set of effects to be compressed, the set of effects to be skipped, and the participation status of additional rendering passes according to the rendering object number; The number of rendering objects in the set of objects to retain special effects, the set of objects to compress special effects, and the set of objects to skip special effects is counted. The number of objects participating in the additional rendering channel and the number of channels to close are also counted to obtain the channel downloading execution result.

[0018] Optionally, step eight specifically includes: Based on the distance load reduction execution results and the channel load reduction execution results, the feedback collection objects are determined, and the average frame rate, low percentile frame rate, frame time variance, number of DrawCalls, number of visible objects, number of objects participating in the additional rendering channel, CPU rendering thread time and total GPU time are collected according to the collection cycle during the operation of the complex 3D scene to obtain rendering load feedback data. The target load threshold is read from the object-level rendering load configuration table through the strategy calculation layer. The rendering load feedback data is compared with the target load threshold to generate distance load evaluation results and channel load evaluation results. When the number of DrawCalls, the number of visible objects, or the CPU rendering thread time exceeds the corresponding target load threshold, the strategy calculation layer generates the upper limit adjustment value of the drawing distance and the lower limit adjustment value of the size mapping based on the magnitude of the excess, and obtains the distance parameter update result; When the number of objects participating in the additional rendering channel or the total GPU time exceeds the corresponding target load threshold, the channel action level adjustment value is generated by the strategy calculation layer according to the magnitude of the excess, and the channel parameter update result is obtained. Read the target frame rate threshold and target variance threshold from the target load threshold. When the lower percentile frame rate is lower than the target frame rate threshold or the frame time variance exceeds the target variance threshold, perform a merge verification on the distance parameter update result and the channel parameter update result through the policy calculation layer to obtain the configuration update result. Write the configuration update result back to the object-level rendering load configuration table in the parameter configuration layer to obtain the updated object-level rendering load configuration table. The distance deload execution results, channel deload execution results, and the updated object-level rendering load configuration table are correlated to generate object-level rendering load co-optimization results.

[0019] The beneficial effects of this invention are: This invention establishes object size-aware mapping constraints by using the object bounding volume radius and configurable drawing distance parameters. This ensures that large main structures, equipment, and pipelines remain necessary to be visible when viewed from a distance, and reduces invalid drawing of identified objects and accessory objects at medium to long distances. This reduces the number of visible objects and DrawCalls, and alleviates the problem of uniform threshold failure caused by excessive differences in object scale in complex 3D scenes.

[0020] By co-generating object-level rendering distance strategies and object-level effect participation strategies, and encoding object types, rendering load reduction states, material channel identifiers, effect participation identifiers, and channel action levels into semantic Roaring bitmaps, and using an improved Roaring Bitmap algorithm to perform bitmap intersection operations, we can quickly generate effect-preserved object sets, effect-compressed object sets, and effect-skipped object sets, reducing the overhead of per-object traversal and per-condition judgment, and reducing the pressure on GPU-side pixel processing, target buffer writing, and CPU-side state submission.

[0021] By encapsulating drawing distance mapping constraints and two types of strategies through a unified rendering load tool interface, drawing distance strategies are uniformly distributed during the object construction, mesh component copying, instantiated component creation, and asset dynamic reconstruction stages, avoiding rule drift and misconfiguration risks caused by repeated implementations in multiple object modules. Combined with rendering load feedback data, the object-level rendering load configuration table is updated, enabling different projects to complete rendering load governance through configuration adjustments, improving delivery efficiency and maintenance consistency in complex scenarios. Attached Figure Description

[0022] The accompanying drawings are provided to further illustrate the invention and form part of the specification. They are used in conjunction with embodiments of the invention to explain the invention and do not constitute a limitation thereof. In the drawings: Figure 1 This is an overall flowchart of an object-level rendering load collaborative optimization method for complex scene environments proposed in this invention; Figure 2 This is a schematic diagram of the distance mapping constraint for object size perception proposed in this invention; Figure 3 This is a schematic diagram of the distance-based load reduction, improved Roaring Bitmap algorithm channel filtering, and feedback optimization closed loop proposed in this invention. Detailed Implementation

[0023] The present invention will now be described in further detail with reference to the accompanying drawings. These drawings are simplified schematic diagrams, illustrating only the basic structure of the invention, and therefore only show the components relevant to the invention.

[0024] refer to Figures 1-3 A collaborative optimization method for object-level rendering load in complex scene environments includes the following steps: Step 1: During the loading phase of a complex 3D scene, the parameter configuration layer reads the project rendering load configuration file, verifies the rendering load parameters in the project rendering load configuration file, and obtains the object-level rendering load configuration table. Step 2: Read the object mesh component of the rendered object through the strategy calculation layer, extract the object bounding volume radius, object type and object rendering participation information to obtain the object-level rendering attribute set; Step 3: Based on the object-level rendering load configuration table and object-level rendering attribute set, establish object size-aware drawing distance mapping constraints through the strategy calculation layer, perform interval clipping and linear interpolation on the radius of the object's bounding volume, and obtain the object's basic drawing distance; Step 4: Based on the object's basic drawing distance and object-level rendering attribute set, the strategy calculation layer divides the rendering load state and generates object-level drawing distance strategy and object-level effect participation strategy. Step 5: Establish a unified rendering load tool interface between the parameter configuration layer, strategy calculation layer, and execution delivery layer. Unify the object size-aware drawing distance mapping constraints, object-level drawing distance strategies, and object-level special effects participation strategies to obtain the object-level rendering strategy call entry point. Step 6: By executing the call entry point of the object-level rendering strategy in the lower layer, the object-level drawing distance strategy is issued during the object construction, mesh component copying, instantiated component creation and asset dynamic reconstruction stages, and the object-level drawing distance strategy is written into the object mesh component to obtain the distance deload execution result; Step 7: By executing the drop-down layer, the object-level effects participation strategy, object-level rendering attribute set, and distance deloading execution results are input into the improved Roaring Bitmap algorithm to perform object type channel filtering and obtain the channel deloading execution results; Step 8: Collect rendering load feedback data based on the distance load reduction execution results and the channel load reduction execution results. Generate configuration update results based on the rendering load feedback data through the strategy calculation layer, and write the configuration update results back to the object-level rendering load configuration table in the parameter configuration layer to generate object-level rendering load co-optimization results.

[0025] In this embodiment, step one specifically includes: The project rendering load configuration file is stored in the runtime configuration directory of the complex 3D scene project. The configuration file records the core distance parameters, core size parameters, and channel filtering parameters in a key-value pair structure. The parameter configuration layer reads the project rendering load configuration file after the scene resource index is loaded, and uses the configuration read time as the configuration effective time. In the campus-level high-density equipment scene, the upper limit of the drawing distance AssetCachedMaxDrawDistance is set to 1,000,000, the lower limit of the drawing distance AssetCachedMinDrawDistance is set to 1,000,000, the lower limit of the size mapping AssetCachedMinMeshRadius is set to 1, the upper limit of the size mapping AssetCachedMaxMeshRadius is set to 3,000, the main structure object and the pipeline object correspond to the effect retention level, the device object corresponds to the effect compression level, and the identifier object and the accessory object correspond to the effect skip level. The parameter configuration layer performs type recognition on core distance parameters and core size parameters. When the parameter is a string, the leading and trailing spaces are removed first, and then it is converted into a numeric parameter according to the floating-point number format. When the parameter is a numeric parameter, it is directly written to the parameter cache. When the string conversion fails, the parameter is missing, the parameter is empty, or the parameter is less than or equal to zero, the upper limit of the drawing distance is rolled back to 1,000,000, the lower limit of the drawing distance is rolled back to 1,000, the lower limit of the size mapping is rolled back to 1, and the upper limit of the size mapping is rolled back to 3,000. The default value replacement mark is written into the configuration verification record. The parameter configuration layer performs safety checks on the drawing distance range and size mapping range. When the upper limit of the drawing distance is less than or equal to the lower limit of the drawing distance, the upper limit of the drawing distance is corrected to the lower limit of the drawing distance plus 1000. When the upper limit of the size mapping is less than or equal to the lower limit of the size mapping, the upper limit of the size mapping is corrected to the lower limit of the size mapping plus 1. When the channel filtering parameters are not configured with object type filtering rules, the channel filtering parameters are generated according to the default effect retention level of the main structure object, equipment object, pipeline object, identification object and accessory object. The parameter configuration layer writes the verified core distance parameters, core size parameters, channel filtering parameters, configuration effective time, default value replacement flags, and interval correction flags into the runtime configuration structure, and generates an object-level rendering load configuration table according to the project number and configuration version number. The object-level rendering load configuration table serves as the parameter source for the strategy calculation layer to generate the object base drawing distance, object-level drawing distance strategy, and object-level special effects participation strategy. This enables different complex 3D scenes to complete the rendering load adjustment through configuration updates and avoids the failure of object size-aware drawing distance mapping due to missing parameters or interval anomalies.

[0026] In this embodiment, step two specifically involves: Iterate through the list of rendering objects in a complex 3D scene and read the object mesh component associated with each rendering object. Identify the component type of the object mesh component. The component types include static mesh components, ordinary instantiated mesh components, and hierarchical instantiated mesh components. Call the bounding body reading interface of the object mesh component to read the bounding sphere radius of the object mesh component, and use the bounding sphere radius as the bounding body radius of the object; Read the category identifier of the rendered object and map the category identifier to the object type. The object types include main structure object, device object, pipeline object, identifier object and accessory object. Read the instantiation identifier, material channel identifier, and effect participation identifier of the object mesh component, and combine the instantiation identifier, material channel identifier, and effect participation identifier into object rendering participation information; The object's bounding radius, object type, component type, and object rendering participation information are bound according to the rendering object number to obtain an object-level rendering property set.

[0027] In this embodiment, step three specifically includes: Read the upper limit of drawing distance, the lower limit of drawing distance, the upper limit of size mapping, and the lower limit of size mapping from the object-level rendering load configuration table, and read the object bounding volume radius of each rendered object from the object-level rendering attribute set; Perform interval validity checks on the upper and lower bounds of the size mapping. When the upper bound of the size mapping is less than or equal to the lower bound of the size mapping, perform a safety correction on the upper bound of the size mapping and use the safety-corrected upper bound of the size mapping to participate in the object size-aware drawing distance mapping. For each rendered object, the difference between the object's bounding volume radius and the lower limit of the size mapping is calculated, and the difference result is normalized according to the interval length between the upper limit and the lower limit of the size mapping to obtain the radius normalization value; The radius normalization value is processed by the clamp function. When the radius normalization value is less than zero, the radius normalization value is corrected to zero. When the radius normalization value is greater than one, the radius normalization value is corrected to one. When the radius normalization value is between zero and one, the radius normalization value is retained, and the size mapping coefficient is obtained. The lerp function is executed based on the size mapping coefficient, the lower limit of the drawing distance, and the upper limit of the drawing distance to generate the object's basic drawing distance between the lower limit and the upper limit of the drawing distance. The object size-aware drawing distance mapping constraint is given by the following formula: ; ; in, For the first Size mapping coefficients for each rendered object For the first The radius of the object's bounding volume for each rendered object. This is the lower bound for size mapping. This is the upper limit of the size mapping. To draw the lower limit of distance, To draw the upper limit of distance, For the first The base draw distance of each rendered object; The function is used to normalize the radius to a value between zero and one. The function is used to perform linear interpolation between the lower limit and the upper limit of the drawing distance based on the size mapping coefficient; when hour, Pick This allows smaller objects to be prioritized for short-distance cropping. when hour, Pick This keeps large objects visible from a distance; when hour, according to exist and The objects are generated proportionally to each other, which allows for a smooth transition in the drawing distance of medium-sized objects and reduces abrupt changes in the visible state of objects. When the radius of the object's bounding volume cannot be read, As the safe drawing distance output, the object's base drawing distance is obtained.

[0028] In this embodiment, step four specifically includes: Read the object's base drawing distance and determine the rendering deload state corresponding to the rendering object based on the object's relative position within the drawing distance range; The distance range is divided into high retention range, medium compression range and low retention range according to the numerical value from high to low. When the base drawing distance of an object is in the high retention range, the rendered object is divided into a long distance retention state, an object-level drawing distance strategy that maintains the base drawing distance of the object is generated, and an object-level special effects participation strategy is retained according to the object rendering participation information. When the base drawing distance of an object is in the middle compression range, the rendered object is divided into a middle-distance channel compression state, generating an object-level drawing distance strategy and an object-level effect participation strategy that maintains geometric visibility and compresses the range of additional rendering channels. When the base draw distance of an object is in the low retention range, the rendered object is divided into a short clipping state, generating an object-level draw distance strategy and an object-level effect participation strategy that shortens the drawable distance of the object and skips the participation of additional effects. Based on the object type in the object-level rendering attribute set, determine the object-level effect participation strategy according to the correspondence between object type and effect retention level; Bind the rendering loadout state, object-level draw distance strategy, and object-level effects participation strategy according to the rendering object number.

[0029] In this embodiment, step five specifically includes: Set up a unified rendering load tool interface and use it as the entry point for strategy calls between the parameter configuration layer, strategy calculation layer, and execution delivery layer. Use the object-level rendering load configuration table, object-level rendering attribute set, object base drawing distance, object-level drawing distance strategy, and object-level special effects participation strategy as input objects for the unified rendering load tool interface. In the unified rendering load tool interface, set up a distance strategy call sub-interface and an effect strategy call sub-interface. The distance strategy call sub-interface is used to read the object-level drawing distance strategy, and the effect strategy call sub-interface is used to read the object-level effect participation strategy. Bind the object size-aware drawing distance mapping constraint to the unified rendering load tool interface, so that the object module can call the object base drawing distance generation rules through the unified rendering load tool interface; Write the object-level drawing distance strategy and object-level effect participation strategy into the strategy cache table according to the rendering object number, and associate the strategy cache table with the unified rendering load tool interface; When the object module initiates a strategy call request, the unified rendering load tool interface reads the corresponding object-level drawing distance strategy and object-level effect participation strategy according to the rendering object number, and outputs the object-level rendering strategy call result. The unified rendering load tool interface, policy cache table, and object-level rendering policy call results are combined into an object-level rendering policy call entry point.

[0030] In this embodiment, step six specifically includes: In the specific implementation process, the execution layer deploys the object-level rendering strategy call entry point at a unified call location for the object construction process, mesh component copying process, instantiated component creation process, and asset dynamic reconstruction process; the object mesh component caches the maximum drawing distance CachedMaxDrawDistance as a drawing distance strategy attribute, receives the object's drawable distance value in the object-level drawing distance strategy, and limits the maximum drawable distance of the rendered object in complex 3D scenes. During the object construction phase, the execution layer calls the object-level rendering strategy entry point based on the rendered object number, reads the object-level drawing distance strategy, and writes it into the maximum drawing distance cache of the object mesh component. During the object mesh component copying phase, the execution layer reads the rendered object number and component type of the source object mesh component, and synchronously writes the object-level drawing distance strategy corresponding to the source object mesh component into the maximum drawing distance cache of the copied object mesh component. During the ordinary instantiated mesh component creation phase and the hierarchical instantiated mesh component creation phase, the execution layer reads the object-level drawing distance strategy based on the instantiation identifier and writes it into the maximum drawing distance cache of the corresponding instantiated mesh component. During the dynamic reconstruction phase of the asset object, the execution layer rereads the reference of the reconstructed object mesh component and calls the object-level rendering strategy entry point again according to the rendering object number; when the reference of the reconstructed object mesh component is valid, the execution layer writes the object-level drawing distance strategy into the maximum drawing distance of the reconstructed object mesh component cache; when the reference of the reconstructed object mesh component is empty, the execution layer generates a marker to be reissued and executes the drawing distance strategy to be written again after the object mesh component reference is restored. The execution layer records the distance policy write status for each write operation. The distance policy write status includes write success, missing component reference, unmatched policy, and pending reissue status. The execution layer binds the distance policy write status with the rendering object number, component type, instantiation identifier, and object base drawing distance to obtain the distance deload execution result. The distance deload execution result is used to support channel filtering and rendering load feedback collection, ensuring that the object-level drawing distance policy is consistently issued at key nodes in the object lifecycle, reducing the risk of policy misconfiguration and multi-module rule drift.

[0031] In this embodiment, step seven specifically includes: The improved Roaring Bitmap algorithm is input into the object-level effects participation strategy, object-level rendering attribute set, and distance deloading execution result, and then object type channel filtering is performed to obtain the channel deloading execution result. The original Roaring Bitmap algorithm consists of three parts: high-order bucket index, low-order compressed container, and container set operation. The high-order bucket index is used to determine the corresponding bucket based on the high-order part of the integer number. The low-order compressed container is used to store the low-order part of the integer number within the same bucket. The low-order compressed container includes array container, bitmap container, and continuous interval container. The container set operation is used to perform intersection, union, and difference operations on the low-order compressed containers under the same high-order bucket. The improved Roaring Bitmap algorithm retains the original Roaring Bitmap algorithm's high-order bucket index, low-order compressed container, and container set operation structure, and inserts a channel semantic hierarchical index between the high-order bucket index and the low-order compressed container. The channel semantic hierarchical index is used to map the same rendering object number to different semantic bitmap groups according to object type, rendering deload state, material channel identifier, effect participation identifier, and channel action level, thus expanding the original Roaring Bitmap structure, which only expressed the membership relationship of integer sets, into a bitmap structure that expresses the semantics of rendering channel filtering. The channel semantic layered index includes the object type semantic layer, the deload state semantic layer, the material channel semantic layer, the effects participation semantic layer, and the channel action semantic layer. The object type semantic layer encodes the main structure object, device object, pipeline object, identifier object, and accessory object into object type Roaring bitmaps respectively. The deload state semantic layer encodes the long-range retention state, mid-range channel compression state, and short-range clipping state into deload state Roaring bitmaps respectively. The material channel semantic layer encodes the basic material channel, stroke channel, highlight channel, and post-processing channel into material channel Roaring bitmaps respectively. The effects participation semantic layer encodes rendering objects with effects participation identifiers into effects participation Roaring bitmaps. The channel action semantic layer encodes the effects retention level, effects compression level, and effects skip level into channel action Roaring bitmaps respectively. The improved Roaring Bitmap algorithm also adds a channel action mask output layer after the container set operation; the channel action mask output layer is used to convert the object set obtained from the container set operation into an effect-preserved object set, an effect-compressed object set, and an effect-skipped object set, and maps the three types of object sets to the preservation, disabling, or skipping actions of the stroke, highlight, post-processing mark, and additional rendering channels; The purpose of the above improvements to the original Roaring Bitmap algorithm is to make object type channel filtering no longer rely on object-by-object traversal and condition-by-condition judgment, but to determine the channel actions of multiple rendering objects at once through set operations between semantic bitmap groups; by inserting a channel semantic hierarchical index between the high-bit bucket index and the low-bit compressed container, the rendering object number, object type, deload status, and channel participation information can maintain a corresponding relationship in the same compressed bitmap system; by adding a channel action mask output layer after the container set operation, the set operation result can be directly converted into a channel filtering result that can be called by the execution downlink layer. When performing object type channel filtering in the improved Roaring Bitmap algorithm, the object type Roaring bitmap is first intersected with the deloaded state Roaring bitmap to obtain a candidate filtering object set. Then, the candidate filtering object set is intersected with the material channel Roaring bitmap, the effect participation Roaring bitmap, and the channel action Roaring bitmap to obtain an effect retention object set, an effect compression object set, and an effect skip object set. When the candidate filter object set belongs to the main structure object or the pipeline object and corresponds to the long-range retention state, the candidate filter object set is written to the effect retention object set; when the candidate filter object set belongs to the device object or corresponds to the mid-range channel compression state, the candidate filter object set is written to the effect compression object set; when the candidate filter object set belongs to the identifier object, the attachment object, or corresponds to the short-range clipping state, the candidate filter object set is written to the effect skip object set; when the same rendering object hits multiple sets in the effect retention object set, the effect compression object set, and the effect skip object set at the same time, the final channel action is determined according to the order of the effect skip object set, the effect compression object set, and the effect retention object set. For the rendered objects in the effect retention object set, retain the participation status of stroke, highlight, and additional rendering channels according to the effect participation identifier; for the rendered objects in the effect compression object set, retain the base material channel according to the material channel identifier, and turn off the corresponding items in stroke, highlight, and post-processing markers; for the rendered objects in the effect skip object set, skip the participation of additional effects, and retain the distance deloading execution result. The advantages of the improved Roaring Bitmap algorithm compared to the original Roaring Bitmap algorithm are that, without changing the storage efficiency of the original low-bit compression container and the efficiency of set operations, it enables the compressed bitmap to have the semantic expression capabilities of object type, deload status, and channel action; a large number of identified objects, attachment objects, and low-priority device objects can be quickly removed from the stroke, highlight, and post-processing channels through semantic bitmap intersection, reducing the number of objects involved in additional rendering channels; the effect retention object set, effect compression object set, and effect skip object set are all generated according to the rendering object number, which can be directly associated with the distance deload execution result and rendering load feedback data, thereby improving the channel filtering efficiency of the execution layer and maintaining the consistency of channel filtering rules between different object modules; The number of rendering objects in the set of objects to retain special effects, the set of objects to compress special effects, and the set of objects to skip special effects is counted. The number of objects participating in the additional rendering channel and the number of channels to close are also counted to obtain the channel downloading execution result.

[0032] In this embodiment, step eight specifically includes: The feedback collection cycle is set to 30 seconds. The execution layer determines the feedback collection objects based on the distance deload execution results and the channel deload execution results. The average frame rate, low percentile frame rate, frame time variance, number of DrawCalls, number of visible objects, number of objects participating in the additional rendering channel, CPU rendering thread time, and total GPU time are collected under the following conditions: static view, slow cruise, fast flight, zoom switching, and effects on / off. The rendering load feedback data is written to the feedback cache according to the collection cycle, condition identifier, and configuration version number. The strategy calculation layer reads the target load thresholds from the object-level rendering load configuration table. The target load thresholds include the target average frame rate threshold, the target low percentile frame rate threshold, the target frame time variance threshold, the target DrawCall threshold, the target number of visible objects threshold, the target number of objects participating in additional rendering channels threshold, the target CPU rendering thread time threshold, and the target GPU total time threshold. The strategy calculation layer compares the rendering load feedback data with the target load thresholds item by item, and generates distance load evaluation results based on distance-related indicators, and generates channel load evaluation results based on channel-related indicators. When the number of DrawCalls, the number of visible objects, or the CPU rendering thread time exceeds the corresponding target load threshold, the strategy calculation layer generates upper limit adjustment values ​​for drawing distance and lower limit adjustment values ​​for size mapping based on the magnitude of the exceedance. When the magnitude of the exceedance increases, the downward adjustment of the upper limit adjustment value for drawing distance increases, and the upward adjustment of the lower limit adjustment value for size mapping increases, causing small objects to exit the rendering queue earlier at medium to long distances. When the number of objects participating in the additional rendering channel or the total GPU time exceeds the corresponding target load threshold, the strategy calculation layer generates channel action level adjustment values ​​based on the magnitude of the exceedance, further compressing the effect participation range of identified objects, attachment objects, and low-priority device objects. When the low percentile frame rate is lower than the target low percentile frame rate threshold or the frame time variance exceeds the target frame time variance threshold, the strategy calculation layer performs a merge check on the distance parameter update result and the channel parameter update result. The merge check uses the upper limit of the configuration update magnitude as a constraint to prevent the drawing distance parameter and channel action level from changing too much within a single acquisition cycle. The configuration update result after the merge check is written back to the object-level rendering load configuration table in the parameter configuration layer, and an updated object-level rendering load configuration table is generated. The parameter configuration layer binds the updated object-level rendering load configuration table to the original configuration version number through version increment. The strategy calculation layer reads the updated object-level rendering load configuration table in the next collection cycle, and the execution delivery layer continues to deliver the object-level drawing distance strategy and object-level special effects participation strategy according to the object-level rendering strategy call entry. This forms a closed loop between the distance deload execution result, the channel deload execution result, the rendering load feedback data, the configuration update result, and the object-level rendering load co-optimization result, improving the frame-time stability of complex 3D scenes under different camera movements and special effects switching conditions.

[0033] Example 1: Verification of Collaborative Optimization of Object-Level Rendering Distance in Multi-Scale Complex Scenes To verify the feasibility of this invention in practice, it was applied to a high-density equipment and surface-underground combined 3D visualization scene at the park level. The scene contained 234,000 rendered objects, including main buildings, surface roads, underground pipe corridors, main pipelines, ground equipment, equipment nameplates, valve accessories, signs, and inspection prompts. Traditional unified drawing distance schemes still retain a large number of marked and accessory objects at long distances, resulting in a high number of draw calls. However, directly lowering the unified drawing distance threshold would cause large buildings, main pipelines, and key equipment to disappear prematurely, affecting the continuous observation effect of above-ground and underground environments.

[0034] During implementation, the parameter configuration layer reads the project rendering load configuration file and sets AssetCachedMaxDrawDistance to 1,000,000, AssetCachedMinDrawDistance to 1,000, AssetCachedMinMeshRadius to 1, and AssetCachedMaxMeshRadius to 3,000. The strategy calculation layer reads the object mesh component of each rendered object, extracts the object bounding volume radius, object type, and object rendering participation information, generates the object's basic drawing distance based on the object size-aware drawing distance mapping constraint, and further generates object-level drawing distance strategy and object-level effect participation strategy.

[0035] The execution layer writes object-level drawing distance strategies during object construction, mesh component copying, creation of ordinary instantiated mesh components, creation of hierarchical instantiated mesh components, and dynamic asset reconstruction. At the same time, the execution layer inputs the object-level effect participation strategy, object-level rendering attribute set, and distance deload execution results into the improved Roaring Bitmap algorithm. The object type, rendering deload state, material channel identifier, effect participation identifier, and channel action level are encoded into a semantic Roaring bitmap. Through bitmap intersection operations, a set of effect-preserved objects, a set of effect-compressed objects, and a set of effect-skipped objects are generated, and stroke, highlight, and post-processing channel filtering are performed accordingly.

[0036] The test setup included three schemes. The first scheme was a uniform drawing distance scheme, where all objects used the same drawing distance threshold and maintained the original special effects participation rules. The second scheme was a manually graded drawing distance scheme, where different drawing distances were configured manually according to object categories, and some additional rendering channels were disabled using a common object type judgment method. The third scheme was the one proposed in this invention, which simultaneously performed object size-aware drawing distance mapping, improved Roaring Bitmap algorithm channel filtering, and rendering load feedback updates.

[0037] The testing process used the same hardware environment and the same scene resource package. All three schemes were run under the same camera path and the same interaction script. Data recording begins after a 2-minute warm-up period for each type of operating condition, excluding abnormal frame data generated during the initial resource loading phase. Average frame rate, P5 frame rate, frame time variance, and number of frame time spikes are statistically analyzed uniformly based on the data collected under five different operating conditions. The average DrawCall count, number of visible objects, number of objects participating in additional channels, CPU rendering thread time, and total GPU time were averaged over the stable operating range for each condition. The results are shown in Table 1 below. Table 1. Comparison of the collaborative optimization effects of different schemes in multi-scale complex scenarios.

[0038] As shown in Table 1, compared with the unified drawing distance scheme, the average frame rate of the present invention is increased from 41.8 FPS to 72.4 FPS, the P5 frame rate is increased from 27.6 FPS to 57.2 FPS, the frame time variance is reduced from 7.1 to 2.4, and the number of frame time spikes is reduced from 42 to 9. The average DrawCall is reduced from 21300 to 9700, the peak DrawCall is reduced from 27900 to 12800, the number of visible objects is reduced from 151000 to 68100, the number of objects participating in the additional channel is reduced from 53600 to 18400, the CPU rendering thread time is reduced from 19.4ms to 9.7ms, and the total GPU time is reduced from 22.6ms to 13.1ms.

[0039] Average frame rate and P5 frame rate are used to reflect the overall smoothness and low frame stability during complex scene operation; frame time variance and number of frame time spikes are used to reflect the screen jitter during fast flight, scaling, and effect switching; average DrawCall and peak DrawCall are used to reflect the rendering submission pressure; number of visible objects is used to reflect the load reduction effect of the object-level drawing distance strategy on small-sized objects at medium to long distances; number of objects participating in additional channels is used to reflect the filtering effect of the improved Roaring Bitmap algorithm on stroke, highlight, and post-processing channels; CPU rendering thread time and total GPU time are used to reflect the combined load on both sides of the rendering pipeline.

[0040] Example 2: Cooperative Optimization Verification of Special Effects Channel Filtering and Configurable Migration Scenarios To verify the feasibility of this invention in practice, it was applied to a special effects-sensitive operating environment and a multi-project delivery migration scenario. The scenario includes additional rendering channels such as device operation highlighting, fault outlining, semi-transparent area overlay, inspection path prompts, and post-processing marking. Traditional solutions continuously enable outlining, highlighting, and post-processing marking on identified objects, accessory objects, and low-priority device objects, resulting in a high number of objects participating in the additional rendering channels. Different projects also need to repeatedly modify the object module code, which can easily lead to policy misconfiguration and configuration inconsistencies.

[0041] During implementation, the parameter configuration layer still reads the project rendering load configuration file according to the unified configuration method, and sets AssetCachedMaxDrawDistance to 1000000, AssetCachedMinDrawDistance to 1000, AssetCachedMinMeshRadius to 1, and AssetCachedMaxMeshRadius to 3000. At the same time, the object type filtering rules and effect channel filtering rules are recorded in the project rendering load configuration file. The main structure objects and pipeline objects correspond to the effect retention level, the device objects correspond to the effect compression level, and the identifier objects and accessory objects correspond to the effect skip level.

[0042] The execution layer reads the object-level effect participation strategy through the object-level rendering strategy call entry point, and encodes the main structure object, device object, pipeline object, identifier object and accessory object into object type Roaring bitmaps respectively. The long distance retention state, mid distance channel compression state and short distance clipping state are respectively encoded into load reduction state Roaring bitmaps. The basic material channel, stroke channel, highlight channel and post-processing channel are respectively encoded into material channel Roaring bitmaps. The rendering object with effect participation identifier is encoded into effect participation Roaring bitmaps. And the effect retention level, effect compression level and effect skip level are encoded into channel action Roaring bitmaps.

[0043] The improved Roaring Bitmap algorithm performs an intersection operation between the object type Roaring bitmap and the deload state Roaring bitmap to obtain a candidate filter object set. This candidate filter object set is then subjected to intersection operations with the material channel Roaring bitmap, the effect participation Roaring bitmap, and the channel action Roaring bitmap, respectively, to obtain an effect retention object set, an effect compression object set, and an effect skip object set. The effect retention object set retains the stroke, highlight, and additional rendering channel participation states; the effect compression object set retains the basic material channel and disables low-priority additional effects; and the effect skip object set skips additional effect participation.

[0044] Three test scenarios were set up. The first scenario was a distributed module effects configuration scenario, where each object module maintained its own rules for outlining, highlighting, and post-processing participation. The second scenario was a general object type filtering scenario, which judged each object type and disabled some additional rendering channels, without using semantic Roaring bitmaps and bitmap intersection operations. The third scenario was the scheme of this invention, which simultaneously executed the improved Roaring Bitmap algorithm channel filtering, unified rendering load tool interface calls, and rendering load feedback updates. The test process involved repeatedly migrating configurations in three project scenarios and running for 10 minutes under five conditions: effects on, effects off, slow cruise, fast flight, and zoom switching. The results are shown in Table 2 below.

[0045] Table 2. Comparison of the collaborative optimization effects of different schemes in special effects channel filtering and configurable migration scenarios.

[0046] As shown in Table 2, compared with the distributed module effects configuration scheme, the average frame rate of the present invention is increased from 46.2 FPS to 74.1 FPS, the P5 frame rate is increased from 30.5 FPS to 58.7 FPS, the number of additional channel participants is reduced from 52,600 to 17,600, the number of channels closed is increased from 0 to 35,000, the channel filtering time is reduced from 8.6ms to 1.3ms, the total GPU time is reduced from 23.4ms to 12.6ms, the CPU rendering thread time is reduced from 17.8ms to 9.8ms; the number of policy misconfigurations is reduced from 18 to 0, the cross-project configuration migration time is reduced from 95min to 12min, and the number of configuration regression issues is reduced from 11 to 0.

[0047] The number of additional channel participants and the number of channels closed reflect the effect of object type channel filtering on reducing strokes, highlights, and post-processing markers; channel filtering time reflects the efficiency of the improved Roaring Bitmap algorithm in bitmap intersection processing in large-scale rendering object sets; total GPU time reflects the impact of reducing additional rendering channels on graphics processing load; CPU rendering thread time reflects the impact of unified policy calls and object number compression on the rendering submission process; the number of policy misconfigurations, cross-project configuration migration time, and the number of configuration regression issues reflect the improvement of project maintenance efficiency brought by the unified rendering load tool interface and project rendering load configuration files.

[0048] The reason why this invention achieves the above-mentioned effects is that the improved Roaring Bitmap algorithm retains the original Roaring Bitmap algorithm's high-bit bucket index, low-bit compressed container, and container set operation structure, and inserts a channel semantic hierarchical index between the high-bit bucket index and the low-bit compressed container. After the container set operation, a channel action mask output layer is added, so that object type, load deload state, material channel, effect identifier, and channel action can be matched and output in the same compressed bitmap system. The unified rendering load tool interface allows different object modules to only call the object-level rendering strategy call entry point, and no longer repeatedly implement the drawing distance calculation and effect filtering rules, thereby reducing the cost of strategy drift, mismatch, and regression maintenance.

[0049] The above description is only a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any equivalent substitutions or modifications made by those skilled in the art within the scope of the technology disclosed in the present invention, based on the technical solution and inventive concept of the present invention, should be covered within the scope of protection of the present invention.

Claims

1. A collaborative optimization method for object-level rendering load in complex scene environments, characterized in that, Includes the following steps: Step 1: During the loading phase of a complex 3D scene, the parameter configuration layer reads the project rendering load configuration file, verifies the rendering load parameters in the project rendering load configuration file, and obtains the object-level rendering load configuration table. Step 2: Read the object mesh component of the rendered object through the strategy calculation layer, extract the object bounding volume radius, object type, and object rendering participation information to obtain the object-level rendering attribute set; Step 3: Based on the object-level rendering load configuration table and object-level rendering attribute set, establish object size-aware drawing distance mapping constraints through the strategy calculation layer, perform interval clipping and linear interpolation on the radius of the object's bounding volume, and obtain the object's basic drawing distance; Step 4: Based on the object's basic drawing distance and object-level rendering attribute set, the strategy calculation layer divides the rendering load state and generates object-level drawing distance strategy and object-level effect participation strategy. Step 5: Establish a unified rendering load tool interface between the parameter configuration layer, strategy calculation layer, and execution delivery layer. Unify the object size-aware drawing distance mapping constraints, object-level drawing distance strategies, and object-level special effects participation strategies to obtain the object-level rendering strategy call entry point. Step 6: By executing the call entry point of the object-level rendering strategy in the lower layer, the object-level drawing distance strategy is issued during the object construction, mesh component copying, instantiated component creation and asset dynamic reconstruction stages, and the object-level drawing distance strategy is written into the object mesh component to obtain the distance deload execution result; Step 7: By executing the drop-down layer, the object-level effects participation strategy, object-level rendering attribute set, and distance deloading execution results are input into the improved Roaring Bitmap algorithm to perform object type channel filtering and obtain the channel deloading execution results; Step 8: Collect rendering load feedback data based on the distance load reduction execution results and the channel load reduction execution results. Generate configuration update results based on the rendering load feedback data through the strategy calculation layer, and write the configuration update results back to the object-level rendering load configuration table in the parameter configuration layer to generate object-level rendering load co-optimization results.

2. The object-level rendering load collaborative optimization method suitable for complex scene environments according to claim 1, characterized in that, Step one specifically involves: Read the core distance parameters, core size parameters, and channel filtering parameters from the project rendering load configuration file. The core distance parameters include the upper limit and lower limit of the drawing distance, the core size parameters include the lower limit and upper limit of the size mapping, and the channel filtering parameters include the object type filtering rules and the special effects channel filtering rules. Identify the data types of core distance parameters and core size parameters. When the core distance parameter or core size parameter is a string type, convert the string type parameter to a numeric type parameter. When the core distance parameter or core size parameter is a numeric type, read the numeric type parameter directly. Perform validity checks on numeric parameters. If a numeric parameter is missing, empty, or less than or equal to zero, replace the corresponding numeric parameter with the default parameter value. Perform distance range validation on the upper and lower limits of the drawing distance. When the upper limit of the drawing distance is less than or equal to the lower limit of the drawing distance, correct the upper limit of the drawing distance to a value greater than the lower limit of the drawing distance. Perform size range verification on the upper and lower limits of size mapping. When the upper limit of size mapping is less than or equal to the lower limit of size mapping, correct the upper limit of size mapping to a value greater than the lower limit of size mapping. The verified core distance parameters, core size parameters, and channel filtering parameters are written into the runtime configuration structure to obtain the object-level rendering load configuration table.

3. The object-level rendering load collaborative optimization method suitable for complex scene environments according to claim 1, characterized in that, Step two specifically involves: Iterate through the list of rendering objects in a complex 3D scene and read the object mesh component associated with each rendering object. Identify the component type of the object mesh component. The component types include static mesh components, ordinary instantiated mesh components, and hierarchical instantiated mesh components. Call the bounding body reading interface of the object mesh component to read the bounding sphere radius of the object mesh component, and use the bounding sphere radius as the bounding body radius of the object; Read the category identifier of the rendered object and map the category identifier to the object type. The object types include main structure object, device object, pipeline object, identifier object and accessory object. Read the instantiation identifier, material channel identifier, and effect participation identifier of the object mesh component, and combine the instantiation identifier, material channel identifier, and effect participation identifier into object rendering participation information; The object's bounding radius, object type, component type, and object rendering participation information are bound according to the rendering object number to obtain an object-level rendering property set.

4. The object-level rendering load collaborative optimization method suitable for complex scene environments according to claim 1, characterized in that, Step three specifically involves: Read the upper limit of drawing distance, the lower limit of drawing distance, the upper limit of size mapping, and the lower limit of size mapping from the object-level rendering load configuration table, and read the object bounding volume radius of each rendered object from the object-level rendering attribute set; Perform interval validity checks on the upper and lower bounds of the size mapping. When the upper bound of the size mapping is less than or equal to the lower bound of the size mapping, perform a safety correction on the upper bound of the size mapping and use the safety-corrected upper bound of the size mapping to participate in the object size-aware drawing distance mapping. For each rendered object, the difference between the object's bounding volume radius and the lower limit of the size mapping is calculated, and the difference result is normalized according to the interval length between the upper limit and the lower limit of the size mapping to obtain the radius normalization value; The radius normalization value is processed by the clamp function. When the radius normalization value is less than zero, the radius normalization value is corrected to zero. When the radius normalization value is greater than one, the radius normalization value is corrected to one. When the radius normalization value is between zero and one, the radius normalization value is retained, and the size mapping coefficient is obtained. The lerp function is executed based on the size mapping coefficient, the lower limit of the drawing distance, and the upper limit of the drawing distance to generate the object's basic drawing distance between the lower limit and the upper limit of the drawing distance. When the radius of the object's bounding volume is less than or equal to the lower limit of the size mapping, the object's base drawing distance is set to the lower limit of the drawing distance. When the radius of the object's bounding volume is greater than or equal to the upper limit of the size mapping, the object's base drawing distance is set to the upper limit of the drawing distance; When the radius of the object's bounding volume cannot be read, the lower limit of the drawing distance is used as the safe drawing distance output to obtain the object's basic drawing distance.

5. The object-level rendering load collaborative optimization method suitable for complex scene environments according to claim 1, characterized in that, Step four specifically involves: Read the object's base drawing distance and determine the rendering deload state corresponding to the rendering object based on the object's relative position within the drawing distance range; The distance range is divided into high retention range, medium compression range and low retention range according to the numerical value from high to low. When the base drawing distance of an object is in the high retention range, the rendered object is divided into a long distance retention state, an object-level drawing distance strategy that maintains the base drawing distance of the object is generated, and an object-level special effects participation strategy is retained according to the object rendering participation information. When the base drawing distance of an object is in the middle compression range, the rendered object is divided into a middle-distance channel compression state, generating an object-level drawing distance strategy and an object-level effect participation strategy that maintains geometric visibility and compresses the range of additional rendering channels. When the base draw distance of an object is in the low retention range, the rendered object is divided into a short clipping state, generating an object-level draw distance strategy and an object-level effect participation strategy that shortens the drawable distance of the object and skips the participation of additional effects. Based on the object type in the object-level rendering attribute set, determine the object-level effect participation strategy according to the correspondence between object type and effect retention level; Bind the rendering loadout state, object-level draw distance strategy, and object-level effects participation strategy according to the rendering object number.

6. The object-level rendering load collaborative optimization method suitable for complex scene environments according to claim 1, characterized in that, Step five specifically involves: Set up a unified rendering load tool interface and use it as the entry point for strategy calls between the parameter configuration layer, strategy calculation layer, and execution delivery layer. Use the object-level rendering load configuration table, object-level rendering attribute set, object base drawing distance, object-level drawing distance strategy, and object-level special effects participation strategy as input objects for the unified rendering load tool interface. In the unified rendering load tool interface, set up a distance strategy call sub-interface and an effect strategy call sub-interface. The distance strategy call sub-interface is used to read the object-level drawing distance strategy, and the effect strategy call sub-interface is used to read the object-level effect participation strategy. Bind the object size-aware drawing distance mapping constraint to the unified rendering load tool interface, so that the object module can call the object base drawing distance generation rules through the unified rendering load tool interface; Write the object-level drawing distance strategy and object-level effect participation strategy into the strategy cache table according to the rendering object number, and associate the strategy cache table with the unified rendering load tool interface; When the object module initiates a strategy call request, the unified rendering load tool interface reads the corresponding object-level drawing distance strategy and object-level effect participation strategy according to the rendering object number, and outputs the object-level rendering strategy call result. The unified rendering load tool interface, policy cache table, and object-level rendering policy call results are combined into an object-level rendering policy call entry point.

7. The object-level rendering load collaborative optimization method suitable for complex scene environments according to claim 1, characterized in that, Step six specifically involves: Define the maximum draw distance cached by the object mesh component. The maximum draw distance cached by the object mesh component is a write property in the object mesh component used to receive the object-level draw distance strategy and limit the maximum drawable distance of the rendered object. When a rendering object enters the object construction phase, the object-level rendering strategy entry point is used to read the object-level drawing distance strategy corresponding to the rendering object number, and the object-level drawing distance strategy is written into the maximum drawing distance cache of the object mesh component. During the object mesh component copying phase, the object-level drawing distance policy corresponding to the source object mesh component is synchronously written into the cache maximum drawing distance of the copied object mesh component, so that the copied object mesh component maintains the same drawing distance control rules as the source object mesh component; During the creation phase of a normal instantiated mesh component, the object-level drawing distance strategy is read according to the instantiation identifier, and the object-level drawing distance strategy is written into the maximum drawing distance cache of the normal instantiated mesh component. During the creation phase of the hierarchical instantiated mesh component, the object-level drawing distance strategy is read according to the instantiation identifier, and the object-level drawing distance strategy is written into the maximum drawing distance cache of the hierarchical instantiated mesh component. During the dynamic reconstruction phase of the asset object, the reference of the reconstructed object mesh component is read again, the object-level drawing distance strategy is reissued through the object-level rendering strategy call entry, and the maximum drawing distance of the reconstructed object mesh component cache is updated. For each write operation, a distance strategy write state is generated. The distance strategy write state is then bound to the rendering object number, component type, and object base drawing distance to obtain the distance deload execution result.

8. The object-level rendering load collaborative optimization method suitable for complex scene environments according to claim 1, characterized in that, Step seven specifically involves: Read the object-level effects participation strategy, and read the object type, material channel identifier and effects participation identifier from the object-level rendering attribute set. Read the rendering deload status corresponding to the rendering object from the distance deload execution result. The object types are encoded into object type Roaring bitmaps according to main structure objects, equipment objects, pipeline objects, identification objects and accessory objects respectively. The rendering load reduction state is encoded into load reduction state Roaring bitmaps according to long distance retention state, medium distance channel compression state and short distance clipping state respectively. Encode the material channel identifier and the effect participation identifier into a material channel Roaring bitmap and an effect participation Roaring bitmap, respectively. Encode the effect retention level, effect compression level and effect skipping level in the object-level effect participation strategy into a channel action Roaring bitmap, respectively. By improving the Roaring Bitmap algorithm, bitmap intersection operations are performed on the object type Roaring bitmap, the unloaded state Roaring bitmap, the material channel Roaring bitmap, the special effect participation Roaring bitmap, and the channel action Roaring bitmap to obtain the special effect retained object set, the special effect compressed object set, and the special effect skipped object set. For the rendered objects in the set of effect retention objects, retain the participation status of stroke, highlight and additional rendering channels according to the effect participation identifier; For the rendered objects in the effects compression object set, retain the base material channel according to the material channel identifier, and turn off the corresponding items in stroke, highlight and post-processing tags; For rendering objects in the effect skip object collection, skip additional effects and retain the distance deload execution results; Bind the set of effects to be retained, the set of effects to be compressed, the set of effects to be skipped, and the participation status of additional rendering passes according to the rendering object number; The number of rendering objects in the set of objects to retain special effects, the set of objects to compress special effects, and the set of objects to skip special effects is counted. The number of objects participating in the additional rendering channel and the number of channels to close are also counted to obtain the channel downloading execution result.

9. The object-level rendering load collaborative optimization method suitable for complex scene environments according to claim 1, characterized in that, Step eight specifically involves: Based on the distance load reduction execution results and the channel load reduction execution results, the feedback collection objects are determined, and the average frame rate, low percentile frame rate, frame time variance, number of DrawCalls, number of visible objects, number of objects participating in the additional rendering channel, CPU rendering thread time and total GPU time are collected according to the collection cycle during the operation of the complex 3D scene to obtain rendering load feedback data. The target load threshold is read from the object-level rendering load configuration table through the strategy calculation layer. The rendering load feedback data is compared with the target load threshold to generate distance load evaluation results and channel load evaluation results. When the number of DrawCalls, the number of visible objects, or the CPU rendering thread time exceeds the corresponding target load threshold, the strategy calculation layer generates the upper limit adjustment value of the drawing distance and the lower limit adjustment value of the size mapping based on the magnitude of the excess, and obtains the distance parameter update result; When the number of objects participating in the additional rendering channel or the total GPU time exceeds the corresponding target load threshold, the channel action level adjustment value is generated by the strategy calculation layer according to the magnitude of the excess, and the channel parameter update result is obtained. Read the target frame rate threshold and target variance threshold from the target load threshold. When the lower percentile frame rate is lower than the target frame rate threshold or the frame time variance exceeds the target variance threshold, perform a merge verification on the distance parameter update result and the channel parameter update result through the policy calculation layer to obtain the configuration update result. Write the configuration update result back to the object-level rendering load configuration table in the parameter configuration layer to obtain the updated object-level rendering load configuration table. The distance deload execution results, channel deload execution results, and the updated object-level rendering load configuration table are correlated to generate object-level rendering load co-optimization results.