At this point I think everything causing potential breakages has to be properly tested for regressions before it can be merged - the vast majority of users is fine the way it is, and not ensuring reliable updates to fix performance would be imho worse.
That being said, your approach makes sense @csowada, I’m not against altering the digest cycle and calling
$digest directly in widgets, but I believe it should be behind some global switch like “enable partial updates (experimental)” that only affected users would have to turn on. Otherwise I feel better simply calling
$apply when an update occurs so we’re sure everything is updated.
@holger_hees 10-20 updates a minute is not that much, but probably you have a lot of complex template widgets. Maybe there’s an obvious bottleneck that is causing the majority of your problems - profiling with Chrome’s performance tool (tutorial: https://developers.google.com/web/tools/chrome-devtools/evaluate-performance/) could isolate it. I let it run as a test and apparently the slider is the main bottleneck in my particular case, maybe you would find something too: