Altering a vertex group invariably has an impact on the vertex groups around it, and the fact that you have to confirm every slight modification with a plethora of vertex groups, as opposed to the one, is going to slow things down remarkably.
My first reaction to this thread was I think the same as Andy’s. This is simply a matter of normalizing the active weights on a vertex to make them all add to 1… Blender doesn’t do this, but the weights behave the same relative to each other as they would if it did do it. So at first I thought it was just something to get used to.
However, after giving it some thought, I think that you’re right. This may be a weakness in Blender’s weight painting system, rather than a feature, mainly because of the way that the values are displayed. It often happens that a part of a mesh will be entirely red for the appropriate bone, and yet will not deform correctly due to the fact that other bones are influencing it. This can be an enormous pain in the butt, because you have to find out which bones are influencing it.
If the weight paint showed up with the normalized value for each bone, you would know immediately that the mesh wasn’t being fully influenced by the correct bone and, better yet, you could fix it by simply painting it at opaque value 1 to the appropriate bone, which would remove the other bones’ influence from that bone. This would also allow better (non-trivial) use to be made of the existing weight paint tools, additivity, subtractivity, opacity, etc.
There are other tricks currently available to deal with or avoid the problems, and some helpful python scripts, but now that I’m thinking about this, I can’t see any good reason why these weights shouldn’t be treated as normalized weights. Which I think is actually a more traditional way to think about weights anyway.
This might be worth bringing up with the developers.
My thousandth post! Once upon a time that would have made me a monkey.