I write a test program to display 100( 10 * 10 array) cylinder in OCC viewer. For each cylinder I use BRepPrimAPI_MakeCylinder to create a TopoDS_Shape then new a AIS_Shape to display it. The performance is very poor. I can see the whole process just as an animation.
Maybe we can use different method to viusalize cylinder at 1000 magnitude, or temporary turn off the display of viewer and after the overall call finished, just to call UpdateCurrentViewer()? I have test the last idea with Display(aShape, False), but it doesn't function.