Material Change Apply Speedup
The speed of applying a minor change in material could be very slow, even renaming takes a long time to apply in a large model. Material changes all the time during design, so this could be a huge overhead in large complex project. It would be extremely helpful to eliminate this overhead as much as possible.
Beside the absurdly slow renaming, it is also observed that the time needed for applying material change is highly correlated to the number of elements with that material, and the element's internal complexity (when these elements are families). The first correlation is justifiable, but probably not the second one.
Below is the experiment I did:
Setup a model with X number of families with certain amount of complexity inside, in other words, the geometry of the family is parametrically generated. Assign a material to the family. Make one single change to the material and apply, record the transaction time, and repeat this step with some other single changes to the material. The result is something like: 65 family instances take 26s for renaming, then 15s for changing material color, then 15s for change surface pattern, then 15s for another change of material color.
Then I reordered the changes, put renaming to the last, and the result became: 65 family instances take 26s to change material color, then 15s for changing surfacing pattern, then 15s for another color change, then 15s for renaming.
Then I removed some of these family instances, repeated the same four transactions. The result became 26s, 6s, 6s and 6s. What’s interesting: the first 26s is somehow persistent, regardless of the number of instances and type of change.
Finally, I converted all the 65 instances into direct shape elements, which have all the same geometry of original elements but without any internal complexity to parametrically generate its geometry. The same four changes all take 0.2s to complete.
It seems like a change in material will trigger extensive internal computation of family instances. There is also that strangely slow first change, that apparently triggers some other things besides the elements that are actually affected.
I know there are other potentially similar issues, like view opening speed, that have already being resolved. I hope the same could be done for material.