Draw Performance issue TopoDS_Shell vs. TopoDS_Face

Hi Everyone!

I have a performance issue with a big model. In model i have ~100000 TopoDS_Face and for each face i have an TopoDS_Shell. When i wan't to Orbit or Pan the view the frame rate is dropping to very low. When I create same likely model but with only one TopoDS_Shell and same amount of face, the Orbit and Panning is goes smooth.
Question: Is there a technical limitation for that or i do something wrong?

Best regards,
Sándor

Kirill Gavrilov's picture

What do you actually mean by displaying 100k Faces in one Shell vs. 100k Shells?
The shape structure shouldn't make much a difference.

I suppose that you are comparing 100k AIS_Shape vs 1 AIS_Shape, don't you?

Biro Sandor's picture

Yes, in fact that the case. I have a legacy code, with many cases, and I now see that all from the shell will be create an AIS_Shape.

Thank you very much.

Best regards.
Sándor

Kirill Gavrilov's picture

Creating 100k of dedicated AIS_InteractiveObject is very expensive operation, and slowdown is expected here.
It is better packing shapes into smaller amount of presentable objects, when possible.

Biro Sandor's picture

Thank you for your answer!

If I create a TopoDS_Compound from multiple TopoDS_Solid and then create from the Compound an AIS_Shape, there will be only one AIS_Shape or will be multiple AIS_Shape for all TopoDS_Solid?

Sándor

Kirill Gavrilov's picture

Each AIS_Shape displays a single TopoDS_Shape as a single interactive object - nevertheless it is a Solid, Compound or Shell.
So the more interesting question if you need only displaying your shapes or select them somehow (in parts, groups or only as whole).

Biro Sandor's picture

OK,

Thank your answers!

Best regards

Sándor