Slow rotation and panning


I'm quite new to OpenCascade and have a problem with rotating and panning my view. My software creates about 750 edges (via BRepBuilderAPI_MakeEdge)and displays them. But when I pan or rotate my view, it begins to stutter. It seems like these events don't get finished fast enough because when I pan or rotate heavily for some time and suddenly stop it, it takes another 3-4 seconds for my view to stop. These lines also flicker while moving them, it looks like Z-buffering is disabled or something like that.

I activated the degenerated mode and just call pan(int x, int y) or rotation(int x, int y) in the MouseMove-Eventhandler.
Did I miss something? Or is it a problem to add that many edges without combining them?

thanks in advance,


Linden's picture


in the meantime I've discovered that opencascade rotates smoothly if I export my lines to IGES and import them afterwards. Could it be a problem with my way of adding lines?

TopoDS_Edge OCCViewer::createLine(Point3D x, Point3D y) {
gp_Pnt a(x.X, x.Y, x.Z);
gp_Pnt b(y.X, y.Y, y.Z);

TopoDS_Edge edge = BRepBuilderAPI_MakeEdge(a, b);
return edge;

void OCCViewer::drawLine(double x1, double y1, double z1, double x2, double y2, double z2) {
Point3D p1(x1, y1, z1);
Point3D p2(x2, y2, z2);

myAISContext->Display(new AIS_Shape(createLine(p1, p2)), 0, 0, Standard_False);

Should I combine it somehow in one shape? Can I archive that with still being able to select particular lines?

Pawel's picture

Hi Linden,

in the recent past a great improvement regarding the visualization performance was introduced: VBO. But this influences shaded shapes only. Wireframe objects (and texts also) might slow the viewer down.

You might want to try


in order to draw all your lines as one. This should improve the visualization performance.


Linden's picture


thanks Pawel - that worked.