Interaction problem while multi-object rendered in one actor

If there are many objects rendered in one actor,
and I want to highlight one of the objects I clicked.
there is a example:
there are thousands sphere rendered in one actor, I used vtkCellPicker to select a cell, and I want to highlight the sphere to which this cell belongs.
There are now two solutions:

  1. Change the data of the selected object in the actor,
  2. Use the selected object data to build a highlighted actor.

I want to know which of these two solutions is better, and their advantages and disadvantages.

We have been working on this in 3D Slicer for many months and tried many possible approaches. We ended up using vtkGlyph3D/vtkGlyph2D filters for this, and use a separate pipeline (point source, glypher, mapper, actor) for selected, non-selected, and highlighted points. The performance is good for tend of thousands of points.

See a short demo on the video below of interacting with 1000 and 10000 labeled points; and find link to source code and some more information in this post.