Buffer usage for the ordering pair on the current backend.
WebGPU (both backends): StaticDrawUsage. three's shared attribute cache
(renderers/common/Attributes.js) re-uploads a DynamicDrawUsage
attribute on every render even when its version is unchanged, which cost
a full writeBuffer of both buffers per node per frame (8 B x capacity:
80 MB/frame at 10M elements, #2944). Every buffer three creates there
carries COPY_DST, so a static attribute still uploads on each version bump.
Classic WebGL: DynamicDrawUsage, unchanged. There usage is only the
bufferData hint and uploads already follow the version.
Buffer usage for the ordering pair on the current backend.
WebGPU (both backends):
StaticDrawUsage. three's shared attribute cache (renderers/common/Attributes.js) re-uploads aDynamicDrawUsageattribute on every render even when its version is unchanged, which cost a fullwriteBufferof both buffers per node per frame (8 B x capacity: 80 MB/frame at 10M elements, #2944). Every buffer three creates there carries COPY_DST, so a static attribute still uploads on each version bump.Classic WebGL:
DynamicDrawUsage, unchanged. There usage is only thebufferDatahint and uploads already follow the version.