I encountered performance problems with my AngularJS application on IE and started analyzing the root cause for this. The root cause seems to be, that too many watchers are used, ng-repeat is used for a table with a large amount of data, almost no one-way-data-binding is being used and static data is not being cached. So in general I found out, that it's not just an IE problem.
However, I also started to analyze the digest circle and tried to keep track of it:
$rootScope.$watch(function () {
count += 1;
console.log('Count: ', count);
});
According to my console output, the digest cycle triggers every 1s. This is very, very problematic in my eyes, because from what I have read so far it should only trigger in certain cases and not continuously. Well, there is a timed request for data, but it's only every 10 seconds...but maybe some change triggers another and so on.
I would like to find out which part of my code triggers the digest cycle, is there a way to do this?
Thanks in advance
Update
The problem was not caused by the view containing the table, I found a hidden
$interval(function () { ... }, 1000)
somewhere else, which causes the digest cycle to trigger every second.