Practical training platform three-dimensional scene mass data loading optimization method
By optimizing satellite trajectory rendering through orbit prediction and dynamic scheduling, the latency and visual inconsistency issues in real-time rendering of low-Earth orbit satellite constellations have been resolved, achieving smooth 3D scene rendering effects.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-25
- Publication Date
- 2026-03-10
AI Technical Summary
Existing technologies for real-time trajectory rendering of low-Earth orbit satellite constellations suffer from rendering delays, update stutters, and visual inconsistencies caused by rapid changes in satellite trajectories. In particular, the view loading command lags in high-speed motion scenes, affecting the reliability of 3D scenes.
The predicted position of the satellite is calculated by the orbit prediction model, the forward visible area is determined by the camera field of view parameters, the target point data is dynamically scheduled, and the batch rendering interface is used for rendering. The static and dynamic attribute buffers are separated, the dynamic attributes are updated incrementally, and the terrain rendering is coordinated to achieve smooth rendering.
It significantly reduces rendering lag, improves visual continuity, reduces frame rate fluctuations, ensures smooth rendering and visual consistency in large-scale dynamic scenes, and meets real-time requirements.
Smart Images

Figure CN121636025A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of computer graphics and three-dimensional visualization, and in particular to a method for optimizing the loading of massive data in a three-dimensional scene of a training platform. BACKGROUND
[0002] In satellite data visualization, real-time trajectory rendering of a low-orbit satellite constellation is a key application scenario. Such a constellation is composed of thousands of satellites that move along an orbit at a speed of several kilometers per second, and the positions thereof need to be continuously updated in a three-dimensional scene. When a user monitors the state of the satellites through an interactive interface, the camera view is often quickly switched, such as zooming to a specific area or tracking the movement of a single satellite. Such a scenario requires the system to instantly load massive dynamic points and maintain smooth rendering to support decision analysis.
[0003] Most of the prior art solutions use batch rendering and dynamic scheduling strategies to cope with data loading pressure. For example, the Billboard Collection interface based on the Cesium engine packs point data for processing, thereby reducing the number of API calls. A view clipping mechanism dynamically loads the primitives within the visible range according to the camera position to avoid full rendering. Recently, some solutions have introduced streaming processing, such as preloading adjacent blocks by predicting camera movement or pruning redundant data using memory management algorithms. Such solutions aim to reduce computational overhead and improve response speed.
[0004] However, in high-speed motion scenarios, the rapid changes in satellite trajectories cause the view loading command to lag, resulting in rendering delays or temporary disappearance of points. The batch update mechanism causes repeated submission of GPU data when attributes frequently change, affecting the stability of the frame rate. In addition, the asynchronous execution of terrain detail level switching and point loading causes visual misalignment. These factors limit the reliability of real-time monitoring of large-scale constellations. SUMMARY
[0005] In view of the above-mentioned existing problems, the present application is proposed.
[0006] The present application provides a method for optimizing the loading of massive data in a three-dimensional scene of a training platform, which solves the problems of loading delay, update lag, and visual inconsistency in real-time rendering of satellite trajectories caused by high motion speed and scheduling lag in existing three-dimensional scene data loading methods.
[0007] To solve the above technical problems, the present application provides the following technical solutions:
[0008] The present application provides a method for optimizing the loading of massive data in a three-dimensional scene of a training platform, which solves the problems of loading delay, update lag, and visual inconsistency in real-time rendering of satellite trajectories caused by high motion speed and scheduling lag in existing three-dimensional scene data loading methods.
[0009] Step S1: Obtain satellite orbit data and generate time parameters for target points.
[0010] Step S2: Calculate the predicted position of the target point within a preset time window based on the orbit data using an orbit prediction model;
[0011] Step S3: Determine the current viewing cone based on the camera's field of view parameters, and obtain the forward-looking visible area based on the predicted position and the viewing cone;
[0012] Step S4: Dynamically schedule the target point data according to the forward-looking visible area, and organize the attributes of the target points to be displayed into a batch drawing data structure;
[0013] Step S5: Submit the batch drawing data to the graphics processing unit for rendering through the batch drawing interface of the graphics API;
[0014] The camera view parameters include camera position, orientation, field of view angle, and near and far clipping planes. The batch drawing interface is used to submit multiple target point instance data at once.
[0015] As a preferred embodiment of the method for optimizing the loading of massive amounts of 3D scene data in a training platform as described in this invention, the orbit prediction model adopts a numerical integration or simplified propagation model based on orbital mechanics, and considers at least one perturbation factor, including the perturbation factor of Earth's non-spherical gravitational force and atmospheric drag perturbation.
[0016] As a preferred embodiment of the method for optimizing the loading of massive amounts of 3D scene data in a training platform as described in this invention, the determination of the forward-looking visible region includes:
[0017] View frustum clipping is performed on the predicted location to obtain an intersection set, and a buffer region is constructed outside the intersection set; the size of the buffer region is adaptively adjusted according to the movement speed of the target point and the rate of change of the camera's viewpoint;
[0018] The calculation steps for the size and upper and lower limits of the buffer area include:
[0019] a) Within the look-through time window, the buffer radius is linearly synthesized using the equivalent sweep amount of target translation and camera viewpoint change, and upper and lower limits are applied:
[0020] ,
[0021] ,
[0022] in, This represents the estimated buffer radius without amplitude limiting, in meters. This represents the final buffer radius used for pruning and scheduling, in meters (m). This indicates the look-ahead time window, in seconds. This represents the target channel weight coefficient, which is dimensionless. This represents the velocity scalar of the target point in the world coordinate system, with units of m / s. This represents the camera channel weighting coefficient, which is dimensionless. This represents the linear velocity scalar of the camera in the world coordinate system, with units of m / s. This represents the instantaneous distance from the target point to the camera, in meters (m). This represents the angular velocity of the camera, expressed in rad / s. The scalar norm representing the angular velocity. This represents an operator that truncates the input to a given interval. This indicates the lower limit of the buffer radius, in meters (m). This indicates the upper limit of the buffer radius, in meters (m).
[0023] b) Set the lookahead window to the sum of the rendering time corresponding to the lookahead frame number and the system pipeline latency:
[0024] ,
[0025] in, Represents the number of look-ahead frames, dimensionless. Indicates the target frame rate, in Hz. This represents the end-to-end pipeline delay from data preparation to plottability, in seconds.
[0026] c) Update the amplitude limiting result obtained in step a) using exponential smoothing:
[0027] ,
[0028] in, Indicates the first The buffer radius at each discrete time point, in meters. Time sequence number, dimensionless. This represents the buffer radius at the previous moment, in meters. This represents the estimated radius at the corresponding time point, in meters (m). Represents the first-order exponential smoothing coefficient, with a range of values. , dimensionless.
[0029] As a preferred embodiment of the method for optimizing the loading of massive amounts of 3D scene data in a training platform according to the present invention, the dynamic scheduling includes:
[0030] The boundary of the forward-looking visible area is adaptively expanded or contracted based on the camera's motion speed and acceleration.
[0031] When the camera acceleration is higher than the threshold, a growth strategy is used to expand the boundary; when the camera acceleration is lower than the threshold, a decay strategy is used to shrink the boundary. Smoothing and hysteresis control are applied to the boundary changes.
[0032] The dynamic scheduling steps include:
[0033] d) When there is acceleration in the camera motion, the target scaling amount for expansion and attenuation is determined using the hysteresis threshold:
[0034] ,
[0035] in, This represents the target value for boundary scaling, and is dimensionless. This represents the expansion growth coefficient, in units of... , This represents the attenuation coefficient, in units of... , express The positive part operator, Represents the camera's equivalent acceleration scalar, in units of , This represents the upper threshold, in units of... , Indicates the lower threshold, in units of ;
[0036] The equivalent acceleration is synthesized using a line-angle method:
[0037] ,
[0038] in, Represents the linear acceleration scalar of the camera, in units of , This represents the distance from the camera to the forward-looking visible area, in meters (m). Represents the angular acceleration scalar of the camera, in units of , The scalar norm representing the angular acceleration;
[0039] e) Employ a first-order discrete low-pass filter, using different time constants for the rising and falling edges, and apply scaling to the buffer radius:
[0040] ,
[0041] ,
[0042] in, Indicates the first The boundary scaling at each discrete time step is dimensionless. This represents the discrete time step, in seconds (s). The time constant representing the phase correlation, in seconds; when Time to take ,when Time to take , This represents the rise time constant, in seconds. This represents the falling edge time constant, in seconds. This represents the dynamic boundary radius used for pruning and scheduling, in meters (m). This represents the buffer radius obtained in step a), in meters. This indicates an operator that truncates based on upper and lower limits. This indicates the lower limit of the boundary radius, in meters. This represents the upper limit of the boundary radius, in meters; the distance from the step can be taken as... ,in The target frame rate is expressed in Hz.
[0043] As a preferred embodiment of the method for optimizing loading massive data of a 3D scene in a training platform as described in this invention, the target point attributes are divided into static attributes and dynamic attributes and stored in independent buffers respectively.
[0044] Static attributes include at least the target point's identifier and appearance parameters, while dynamic attributes include at least its position, velocity, or timestamp.
[0045] As a preferred embodiment of the method for optimizing the loading of massive amounts of 3D scene data in a training platform as described in this invention, incremental updates are performed on the dynamic attribute buffer:
[0046] Maintain a dirty flag for each target point, set the dirty flag when a dynamic attribute change is detected, and only build a batch update batch and submit it to the graph API for target points with dirty flags.
[0047] As a preferred embodiment of the method for optimizing the loading of massive amounts of 3D scene data in a training platform as described in this invention, the dynamic scheduling further includes constructing a priority-based loading queue, wherein the priority is sorted at least according to the screen impact of the target point's distance from the camera and the predicted visibility time.
[0048] As a preferred embodiment of the method for optimizing the loading of massive amounts of 3D scene data in a training platform as described in this invention, it further includes coordination with terrain rendering.
[0049] Listen for terrain detail level switching events, throttle and delay the submission of target point data during the switching period, and perform batch correction of target point coordinates based on terrain elevation data after the terrain rendering is stable.
[0050] The monitoring is implemented through engine callbacks, and the correction is implemented through intersection detection of parallel rays and terrain meshes.
[0051] As a preferred embodiment of the method for optimizing the loading of massive amounts of 3D scene data in a training platform as described in this invention, the batch correction employs a double-buffering mechanism:
[0052] The foreground buffer is used for rendering and displaying the current frame, while the background buffer pre-calculates the correction results for the next frame and switches buffers after terrain switching is complete or the timeout threshold is reached.
[0053] As a preferred embodiment of the method for loading and optimizing massive amounts of 3D scene data in a training platform as described in this invention, the method performs prediction, clipping, and correction in a unified geocentric coordinate system, and performs a local origin transformation on the coordinates before submitting them to the graphics processing unit.
[0054] The beneficial effects of this invention are:
[0055] This invention effectively improves the loading and rendering efficiency of massive dynamic points in a 3D scene by integrating trajectory prediction, dynamic scheduling and rendering collaboration mechanisms.
[0056] This invention transforms data loading from a passive response to an active prediction by using an orbit prediction model and forward-looking visible area calculation, significantly reducing rendering lag caused by rapid changes in satellite trajectories. The combination of predicted position and camera view frustum ensures that points are scheduled before view field switching, avoiding the flickering or disappearance of points common in traditional methods and enhancing visual continuity. Secondly, dynamic attribute incremental updates and a dirty marking mechanism optimize GPU resource utilization. By separating static and dynamic attribute buffers and updating only changed data, CPU-GPU communication overhead is reduced, resolving frame rate fluctuations caused by batch updates and ensuring smooth system operation even with tens of thousands of dynamically updated points. Furthermore, the collaborative design with terrain rendering, through listening and double-buffering correction, eliminates point misalignment during terrain detail level switching, improving visual consistency.
[0057] Overall, this invention aligns with the real-time requirements of the satellite field. Through algorithm-level streaming processing and adaptive control, it minimizes loading latency and maximizes rendering stability without relying on hardware upgrades, providing reliable support for large-scale dynamic scene visualization. Attached Figure Description
[0058] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly described below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation on the scope of this application.
[0059] Figure 1 This is a flowchart illustrating the method for optimizing the loading of massive amounts of 3D scene data in the training platform as described in the embodiment. Detailed Implementation
[0060] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0061] All terms used in this application (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted in a manner consistent with the context of this specification, and not in an idealized or overly rigid way.
[0062] For example, the terms “first” and “second” used in this application are only used to distinguish and describe similar objects, to differentiate the first object from another object, and are not used to describe a specific order or sequence, nor should they be interpreted as indicating or implying relative importance.
[0063] This application proposes an optimization method for loading massive amounts of 3D scene data in a training platform, combining... Figure 1 As shown, the method includes:
[0064] Step S1: Acquire satellite orbit data and generate time parameters for the target point;
[0065] Step S2: Calculate the predicted position of the target point within a preset time window based on the orbit data using an orbit prediction model;
[0066] Step S3: Determine the current view frustum based on the camera's field of view parameters, and obtain the forward-looking visible area based on the predicted position and view frustum;
[0067] Step S4: Dynamically schedule the target point data according to the forward-looking visible area, and organize the attributes of the target points to be displayed into a batch drawing data structure;
[0068] Step S5: Submit the batch drawing data to the graphics processing unit for rendering through the batch drawing interface of the graphics API;
[0069] Among them, the camera field of view parameters include camera position, orientation, field of view angle and near and far clipping planes, and the batch drawing interface is used to submit multiple target point instance data at once;
[0070] In this embodiment, the camera position and orientation are the extrinsic parameters of the camera in the current frame of the rendering engine, while the field of view and near / far clipping planes are the intrinsic parameters of the camera. The time parameter is a discrete time sequence synchronized with the engine clock, used to drive propagation and scheduling. Specifically, the batch rendering data structure is an instantiated submission unit aggregated within a single frame, containing isomorphic target point instance entries and their corresponding attribute buffer handles, which can be submitted by the engine in a single API call. For example, the sampling period of the time sequence is consistent with the frame period by default, but can be adjusted to an integer multiple of the frame period to reduce the CPU-side propagation frequency, set according to system performance evaluation or expert experience. When the rendering engine enables the time scaling function, the time parameter is taken from the scaled virtual clock to avoid the decoupling of propagation and display. Optionally, if the engine's batch interface supports batch flushing, the input and output remain unchanged, and the single-frame aggregation is split into multiple submissions to fit the throughput window of the driver layer. If necessary, in abnormal scenarios where complete camera extrinsic and intrinsic parameters cannot be obtained, the valid values of the previous frame are backfilled without exceeding the duration of a single frame, ensuring that propagation and scheduling can be minimized.
[0071] In one embodiment, the orbit prediction model employs a numerical integration or simplified propagation model based on orbital mechanics and considers at least one perturbation factor, including the perturbation of Earth's non-spherical gravitational force and atmospheric drag perturbation.
[0072] Furthermore, the orbital data consists of input records corresponding one-to-one with the target point, sourced from the mission control system or publicly available ephemeris data. Time alignment is performed by interpolation or extrapolation based on time parameters. Specifically, the numerical integration time step defaults to being consistent with the time parameters, but sub-stepping can be used within the computational budget to improve stability, determined based on verification data and the upper bound of simulation error. When simplifying propagation, a strategy of maintaining the most recent valid value is adopted to ensure continuous output when input parameters are missing. Optionally, in the event of a temporary propagator failure, the previous valid predicted position and velocity are used as a short-term backoff output, and the sampling points are realigned after propagation resumes, keeping the external interface unchanged.
[0073] In one embodiment, determining the forward-looking visible area includes:
[0074] View frustum clipping is performed on the predicted location to obtain an intersection set, and a buffer region is constructed outside the intersection set; the size of the buffer region is adaptively adjusted according to the target point's movement speed and the camera viewpoint change rate, and upper and lower limits and temporal smoothing are set to reduce jitter;
[0075] In this embodiment, the intersection set is the spatial intersection result of the predicted position and the view frustum at the current moment. The buffer region is established with the representative reference point of the intersection set as the center, and the representative reference point is taken as the geometric centroid of the intersection set to reduce the influence of local outliers. Specifically, the target point's motion velocity is the first-order difference norm of the predicted position in the time parameters, and the camera viewpoint change rate is the linear and angular velocity norms of the camera's extrinsic parameters in the time parameters, both calculated using finite difference synchronously with the rendering frame. The first-order forward difference is used by default, and can be switched to symmetric difference to reduce estimation bias depending on the noise level. If necessary, when the intersection set is empty but the intersection set in the last two frames is not empty, the previous buffer region is retained and exponentially decayed according to the time constant to avoid frequent flickering.
[0076] The calculation steps for the size and upper and lower limits of the buffer zone include:
[0077] a) Within the look-through time window, the buffer radius is linearly synthesized using the equivalent sweep amount of target translation and camera viewpoint change, and upper and lower limits are applied:
[0078] ,
[0079] ,
[0080] in, This represents the estimated buffer radius without amplitude limiting, in meters. This represents the final buffer radius used for pruning and scheduling, in meters (m). This indicates the look-ahead time window, in seconds. This represents the target channel weight coefficient, which is dimensionless. This represents the velocity scalar of the target point in the world coordinate system, with units of m / s. This represents the camera channel weighting coefficient, which is dimensionless. This represents the linear velocity scalar of the camera in the world coordinate system, with units of m / s. This represents the instantaneous distance from the target point to the camera, in meters (m). This represents the angular velocity scalar, using the angular velocity norm, with units of rad / s. The scalar norm representing the angular velocity. This represents an operator that truncates the input to a given interval. This indicates the lower limit of the buffer radius, in meters (m). This indicates the upper limit of the buffer radius, in meters (m).
[0081] b) Set the lookahead window to the sum of the rendering time corresponding to the lookahead frame number and the system pipeline latency:
[0082] ,
[0083] in, Represents the number of look-ahead frames, dimensionless. Indicates the target frame rate, in Hz. This represents the end-to-end pipeline latency from data preparation to renderability, including prediction, transmission, and CPU / GPU queuing synchronization, measured in seconds (s). Specifically, the lookahead frame rate is constrained by the maximum available video memory and bandwidth allowed by the system, set according to empirical initial values while ensuring the stability of the submission batch, and fine-tuned during runtime based on online estimates of the end-to-end latency. The target frame rate is taken as the target value of the rendering pipeline, and the system latency is a measured quantity including propagation, transmission, and CPU / GPU queuing synchronization, using robust statistics with a sliding window to reduce the impact of instantaneous jitter. The impact. Optionally, when end-to-end latency collection is temporarily unavailable, the historical median is used as a temporary substitute to ensure... It can be calculated and the output diameter remains unchanged.
[0084] c) Update the limiting result obtained in step a) using exponential smoothing to reduce jitter while also considering response:
[0085] ,
[0086] in, Indicates the first The buffer radius at each discrete time point, in meters. Time sequence number, dimensionless. This represents the buffer radius at the previous moment, in meters. This represents the estimated radius at the corresponding time point, in meters (m). Represents the first-order exponential smoothing coefficient, with a range of values. , dimensionless; specifically, the exponential smoothing coefficient is set according to the trade-off between scheduling response and visual stability. It can be appropriately increased when the rendering load increases or the camera moves frequently to improve the tracking ability, and appropriately decreased when the camera is in a static patrol to reduce boundary undulation. and The minimum recognition scale and maximum field of view budget are given by the business scenario, and are checked for consistency with the graphics memory limit. Optionally, the smooth update skips one application if a valid submission batch is detected in the previous time step to avoid invalid accumulation of bias on the boundary of the next frame; if the calculation of the previous frame fails, it will proceed as planned. Direct transmission ensures continuity.
[0087] Patrol scenarios can be set , Close-up inspection can be set , ;
[0088] Specifically, the buffer radius is modeled as the visibility sweep amount caused by the target and camera together during the look-ahead time, and a backbone relationship is given by linear combination. Then, stable upper and lower bounds are formed by limiting the amplitude. The time window is directly related to the frame rate budget, making the scheduling adaptive to the rendering rhythm and system latency. The anti-shake is updated smoothly in an exponential manner, reducing flicker and request jitter caused by frequent recalculations, while preserving the basic response during rapid maneuvers. The upper and lower bound examples are aimed at two typical scenarios: long-distance inspection and close-range inspection, which facilitates implementation and parameter tuning migration.
[0089] In one embodiment, dynamic scheduling includes:
[0090] The boundary of the forward-looking visible area is adaptively expanded or contracted based on the camera's motion speed and acceleration.
[0091] When the camera acceleration is higher than the threshold, a growth strategy is used to expand the boundary; when the camera acceleration is lower than the threshold, a decay strategy is used to shrink the boundary. Smoothing and hysteresis control are applied to the boundary changes to avoid jitter.
[0092] Similarly, camera acceleration is derived from the second-order difference estimate of the camera's extrinsic parameters over time. Hysteresis control is achieved by setting upper and lower thresholds and different phase time constants. To avoid false triggering caused by short-term spikes, the thresholds are obtained based on robust statistics of a sliding window, and only small steps are taken during window updates to maintain the temporal continuity of boundary changes. If necessary, at the instant when the camera state is missing, the previous effective threshold is applied and the boundary update is frozen until the state is restored.
[0093] The dynamic scheduling steps include:
[0094] d) When there is acceleration in the camera motion, the target scaling amount for expansion and attenuation is determined using the hysteresis threshold:
[0095] ,
[0096] in, This represents the target value for boundary scaling, and is dimensionless. This represents the expansion growth coefficient, in units of... , This represents the attenuation coefficient, in units of... , express The positive part operator, Represents the camera's equivalent acceleration scalar, in units of , This represents the upper threshold, in units of... , Indicates the lower threshold, in units of ;
[0097] In this embodiment, The positive part operator is used to suppress the contribution of the non-overlimit side. and These respectively demonstrate the sensitivity of expansion and attenuation; and The hysteresis threshold and the bias threshold are given by statistics of camera motion. Specifically, the threshold is obtained using the median and bias scale of a fixed-length sliding window to ensure robustness in noisy scenes; the sensitivity coefficient is set based on the user's trade-off between visibility recovery speed and bandwidth usage, keeping the output a dimensionless scaling factor. Optionally, when there are insufficient valid samples within the window, the most recent valid threshold is used and... Constraints on closed intervals To avoid abnormal amplification.
[0098] The equivalent acceleration is synthesized using a line-angle method:
[0099] ,
[0100] in, Represents the linear acceleration scalar of the camera, in units of , This represents the distance from the camera to the forward-looking visible area, in meters (m). This represents the angular acceleration scalar, the angular acceleration norm, and its unit is . , The scalar norm representing the angular acceleration;
[0101] e) Employ a first-order discrete low-pass filter, using different time constants for the rising and falling edges, and apply scaling to the buffer radius:
[0102] ,
[0103] ,
[0104] in, Indicates the first The boundary scaling at each discrete time step is dimensionless. This represents the discrete time step, in seconds (s). The time constant representing the phase correlation, in seconds; when Time to take ,when Time to take , This represents the rise time constant, in seconds. This represents the falling edge time constant, in seconds. This represents the dynamic boundary radius used for pruning and scheduling, in meters (m). This represents the buffer radius obtained in step a), in meters. This indicates an operator that truncates based on upper and lower limits. This indicates the lower limit of the boundary radius, in meters. This represents the upper limit of the boundary radius, in meters; the distance from the step can be taken as... ,in The target frame rate is expressed in Hz.
[0105] For example, and The difference is used to achieve rapid expansion and slow contraction of the boundary, in order to reduce the probability of visual error; and and , Consistency checks should be performed before setting parameters to avoid unreachable target boundaries. Optionally, when multiple consecutive frames... When approaching the upper or lower limit, for Make small adaptive adjustments to avoid high-frequency oscillations at the amplitude limit; if If fluctuations are caused by frame changes, the actual measurement within the frame will be used. Replace the nominal value to maintain consistency in the time scale of discrete low-pass filters.
[0106] Threshold selection: within a length of Statistics on the sliding window the median of and deviation scale (If the median absolute deviation is scaled), take:
[0107] , ,like:
[0108] , , ;
[0109] coefficient: , ,
[0110] , ;
[0111] Up and down: can be ordered , Or set up in scenarios with limited bandwidth ;
[0112] Specifically, using equivalent acceleration as the driving force, frequent boundary reversals are suppressed through dual-threshold hysteresis. First-order discrete low-pass filter is used to configure different time constants for expansion and attenuation, thereby rapidly amplifying the visible boundary during the maneuvering phase and gradually contracting it to recover bandwidth during the steady phase. The growth and attenuation coefficients are coupled to the positive and negative parts of the acceleration exceeding the limit, respectively, which facilitates the adjustment of sensitivity according to the scenario. The threshold is set using sliding window statistics, which can adapt to noise and operation style. The example range is the setting under common patrol and inspection scenarios, and can be adjusted as needed.
[0113] In one embodiment, target point attributes are divided into static attributes and dynamic attributes, which are stored in separate buffers respectively.
[0114] Static attributes must include at least the target point's identifier and appearance parameters, while dynamic attributes must include at least its position, velocity, or timestamp.
[0115] In this embodiment, static attributes remain unchanged throughout the target point's lifecycle, while dynamic attributes are updated according to time parameters. The physical layout of the attribute buffer is constrained by the rendering engine, maintaining consistency in type and alignment to ensure portability of a single commit. Specifically, dynamic attribute updates are synchronized with the rendering frame, defaulting to once per frame. When propagation and scheduling produce multiple results within a single frame, only the last write is retained to avoid invalid jitter. Optionally, when some static attributes are not set, rendering is performed using the engine's default appearance parameters, without affecting the input and output of batch data structures.
[0116] In one embodiment, an incremental update is performed on the dynamic attribute buffer:
[0117] Maintain a dirty flag for each target point, set the dirty flag when a dynamic attribute change is detected, and only build batch update batches for target points with dirty flags and submit them to the graph API;
[0118] Specifically, dirty markers are set on the CPU side by the attribute write path and are cleared after successful submission and consumption by the rendered frame. To avoid the overhead caused by frequent small batch submissions, dirty target points are allowed to be aggregated and packaged within a single frame, with the packaging cycle consistent with the frame cycle. If necessary, when the number of dirty markers in a single frame is too large and exceeds the submission window, target points with higher screen impact and closer predicted visibility are submitted first, and the rest are postponed to the next frame, keeping the output behavior unchanged.
[0119] In one embodiment, dynamic scheduling further includes building a priority-based loading queue, where the priority is ordered at least according to the screen impact of the target point from the camera and the predicted visibility time, so as to ensure that key target points are presented first when bandwidth is limited or request concurrency is limited.
[0120] Specifically, screen impact is characterized by the projected coverage of the target point in the screen coordinate system, using a metric based on the projection radius or local pixel coverage; the predicted visibility time is taken as the closest moment the target point enters the foreseeable visible area. Optionally, under equal priority, the target point is stably sorted by its identifier to ensure repeatability; when concurrency constraints cause queue latency to increase, the weight of entries with more recent predicted visibility times is temporarily increased to shorten the first frame rendering latency.
[0121] In one embodiment, it also includes coordination with terrain rendering:
[0122] Listen for terrain detail level switching events, throttle and delay the submission of target point data during the switching period, and perform batch correction of target point coordinates based on terrain elevation data after the terrain rendering is stable.
[0123] Listening is achieved through engine callbacks, and correction is achieved through intersection detection of parallel rays and terrain meshes;
[0124] Optionally, the stability criterion for terrain rendering is that no changes in level of detail occur within a consecutive number of frames or the terrain resource queue is empty, thus triggering a batch correction. When terrain elevation data is temporarily unavailable, the previous valid elevation is retained for rendering and a retry flag is recorded. Batch compensation is performed after the elevation becomes available to ensure that the output interface and submission sequence remain unchanged. If necessary, if the timeout threshold is reached during the throttling period, a degradation correction is performed based on the currently available elevation status to ensure continuous visibility.
[0125] In one embodiment, batch correction employs a double-buffering mechanism:
[0126] The foreground buffer is used for rendering and displaying the current frame, while the background buffer pre-calculates the correction results for the next frame and switches buffers after terrain switching is complete or the timeout threshold is reached.
[0127] Similarly, buffer switching employs tear-free frame boundary swapping, occurring only once within the same frame; the background buffer performs consistency checks before submission to ensure that the coordinate system and time parameters are consistent with the foreground. Optionally, if the background calculation is not completed before the frame boundary, the foreground buffer is retained and the switch is delayed by one step to avoid output inconsistency; when an abnormal write occurs to the background buffer, the batch is discarded and recalculated in the next frame.
[0128] In one embodiment, the method performs prediction, clipping, and correction in a unified geocentric coordinate system, and performs a local origin transformation on the coordinates before submitting them to the graphics processing unit to reduce the impact of floating-point precision errors on rendering stability at high magnification.
[0129] In this embodiment, the geocentric coordinate system serves as a unified three-dimensional reference frame. Local origin transformations are performed before submission using a reference point near the camera as the origin, maintaining the external interface unchanged. Specifically, the reference point is taken as the camera position by default. Based on numerical stability, it can be updated once after the camera pose change exceeds a certain magnitude to limit the coordinate magnitude. Within the same frame where the reference point is updated, the coordinates of dynamic and static attributes are synchronously translated to avoid changes in relative relationships. If necessary, when the reference point update fails, the previous reference point is retained until the next frame successfully updates, ensuring continuous rendering.
[0130] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
[0131] Furthermore, those skilled in the art will understand that although some embodiments herein include certain features included in other embodiments but not others, combinations of features from different embodiments are meant to be within the scope of this application and form different embodiments. For example, all the embodiments above can be used in any combination. The information disclosed in this background section is intended only to enhance the understanding of the general background of this application and should not be construed as an admission or in any way implying that such information constitutes prior art known to those skilled in the art.
Claims
1. A method for optimizing the loading of massive data of a three-dimensional scene of a practical training platform, characterized in that, The application relates to a method for dynamic scheduling of target point data in a graphics processing pipeline, comprising the following steps: Step S1, acquiring satellite orbit data and generating time parameters of target points; Step S2, calculating the predicted positions of the target points in a preset time window by an orbit prediction model based on the orbit data; Step S3, determining a current view cone according to camera view parameters and obtaining a forward-looking visible region based on the predicted positions and the view cone; Step S4, dynamically scheduling target point data according to the forward-looking visible region and organizing the attributes of the target points to be displayed into a batch rendering data structure; Step S5, submitting the batch rendering data to a graphics processing unit for rendering through a batch rendering interface of a graphics API; The camera view parameters include a camera position, a direction, a field of view angle and near-far clipping planes, and the batch rendering interface is used for submitting multiple target point instance data at a time.
2. The method of claim 1, wherein the method comprises: The orbit prediction model adopts numerical integration or a simplified propagation model based on orbit mechanics and considers at least one perturbation factor, and the perturbation factor includes earth non-spherical gravity perturbation and atmospheric resistance perturbation.
3. The method of claim 1, wherein the method further comprises: The determination of the forward-looking visible region comprises the following steps: Performing view cone clipping on the predicted positions to obtain an intersection set and constructing a buffer region outside the intersection set; the size of the buffer region is adaptively adjusted according to the motion speed of the target points and the viewpoint change rate of the camera; The calculation steps of the size of the buffer region and the upper and lower limits comprise the following steps: a) in the forward-looking time window, linearly synthesizing a buffer radius with the equivalent sweeping amount of target translation and camera viewpoint change, and applying upper and lower limits: , , wherein, represents the unclipped buffer radius estimate in m, represents the final buffer radius for clipping and scheduling in m, represents the look-ahead time window in s, represents the target lane weight coefficient, dimensionless, represents the target point's velocity scalar in world coordinate system in m / s, represents the camera lane weight coefficient, dimensionless, represents the camera's linear velocity scalar in world coordinate system in m / s, represents the instantaneous distance from the target point to the camera in m, represents the camera angular velocity scalar in rad / s, represents the scalar norm of this angular velocity, represents the operator that truncates the input to a given interval, represents the lower bound of the buffer radius in m, represents the upper bound of the buffer radius in m; b) setting the forward-looking window to be the sum of the rendering time corresponding to the forward-looking frame number and the system pipeline time delay: , wherein, represents the number of lookahead frames, dimensionless, represents the target frame rate, in Hz, represents the end-to-end pipeline latency from data preparation to renderable, in s; c) updating the limiting results obtained in step a) according to exponential smoothing: , wherein, represents the buffer radius at the discrete time instant, in meters, is the time index, dimensionless, represents the buffer radius at the previous time instant, in meters, represents the estimated radius at the corresponding time instant, in meters, represents the first order exponential smoothing coefficient, taking values in the interval , dimensionless.
4. The method of claim 1, wherein the method further comprises: The dynamic scheduling comprises the following steps: Adaptively expanding or shrinking the boundary of the forward-looking visible region based on the motion speed and acceleration of the camera; When the camera acceleration is higher than a threshold value, a growth strategy is adopted to expand the boundary, when the camera acceleration is lower than the threshold value, a decay strategy is adopted to shrink the boundary, and smoothing and hysteresis control are applied to the boundary change; The dynamic scheduling steps comprise the following steps: d) when the camera motion has acceleration, a hysteresis threshold is used to form the target scaling amount of expansion and decay: , wherein represents a target value for the border scaling, dimensionless, represents an expansion growth coefficient, dimensionless , represents an attenuation coefficient, dimensionless , represents the positive part operator of , represents a camera equivalent acceleration scalar, dimensionless , represents an upper threshold value, dimensionless , represents a lower threshold value, dimensionless ; The equivalent acceleration adopts line-angle synthesis: , wherein denotes the camera linear acceleration scalar, in m / s2, , denotes the representative distance of the camera to the look-ahead visible region, in m, denotes the camera angular acceleration scalar, in rad / s2, , denotes the scalar norm of this angular acceleration; e) using a first-order discrete low-pass filter, different time constants are used for the rising edge and the falling edge, and the scaling is applied to the buffer radius: , , wherein represents the boundary scaling amount at the discrete time instant, dimensionless, represents the discrete time step, unit s; represents the phase-dependent time constant, unit s; when is taken as , when is taken as , represents the rising edge time constant, unit s, represents the falling edge time constant, unit s, represents the dynamic boundary radius for clipping and scheduling, unit m, represents the buffer radius obtained in step a), unit m, represents the operator truncated to upper and lower limits, represents the lower boundary radius, unit m, represents the upper boundary radius, unit m; the discrete step can be taken as wherein is the target frame rate, unit Hz.
5. The method of claim 1, wherein the method further comprises: The attributes of the target points are divided into static attributes and dynamic attributes and are stored in independent buffer regions; The static attributes at least include the identification and appearance parameters of the target points, and the dynamic attributes at least include the position, speed or time stamp.
6. The method of claim 5, wherein the method further comprises: Incremental updating is performed on the dynamic attribute buffer region: A dirty flag is maintained for each target point, the dirty flag is set when a dynamic attribute change is detected, and only the target points with the dirty flag are constructed into a batch update batch to be submitted to the graphics API.
7. The method of claim 1, wherein the method further comprises: determining a number of the plurality of data blocks to be loaded into the memory based on a size of the memory and a size of the plurality of data blocks; and loading the determined number of the plurality of data blocks into the memory. The dynamic scheduling further comprises constructing a priority-based loading queue, and the priority is at least sorted according to the screen influence degree of the target points to the camera and the predicted visible time.
8. The method of claim 1, wherein the method further comprises: determining a number of the plurality of data blocks to be loaded into the memory based on a size of the memory and a size of the plurality of data blocks; and loading the determined number of the plurality of data blocks into the memory. The method further comprises cooperation with terrain rendering: Listening to a switching event of a terrain detail level, throttling and batch delaying the submission of the target point data during the switching, and after the terrain rendering is stable, performing batch correction on the target point coordinates based on terrain elevation data; The monitoring is implemented through an engine callback, and the correction is implemented through parallel ray intersection detection with a terrain mesh.
9. The method of claim 8, wherein the method further comprises: The batch correction adopts a double buffering mechanism: A front buffer is used for current frame rendering and display, and a back buffer is used for precomputing correction results of a next frame, and buffer switching is performed after terrain switching is completed or a timeout threshold is reached.
10. The method of claim 1, wherein the method further comprises: determining a number of the plurality of data blocks; and determining a number of the plurality of data blocks to be loaded into the memory based on the number of the plurality of data blocks. The method performs prediction, clipping and correction in a unified geocentric coordinate system, and performs local origin transformation on coordinates before submission to a graphics processing unit.
Citation Information
Cited By
Mobile terminal video stream data adaptation processing method based on external camera
CN121842426A
Material dynamic control method and system based on magnetic suspension conveying line and medium
CN121900355A