A lot of Lables are drawn by LableCollection ,but it is very Caton

I have about 3,000 points. The main slow process is that the text is stuck in different texts. If the text is the same, there will be no stuck.
If I draw labels use this program ,it is very caton
/////
var labelboard = viewer.scene.primitives.add(
new Cesium.LabelCollection({ scene: viewer.scene})
);
// array.length=3000
for (let i = 0; i < array.length; i++) {
let tmp = array[i];
let lon = parseFloat(tmp.geometry.coordinates[0]);
let lat = parseFloat(tmp.geometry.coordinates[1]);
let text = tmp.properties.Name;
labelboard.add({
position: Cesium.Cartesian3.fromDegrees(
parseFloat(lon),
parseFloat(lat)
),
text: text,
font: “15pt Source Han Sans CN”,
style: Cesium.LabelStyle.FILL_AND_OUTLINE,
// clampToGround: true,
// heightReference : Cesium.HeightReference.NONE,
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
outlineWidth: 5,
verticalOrigin: Cesium.VerticalOrigin.BOTTOM, //垂直位置
horizontalOrigin: Cesium.HorizontalOrigin.LEFT, //水平位置
pixelOffset: new Cesium.Cartesian2(5, 0), //偏移,
pixelOffsetScaleByDistance: new Cesium.NearFarScalar(
1000,
4.0,
15000,
0.9
),
scaleByDistance: new Cesium.NearFarScalar(1000, 1, 15000, 0.9),
translucencyByDistance: new Cesium.NearFarScalar(
1000,
1.0,
400000,
0.9
),
distanceDisplayCondition: new Cesium.DistanceDisplayCondition(
10.0,
8000.0
)
});
}
// but this is very fast
var labelboard = viewer.scene.primitives.add(
new Cesium.LabelCollection({ scene: viewer.scene})
);
// array.length=3000
for (let i = 0; i < array.length; i++) {
let tmp = array[i];
let lon = parseFloat(tmp.geometry.coordinates[0]);
let lat = parseFloat(tmp.geometry.coordinates[1]);
labelboard.add({
position: Cesium.Cartesian3.fromDegrees(
parseFloat(lon),
parseFloat(lat)
),
text: “11111”,
font: “15pt Source Han Sans CN”,
style: Cesium.LabelStyle.FILL_AND_OUTLINE,
// clampToGround: true,
// heightReference : Cesium.HeightReference.NONE,
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
outlineWidth: 5,
verticalOrigin: Cesium.VerticalOrigin.BOTTOM, //垂直位置
horizontalOrigin: Cesium.HorizontalOrigin.LEFT, //水平位置
pixelOffset: new Cesium.Cartesian2(5, 0), //偏移,
pixelOffsetScaleByDistance: new Cesium.NearFarScalar(
1000,
4.0,
15000,
0.9
),
scaleByDistance: new Cesium.NearFarScalar(1000, 1, 15000, 0.9),
translucencyByDistance: new Cesium.NearFarScalar(
1000,
1.0,
400000,
0.9
),
distanceDisplayCondition: new Cesium.DistanceDisplayCondition(
10.0,
8000.0
)
});
}

Can you create a full Sandcastle example so we can see the issue? See instructions here: How to share custom Sandcastle examples

I am sorry to interrupt you