Hello everyone;). I would like to ask if entities like BufferAttributes, Color, VertexColors, vectors etc also needs to be cleaned to prevent app from memory leaks?, like we do with geometries, materials, textures,scenes etc? In documentation -> https://threejs.org/docs/index.html#manual/en/introduction/How-to-dispose-of-objects threre is only info -> In general, it’s recommended to check the API or documentation of a class and watch for dispose() … So if https://threejs.org/docs/index.html#api/en/core/InstancedBufferAttribute and in its inherited methods there is no dispose method, should I assume it will not cause a memory leak?
In general, attributes are freed if you call dispose()
on the respective geometry object. However, if attributes needs to be replaced, it could be indeed a source of a memory leak because there it’s not possible so far to selectively free a single buffer attribute. The following PR tries to fix this by introducing dispose()
for BufferAttribute()
. Unfortunately, it was not merged yet: