1 million billboards at 60fps

Actually after doing more testing, I found a simple solution to shrink the rectangle by using the center:

    const rect = Cesium.Rectangle.fromCartesianArray([
      entityW._position._value,
      entityS._position._value,
      entityE._position._value,
      entityN._position._value,
    ]);

    const rectCenter = Cesium.Cartographic.toCartesian(
      Cesium.Rectangle.center(rect)
    );

    const smallWest = new Cesium.Cartesian3(
      (rectCenter.x + entityW._position._value.x),
      (rectCenter.y + entityW._position._value.y),
      (rectCenter.z + entityW._position._value.z)
    );
    const smallSouth = new Cesium.Cartesian3(
      (rectCenter.x + entityS._position._value.x),
      (rectCenter.y + entityS._position._value.y),
      (rectCenter.z + entityS._position._value.z)
    );
    const smallEast = new Cesium.Cartesian3(
      (rectCenter.x + entityE._position._value.x),
      (rectCenter.y + entityE._position._value.y),
      (rectCenter.z + entityE._position._value.z)
    );
    const smallNorth = new Cesium.Cartesian3(
      (rectCenter.x + entityN._position._value.x),
      (rectCenter.y + entityN._position._value.y),
      (rectCenter.z + entityN._position._value.z)
    );

    const smallerRect = Cesium.Rectangle.fromCartesianArray([
      smallWest,
      smallSouth,
      smallEast,
      smallNorth,
    ]);

it would be nice to be able to make the amount the rectangle shrinks configurable, but that is beyond my math abilities