function countInstancingAttributes(statistics, instances) {
  if (!defined(instances)) {
    return;
  }

  const attributes = instances.attributes;
  const length = attributes.length;
  for (let i = 0; i < length; i++) {
    const attribute = attributes[i];
    if (defined(attribute.buffer)) {
      // Any typed arrays should have been unloaded before this stage.
      const hasCpuCopy = false;
      statistics.addBuffer(attribute.buffer, hasCpuCopy);
    }
  }
}
The node statistics update stage updates memory usage statistics for a Model
on the node level. This counts the binary resources that exist for the
lifetime of the Model (e.g. attributes loaded by GltfLoader). It does not
count resources that are created every time the pipeline is run.
The individual pipeline stages are responsible for keeping track of any
additional memory they allocate.

@namespace NodeStatisticsPipelineStage

@private