Forum archiveIssue archiveOther usage issues

Archived discussion

bad performance of function: AIS_InteractiveContext::AddOrRemoveSelected()

Other usage issuesTue, 09/09/2014 - 19:251 reply

Browse this forum
QuestionAuthor

I'm trying to programmably select/deselect some AIS_InteractiveObjects in a local context.

My code is like

NCollection_Set ais_obj_set;
Handle_AIS_InteractiveContext hAISContext = ...
...
NCollection_Set::Iterator iter(ais_obj_set);
for (; iter.More(); iter.Next())
{
hAISContext->AddOrRemoveSelected(iter.Value(), 0);
}

If there are many Interactive objects (such as 1000) being selected, the loop takes a lot of time (over 30 seconds) to finish.

Anybody has the same issue? Your advice is really appreciated.

Thank you in advance!

Discussion

1 archived reply

Posts are displayed in their archived order.

01Commenter-1

Perhaps a view redraw is invoked after every hAISContext->AddOrRemoveSelected call?
That might be something to look into...