This is just my personal opinion. If anything is inappropriate or needs to be improved, please correct me. You are welcome to discuss it actively!
First, relying solely onCPUThe traditional method of simplifying the local section and selecting appropriate details for rendering is no longer able to adapt to the development of modern graphics hardware. Therefore, we must minimizeCPUComputing complexity: more and more work is handed overGPUProcessing to achieveCPUAndGPULoad balancing.
Second, although batch is reducedDPBut still cannot solve the problem. The reason is that we found through tests that the bottleneck affecting system efficiency is mainly caused by data transmission (bandwidth) and frequent data transmission.GPUCannot be fully utilized, and data cannot be reused.
Third, data can be accessed randomly, rather than through a binary tree (suchRoam) Or indirectly accessed by other means.
Fourth, the terrain cannot be changed during rendering after triangle partitioning.MeshIn this way, the terrain after the triangle is not required during rendering.CPUInterference, completely causedGPU.
Fifth, incremental data transmission should be supported to dynamically adjust the bandwidth.
Sixth: staticGeometryThan dynamicGeometryBetter utilizationGPU.