Building information model efficient rendering method for reducing loading delay

By optimizing the visibility hierarchy and resource utilization of LOD blocks, subdividing them into the smallest rendering shards and rendering them on demand, the problem of BIM model rendering loading delay was solved, and an efficient rendering process was achieved.

CN121073751AActive Publication Date: 2025-12-05CHANGSHA BIMENG CLOUD INFORMATION TECHNOLOGY CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202511604259.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-05
Publication Date
2025-12-05
Estimated Expiration
2045-11-05

AI Technical Summary

Technical Problem

Existing BIM model rendering and loading delay methods do not take into account the real-time throughput differences in code reading, decoding, and uploading, resulting in screen stuttering or long periods of blank space, and excessively long delays in the first screen display.

Method used

By extracting the visibility level, predicted occurrence time, and relative screen occupancy of LOD blocks, a priority queue is determined, and LOD blocks are subdivided into minimum renderable fragments. The start time is determined based on system resource rate and predicted occurrence time, and different rendering strategies are used to optimize the rendering process.

Benefits of technology

It significantly reduces the loading latency of BIM models, ensuring that users can quickly see meaningful images, avoiding screen jumps and delays, and improving rendering efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121073751A_ABST
    Figure CN121073751A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of data processing, and provides a building information model efficient rendering method capable of reducing loading delay, which comprises the following steps: extracting the number of screen-occupied pixels in an LOD block and the total byte size on a disk from a BIM model, determining the visibility level, the predicted occurrence time and the relative screen-to-body ratio of the LOD block, and obtaining a priority queue; the LOD blocks are decomposed into different minimum renderable fragments, the latest starting time of each minimum renderable fragment is determined, and the minimum renderable fragments are started in sequence; according to the difference between the effective byte quantity uploaded by all the minimum renderable fragments of the LOD blocks and the total byte size of the LOD blocks on a disk, different rendering strategies are distributed to the LOD blocks, and rendering of the building information model is achieved. According to the invention, efficient rendering of the building information model with reduced loading delay can be realized.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of data processing, in particular to a building information model efficient rendering method for reducing loading delay. BACKGROUND

[0002] BIM is a digital three-dimensional building data model that can integrate information throughout the life cycle of a building project, including design, construction, operation and other stages. The BIM file corresponding to the BIM model is usually huge in size. If the rendering system cannot quickly load the part to be seen by the user into the memory and the video memory, it will cause a bad experience such as lag, white screen or sudden jump of the model. In order to reduce the loading delay of BIM model rendering, generally, the model is divided into multiple LOD blocks according to geometric error during the construction period, and the high-LOD block near the camera, visible and unoccluded is loaded first, and then the low-LOD block is gradually loaded to the far, back and occluded area. The scheduling logic of the LOD block is to use distance threshold, screen error threshold or simple FIFO / LRU queue, and the loading start time is triggered by experience or fixed frame delay. Among them, LOD is Level of Detail, which is a hierarchical standard used to describe the accuracy and information density of the BIM model, and the BIM model is divided into different levels from LOD100 to LOD500.

[0003] However, the existing method for reducing the loading delay of BIM model rendering does not consider the real-time throughput difference of reading, decoding and uploading, and blindly starts the task. Once the disk, CPU or PCIe bandwidth fluctuates, it will cause waste of memory or data not ready, resulting in pop-in, lag or long-time blank placeholder of the final picture. SUMMARY

[0004] The present application provides a building information model efficient rendering method for reducing loading delay, which solves the problem of unreasonable setting of trigger conditions for reading and loading of LOD blocks in the rendering process of building information model, resulting in too long first-screen visible delay. The technical solution adopted is as follows: One embodiment of the present application provides a building information model efficient rendering method for reducing loading delay, which comprises the following steps: The number of screen-occupying pixels in the current frame that are visible and not occluded in the LOD block is extracted from the BIM model, and the total byte size of the LOD block on the disk is determined, the visibility level and the relative screen ratio of the LOD block are respectively assigned according to the number of screen-occupying pixels in the current frame that are visible and not occluded in the LOD block, the predicted appearance time of the LOD block is determined, and the LOD blocks are arranged according to the visibility level, the predicted appearance time, and the inverse of the relative screen ratio of the different LOD blocks, and the total byte size of the LOD block on the disk, to obtain a priority queue; The LOD block is decomposed into different minimum renderable fragments, the actual continuous reading rate of the current system disk, the actual continuous decoding rate of the current decoder, and the continuous uploading rate from the main memory to the video memory are respectively read, the latest start time of each minimum renderable fragment of each LOD block is respectively determined according to the predicted appearance time of the LOD block and the total byte size of the minimum renderable fragment on the disk, and the minimum renderable fragments are sequentially started according to the latest start time. According to the difference between the effective byte amount of all the minimum renderable fragments of the LOD block that have been uploaded and the total byte size of the LOD block on the disk, different rendering strategies are assigned to the LOD block to realize the rendering of the building information model.

[0005] Further, the specific assignment method of the visibility level of the LOD block is: When the LOD block is visible in the current frame, the ratio of the number of screen-occupying pixels in the current frame that are visible and not occluded in the LOD block to the number of screen pixels is recorded as the visible pixel ratio of the LOD block, and the visibility level of the LOD block is assigned as 0, 1 or 2 according to the visible pixel ratio of the LOD block. When the LOD block is not visible in the current frame, the predicted appearance time of the LOD block is determined, the visibility level of the LOD block is assigned as 3 when the LOD block appears within a preset time window, and the visibility level of the LOD block is assigned as 4 when the LOD block does not appear within the preset time window.

[0006] Further, the specific assignment method of the relative screen ratio is: The number of pixels covered when the bounding box of the LOD block is projected onto the screen space is recorded as the projected pixel number of the LOD block, and the ratio of the projected pixel number of the LOD block to the total number of screen pixels is recorded as the relative screen ratio of the LOD block.

[0007] Further, the specific determination method of the predicted appearance time of the LOD block is: When the LOD block is visible in the current frame, the predicted appearance time of the LOD block is assigned as 0. When the LOD chunk does not appear, the predicted appearance time of the LOD chunk is assigned as positive infinity.

[0008] Further, the LOD chunks are arranged according to the visibility level, the predicted appearance time, the inverse of the relative screen ratio, and the total byte size on the disk of the LOD chunks, to obtain a priority queue, including the specific method that: The visibility level, the predicted appearance time, the inverse of the relative screen ratio, and the total byte size on the disk of the LOD chunks are compared in sequence, and all the LOD chunks are arranged in ascending order according to the comparison results to obtain a priority queue.

[0009] Further, the LOD chunk is decomposed into different minimum renderable tiles, including the specific method that: When the BIM model is constructed, a uniform spatial subdivision is performed on the LOD chunk grid to obtain a bounding box node; GPU-driven meshletization is performed on each node to fill the number of vertices in each sub-node with a meshlet, and the corresponding texture is cut into a mip-block according to a physical page; the meshlet and the first-level mip-block are combined to be recorded as a minimum renderable tile.

[0010] Further, the formula of the latest start time of the minimum renderable tile is: Wherein, represents the latest start time of the i-th minimum renderable tile of the j-th LOD chunk; represents the absolute timestamp of the first appearance of the j-th LOD chunk on the screen; represents a preset buffer time; represents the total byte size on the disk of the i-th minimum renderable tile of the j-th LOD chunk; represents the actual continuous reading rate of the current system disk; represents the actual continuous decoding rate of the current decoder; represents the continuous upload rate from the main memory to the video memory. Further, the minimum renderable tiles are started in sequence according to the latest start time, including the specific method that: The minimum renderable tiles are started in sequence from early to late according to the latest start time.

[0011] Further, the minimum renderable tiles are started in sequence according to the latest start time, including the specific method that: The minimum renderable tiles are started in sequence from early to late according to the latest start time.

[0012] ​​​Further, the difference between the effective byte amount of all the minimum renderable fragments of the LOD chunk that have been uploaded and the total byte size of the LOD chunk on the disk is used to assign different rendering strategies to the LOD chunk, including the specific method: The difference between the effective byte amount of all the minimum renderable fragments of the LOD chunk that have been uploaded and the total byte size of the LOD chunk on the disk is used to calculate the perceived quality; According to the perceived quality, different LOD chunks are rendered using placeholder levels, low-quality levels, medium-quality levels, and high-quality levels, respectively.

[0013] Further, the formula for calculating the perceived quality is: wherein, represents the perceived quality of the LOD chunk at time ; represents the perceived quality of the LOD chunk at time ; represents a truncation function; represents the effective byte amount of all the minimum renderable fragments of the LOD chunk at time ; represents the total byte size of the LOD chunk on the disk.

[0014] The beneficial effects of the present application are: ​The application first considers that the bandwidth resource will limit the disk I / O, CPU decoding and video memory upload in the BIM model loading process. If the BIM model is loaded directly according to the original storage order or simple distance, the screen first seen by the user may be blocked by a large amount of current invisible data. Therefore, the deterministic view priority of the LOD block of the BIM model is determined, and a priority queue is obtained. If the entire LOD block is read and processed at one time, any instantaneous blockage of any step will make the subsequent steps unable to proceed, so that the user has to wait until the entire LOD block is completely ready before being able to see even the roughest picture. Therefore, the LOD block is subdivided into different minimum renderable tiles, and the latest start time of the minimum renderable tile is determined according to the total byte size of the minimum renderable tile on the disk, the actual continuous reading rate of the current system disk, the actual continuous decoding rate of the current decoder, the continuous upload rate from the main memory to the video memory, and the buffer time. According to the latest start time, the minimum renderable tile is started one by one. When reading, decoding or uploading is idle, the task closest to the latest start time is preferentially selected for execution. If the resource is insufficient to cause the task to miss the start time, the task is preempted for execution when there is an idle time, so as to ensure that each minimum renderable tile can complete loading, decoding and uploading before rendering. Finally, according to the difference between the effective byte amount of all minimum renderable tiles of the LOD block that have been uploaded and the total byte size of the LOD block on the disk, different rendering strategies are allocated to the LOD block, and different minimum renderable tiles of the LOD block are placed in different rendering stages, so that the renderer can immediately occupy the position with an outline, a low-resolution texture or a simplified grid when the data is not complete, and gradually replace and integrate details as more bytes gradually arrive, so as to eliminate visible jumps, reduce loading delay, realize rendering of the building information model, and solve the problem of unreasonable setting of the triggering condition of reading and loading of the LOD block in the rendering process of the building information model, which causes the first screen visible delay to be too long. The application realizes efficient rendering of the building information model with reduced loading delay. BRIEF DESCRIPTION OF DRAWINGS

[0015] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or prior art description. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without any creative labor.

[0016] Figure 1 A flowchart of a building information model efficient rendering method with reduced loading delay provided by an embodiment of the present application; Figure 2A visibility level acquisition flowchart provided by an embodiment of the present application. DETAILED DESCRIPTION

[0017] The technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by a person of ordinary skill in the art without creative work fall within the protection scope of the present application.

[0018] Please refer to Figure 1 which shows a BIM efficient rendering method flowchart for reducing loading delay provided by an embodiment of the present application. The method comprises the following steps: Step S001, extracting the number of screen-occupying pixels that are visible and not occluded in the current frame in the LOD block from the BIM model, and the total byte size of the LOD block on the disk, assigning values to the visibility level and the relative screen-occupying ratio of the LOD block according to the number of screen-occupying pixels that are visible and not occluded in the current frame in the LOD block, determining the predicted appearance time of the LOD block, arranging the LOD blocks according to the visibility level, the predicted appearance time, and the relative screen-occupying ratio in reverse order of the LOD blocks, and the total byte size of the LOD blocks on the disk, and obtaining a priority queue.

[0019] During the loading of the BIM model, the bandwidth resource will limit the disk I / O, CPU decoding and video memory uploading. If the BIM model is loaded directly according to the original storage order or simple distance, the picture first seen by the user may be occluded by a large amount of current invisible data. Therefore, the deterministic view priority of the LOD block of the BIM model needs to be determined first, the contribution of each LOD block to the current and upcoming view is quantified, and the limited resources are put into the LOD block that can immediately produce visible pixels or appear on the screen the fastest, so that the user can see meaningful and complete pictures in the shortest time, and the first-screen loading delay is significantly reduced.

[0020] The number of screen-occupying pixels that are visible and not occluded in the current frame in the LOD block is extracted from the BIM model, and the total byte size of the LOD block on the disk is extracted.

[0021] The smaller the total byte size of the LOD block on the disk is, the more the LOD block should be loaded in priority, so that the subsequent resources are released faster.

[0022] The visibility level of the LOD block is assigned according to the number of screen-occupying pixels that are visible and not occluded in the current frame in the LOD block.

[0023] The ratio of the number of screen pixels occupied by the current frame visible and unoccluded pixels in the LOD tile to the number of screen pixels is denoted as the visible pixel ratio of the LOD tile.

[0024] When the LOD tile is visible in the current frame, the visibility level of the LOD tile is valued according to the visible pixel ratio of the LOD tile.

[0025] When the visible pixel ratio of the LOD tile is greater than or equal to 1%, the visibility level of the LOD tile is valued as 0; when the visible pixel ratio of the LOD tile is greater than 0.1% and less than 1%, the visibility level of the LOD tile is valued as 1; when the visible pixel ratio of the LOD tile is less than or equal to 0.1%, the visibility level of the LOD tile is valued as 2.

[0026] When the LOD tile is not visible in the current frame, the predicted appearance time of the LOD tile is determined according to the linear extrapolation of the camera trajectory and the bounding box view frustum detection, whether the LOD tile appears in a preset time window is judged according to the predicted appearance time of the LOD tile, when the LOD tile appears in the preset time window, the visibility level of the LOD tile is valued as 3, when the LOD tile does not appear in the preset time window, the visibility level of the LOD tile is valued as 4.

[0027] Wherein, the preset time window should be longer than or equal to 0.5 seconds and shorter than or equal to 1.5 seconds, the value of the preset time window in the embodiment is 1 second; whether the LOD tile appears and the time of appearance are determined according to the linear extrapolation of the camera trajectory and the bounding box view frustum detection, which is a known technology and will not be described in detail.

[0028] When the visibility level of the LOD tile is smaller, the LOD tile should be loaded preferentially, that is, resources are allocated to the LOD tile which has occupied the largest area in the screen first, then to the LOD tile which is coming soon, and finally to the distant view. The visibility level acquisition flow chart is shown in Figure 2 .

[0029] It should be noted that when the LOD tile is visible in the current frame, the predicted appearance time of the LOD tile is valued as 0; when the LOD tile does not appear, the predicted appearance time of the LOD tile is valued as positive infinity.

[0030] When the predicted appearance time of the preferential loading is shorter, the LOD tile should be loaded preferentially to avoid loading useless data too early.

[0031] The number of pixels covered when the bounding box of the LOD tile is projected to the screen space is calculated using coarse rasterization or using conservative rasterization, which is denoted as the projected pixel number of the LOD tile. The ratio of the projected pixel number of the LOD tile to the total number of screen pixels is denoted as the relative screen occupation ratio of the LOD tile.

[0032] The greater the relative screen ratio of the LOD chunk is, the more it should be loaded preferentially.

[0033] The visibility level, the predicted appearance time, the inverse of the relative screen ratio, and the total byte size of the LOD chunk on the disk of different LOD chunks are compared in sequence, and all the LOD chunks are arranged in ascending order according to the comparison result to obtain a priority queue.

[0034] It can be understood that when comparing two LOD chunks, first, the visibility levels of the two LOD chunks are compared, when the visibility levels are different, the LOD chunk with the smaller visibility level is arranged before the LOD chunk with the larger visibility level, when the visibility levels are the same, then, the predicted appearance times of the two LOD chunks are compared, when the predicted appearance times of the two LOD chunks are different, the LOD chunk with the smaller predicted appearance time is arranged before the LOD chunk with the larger predicted appearance time, when the predicted appearance times of the two LOD chunks are the same, further, the inverse of the relative screen ratios of the two LOD chunks is compared, when the inverse of the relative screen ratios of the two LOD chunks is different, the LOD chunk with the smaller inverse of the relative screen ratio is arranged before the LOD chunk with the larger inverse of the relative screen ratio, when the inverse of the relative screen ratios of the two LOD chunks is the same, finally, the total byte sizes of the two LOD chunks on the disk are compared, when the total byte sizes of the two LOD chunks on the disk are different, the LOD chunk with the smaller total byte size on the disk is arranged before the LOD chunk with the larger total byte size on the disk, when the total byte sizes of the two LOD chunks on the disk are the same, the order of the two LOD chunks is randomly allocated.

[0035] Thus, the priority queue is obtained.

[0036] In step S002, the LOD chunk is decomposed into different minimum renderable fragments, the actual continuous reading rate of the current system disk, the actual continuous decoding rate of the current decoder, and the continuous uploading rate from the main memory to the video memory are read respectively, the predicted appearance time of the LOD chunk and the total byte size of the minimum renderable fragment on the disk are combined, the latest start time of each minimum renderable fragment of each LOD chunk is determined, and the minimum renderable fragments are sequentially started according to the latest start time.

[0037] Since the disk I / O, CPU decoding, and GPU uploading are serial and bandwidth-limited, if the entire LOD chunk is read and processed at one time, any instantaneous blockage of any step will make the subsequent steps unable to proceed, resulting in that the user must wait until the entire LOD chunk is completely ready before being able to see even the most rough picture.

[0038] Therefore, the LOD chunk is subdivided into different minimum renderable patches, only the first batch of the most critical data is pulled according to the urgency of visibility, the outline or placeholder geometry is immediately rendered, and then the details are gradually added, so that a meaningful picture can be presented at the first frame, and the remaining transmission and decoding tasks are smoothly dispersed to subsequent frames, significantly reducing the first screen delay and improving the overall bandwidth utilization.

[0039] Preferably, as an embodiment of the present application, the LOD chunk is the smallest independent unit in the logical space, responsible for overall space indexing, visibility judgment and metadata management, and the patch is the smallest schedulable unit for transmission and rendering. When building a BIM model, first, use the spatial octree or KD-Tree to uniformly subdivide the LOD chunk grid to get a bounding box node with moderate granularity; perform GPU-driven meshletization on each node to make the number of vertices in each subnode exactly fill a meshlet, and at the same time, cut the corresponding texture into mip-blocks according to physical pages; finally, combine the meshlet and the first-level mip-block, and consider them as a minimum renderable patch, record the byte size of the minimum renderable patch and the continuous offset in the resource package.

[0040] Among them, meshletization, also known as mesh shader, is an advanced graphics rendering technology that organizes vertex data of a 3D model into small, independent units called meshlets; the physical page is 4kB or 64kB.

[0041] The actual continuous read rate of the current system disk, the actual continuous decoding rate of the current decoder and the continuous upload rate from the main memory to the video memory are read respectively, combined with the predicted appearance time of the LOD chunk and the total byte size of the minimum renderable patch on the disk, to determine the latest start time of each minimum renderable patch of each LOD chunk.

[0042] Among them, represents the latest start time of the i-th minimum renderable patch of the j-th LOD chunk; represents the absolute timestamp of the first appearance of the i-th LOD chunk on the screen; represents the preset buffer time; represents the total byte size of the i-th minimum renderable patch of the j-th LOD chunk on the disk; represents the actual continuous read rate of the current system disk; ​​​​​represents the actual continuous decoding rate of the current decoder; represents the current continuous upload rate from main memory to video memory.

[0043] The absolute timestamp of the LOD chunk expected to first appear on the screen is equal to 0, indicating that the current frame has a visible LOD chunk, and the absolute timestamp of the LOD chunk expected to first appear on the screen is greater than 0, indicating that a future frame has a visible LOD chunk. The absolute timestamp of the LOD chunk expected to first appear on the screen can be determined according to the predicted appearance time of the LOD chunk.

[0044] The preset buffer time is used to absorb the slight jitter of operating system scheduling, thread switching, queue submission, etc. The preset buffer time should be greater than or equal to 5 ms and less than or equal to 20 ms. In this embodiment, the value of the buffer time is 10 ms.

[0045] After the LOD chunk is subdivided into different minimum renderable tiles, the processing flow of each minimum renderable tile is to read from the disk first, decode by the CPU decoder, and upload to the video memory. The minimum bandwidth of the entire tile processing flow is jointly determined by the real-time disk bandwidth, the CPU decoding bandwidth, and the PCIe / video memory upload bandwidth. For each minimum renderable tile, the latest start time of the minimum renderable tile is determined according to the total byte size of the minimum renderable tile on the disk, the actual continuous reading rate of the current system disk, the actual continuous decoding rate of the current decoder, the current continuous upload rate from the main memory to the video memory, and the buffer time.

[0046] If the current time has exceeded the latest start time of the minimum renderable tile, the reading of the minimum renderable tile should be started immediately. Different minimum renderable tiles are scheduled according to the latest start time. The scheduler sorts the minimum renderable tiles in the order from early to late according to the latest start time, and starts the minimum renderable tiles in turn. Among them, the EDF earliest deadline first strategy is used to globally sort with the latest start time as the deadline. When there is an idle reading, decoding or uploading, the task closest to the latest start time is preferentially selected for execution. If the task misses the start time due to insufficient resources, the task is preempted for execution when there is an idle, so as to ensure that each minimum renderable tile can complete loading, decoding and uploading before rendering.

[0047] At this point, the minimum renderable tiles are started in turn according to the latest start time.

[0048] Step S003, according to the difference between the valid byte amount of all minimum renderable tiles of the LOD chunk that have been uploaded and the total byte size of the LOD chunk on the disk, different rendering strategies are allocated to the LOD chunk, and the rendering of the building information model is realized.

[0049] Even if optimized by the strategy of fragmentation, there will be a momentary resource gap, so if the traditional whole LOD chunk is uploaded completely before rendering, it may cause loading delay, screen holes or flicker. In order to avoid this problem, the uploaded byte amount is mapped to the perceptual quality in real time, and the different minimum renderable fragments of the LOD chunk are placed in different rendering stages, so that the renderer can immediately occupy the outline, low resolution texture or simplified mesh in advance when the data is not complete, and gradually replace and integrate details as more bytes arrive, so as to eliminate visible jumps and reduce loading delay.

[0050] The calculation formula of perceptual quality is: Among them, indicates the perceptual quality of the LOD chunk at time . indicates the truncation function, which ensures that the value of perceptual quality is greater than or equal to 0 and less than or equal to 1; indicates the effective byte amount of all minimum renderable fragments of the LOD chunk at time . indicates the total byte size of the LOD chunk on the disk.

[0051] It can be understood that the number of data bytes successfully written into the GPU accessible memory is obtained by the uploading thread in real time, and the effective byte amount of all minimum renderable fragments of the LOD chunk is accumulated.

[0052] The perceptual quality indicates the degree to which the ready data of the LOD chunk can restore the details of the original LOD chunk, so that the current LOD chunk can be placed in different rendering stages according to the perceptual quality, so as to realize the progressive rendering of data and provide a basis for the resource recycling of the memory at the same time.

[0053] Preferably, as an embodiment of the present application, the rendering stage is divided into four stages: the first stage is the placeholder stage, which only uses the simplest point cloud, bounding box or impostor to ensure the correct outline and occlusion relationship; the second stage is the low-quality stage, which uses the first batch of meshlet and the lowest mip texture, enables temporal blending, and eliminates hard cutting; the third stage is the medium-quality stage, which continues to add meshlet and higher mip, and dynamically refines the hot area according to the screen; the fourth stage is the high-quality stage, the data is completely ready, switches to complete geometry and the highest texture, and releases the placeholder cache.

[0054] ​​​The value of the perception quality of the LOD block is used to assign different rendering strategies to the LOD block, preferably, as an embodiment of the present application, the LOD block with the perception quality less than 0.05 adopts a placeholder level, the LOD block with the perception quality less than 0.5 and greater than or equal to 0.05 adopts a low-quality level, the LOD block with the perception quality less than 1 and greater than or equal to 0.5 adopts a medium-quality level, and the LOD block with the perception quality equal to 1 adopts a high-quality level.

[0055] When the rendering stage changes, the GPU upload thread writes the new meshlet and texture block into the persistent mapping buffer and records the GPU fence. The rendering thread atomically replaces the VB / IB / texture descriptor when the fence is completed in the next frame, enables temporal blending, and fades out the previous stage and the new stage within 4-6 frames.

[0056] When the memory is insufficient, first compare according to the Tier value from large to small, compare according to the byte from small to large when the Tier value is the same, compare according to the perception quality from small to large when they are still the same, compare according to the memory occupation per unit quality ratio from large to small when they are still the same, and recycle the rendered LOD block.

[0057] Thus, the efficient rendering of the building information model with reduced loading delay is realized.

[0058] The above only describes the preferred embodiments of the present application and is not intended to limit the present application. Any modification, equivalent replacement, improvement, etc. within the principles of the present application shall be included in the protection scope of the present application.

Claims

1. A method for efficient rendering of building information models with reduced loading latency, characterized in that, The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps:

2. The method of claim 1, wherein, The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps:

3. The method of claim 1, wherein, The method comprises the following steps: The method comprises the following steps:

4. The method of claim 2, wherein, The method comprises the following steps: The method comprises the following steps: The method comprises the following steps:

5. The method of claim 1, wherein, The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the following steps: The method comprises the The visibility level, the predicted appearance time, the inverse of the relative screen ratio, and the total byte size of the LOD block on the disk of different LOD blocks are compared in sequence, all the LOD blocks are arranged in ascending order according to the comparison result, and a priority queue is obtained.

6. The method of claim 1, wherein, The LOD block is decomposed into different minimum renderable patches, and the specific method comprises the following steps: When the BIM model is constructed, a uniform spatial subdivision is performed on the LOD block grid to obtain a bounding box node; A GPU-driven meshletization is performed on each node to fill a meshlet with the number of vertices in each sub-node, and the corresponding texture is cut into a mip-block according to a physical page; The meshlet and the first-level mip-block are combined to form a minimum renderable patch.

7. The method of claim 1, wherein, The formula for calculating the latest start time of the minimum renderable patch is: wherein, represents the latest start time of the th minimum renderable tile of the th LOD bin; represents the absolute timestamp when the th LOD bin is expected to first appear on screen; represents the preset buffer time; represents the latest start time of the th minimum renderable tile of the th LOD bin; represents the actual sustained read rate of the current system disk; represents the actual sustained decode rate of the current decoder; represents the sustained upload rate from main memory to video memory.

8. The method of claim 1, wherein, The specific method for sequentially starting the minimum renderable patch according to the latest start time comprises the following steps: The minimum renderable patches are sequentially started from early to late according to the latest start time.

9. The method of claim 1, wherein, The specific method for assigning different rendering strategies to the LOD block according to the difference between the effective byte amount of all the minimum renderable patches of the LOD block that have been uploaded and the total byte size of the LOD block on the disk comprises the following steps: The perceptual quality is calculated according to the difference between the effective byte amount of all the minimum renderable patches of the LOD block that have been uploaded and the total byte size of the LOD block on the disk. The different LOD blocks are rendered by using a placeholder stage, a low-quality stage, a medium-quality stage, and a high-quality stage according to the perceptual quality.

10. The method of claim 9, wherein, The formula for calculating the perceptual quality is: wherein, represents a time instant when the perceived quality of the represents a truncation function represents a time instant when the total amount of valid bytes uploaded for all the minimum renderable tiles of the represents the total byte size on disk of the LOD chunk.

Citation Information

Patent Citations

  • LOD-based BIM model lightweight construction and display method

    CN114283231A

  • City-level BIM (Building Information Modeling) data lightweight method and system based on multistage shelling algorithm

    CN114419256A

  • Cluster-based IFC model component-level LOD generation and use method

    CN118691728A

  • Fabricated building management method and system based on BIM and cloud service

    CN119151213A

  • Large BIM model optimization method and system based on intelligent loading

    CN120030661A