You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Large models: per-instance detail and picking inside instanced cells #12
Above the 384 MiB merged-geometry cap, repeated shapes are drawn as instanced copies in spatially bounded cells (#8). Measured on an integrated 2-CU AMD GPU with 1 000 000 elements, compared with the earlier one-draw-per-instance renderer:
orbit 95th percentile 20 fps (was 29.9);
pick ~22 ms (was ~7 ms);
still-frame CPU time 23 ms (was 4 ms).
Causes: detail is cut per cell from the cell's nearest point (so all instances of one shape in a cell share one size estimate), each InstancedMesh draw costs ~5 µs of CPU in three.js + ANGLE, and the cell extent is relative to the whole-model diagonal, so a single far georeferencing outlier makes cells unbounded again.
Ideas:
cull and cut detail per instance inside a cell (CPU-side instance spheres, compacted instance list);
bound cells by an absolute extent or by robust model statistics instead of the full diagonal;
reduce per-draw CPU cost (fewer, larger units where it is safe).
Models below the cap (all merged; e.g. 200 000 elements / 19.2 M triangles) are not affected: 30 fps at full detail on the same GPU.
Activity