The way that fitting is done is quick because it merely uses the bounding box (bBox) information that's in the database already. This propagates up from the symbols to the containing schematics (same for layout too). If we needed to use the evaluated labels to determine the bounding box, it would be much more expensive because it would have to keep re-computing the bounding box all the time, including evaluation of the labels. We already try to optimise when the labels are re-evaluated (only when visible. for example) to improve performance - but this would completely defeat that optimisation because we'd need to evaluate them to determine whether they're on the screen or not. So the right solution is indeed to make the function a shorter length rather than the close-to-war-and-peace expression you have right now. Regards, Andrew.
↧