HLRBRep_PolyAlgo and HLRBRep_PolyHLRToShape: best way to use them to filter visible lines generated from each input shape

I have several shapes and I'm using HLRBRep_PolyAlgo and HLRBRep_PolyHLRToShape to generate visible lines. I need to retrieve the output lines generated from each single input Shape.
So I first add all the shapes to the HLRBRep_PolyAlgo, update and then I call several times HLRBRep_PolyHLRToShape::VCompound passing as argument the input shapes. Calling several times HLRBRep_PolyHLRToShape::VCompound is very slow with a complex model! Is there a way to obtain the same results in any other way?