The current method of highlighting components by drawing the wireframe works well for small, simple parts but scales very poorly, and rapidly becomes extremely slow for larger parts, such as a cast gearbox casing for example.
Perhaps it's time to throw away the existing highlighting method (which seems to be entirely CPU-bound) and look for a faster, more efficient routine, maybe using the GPU?
A good use case is looking through the results of a Global Interference analysis. If the pair of components highlighted is, say, a nut and a bolt (where the thread volumes overlap) I can spin and manipulate the entire assembly easily and smoothly (5-10 fps, I estimate) to identify the location of the interference. If one of the components is the main gearbox casing, however, it can takes 6-10 seconds per redraw! It also seems to deal badly with a highlighted component extending outside the viewable area - this seems to slow it down more as you zoom in.
My system has a reasonably recent Xeon CPU with good single-thread performance, and a respectable NVidia Quadro graphics card - it should be more usable than this.
I've just checked with our test installation of Creo 4 (normally using Creo 3) and this is still no better, specifically in Global Interference. In both versions though, preselection highlighting and 'normal' selection highlighting is much faster...