Vojta,
We're ok for now. We're developing an analytics system which has a chart, with a number of filtering mechanisms. Each filter (date, score, etc) has(had) its own model and $watch and what we found was IE thrashing. It really slows down when we are loading saved filters. This causes all the watchers to fire and as each watcher fires the chart was redrawing. So if you have 5 filters the chart was needlessly redrawing 5+ times (depending on how many elements in a filters model).
So what we've done in the interim is to put all the models under a root model and so there is only one $watch and this has sped things up (somewhat). Our thoughts, prior to this change, was to disable watching when we didn't need it. So, in this example, if a saved filter has been asked for, disable the
watchers, load the filter (ie. update the model), redraw chart and then re-enable the watchers.
Having an unwatch (or iphone autocorrected: unlatch ;} ) would've come in handy. $unwatch('[foo,bar,blah');
make sense?
thx
--dan