I'm creating a simple app that lists users in a table and let's them swipe left or right on their icon to sign in or out.
I'm using the ion-slide-box control for this, but it is very slow to render initially.
On an iPad this performance problem makes the initial load time 10+ seconds.
It seems some of the problem is that $digest is being called every time an item is added, rather than after all the items in ng-repeat are finished.
A simple JS fiddle showing the performance problem:
I've even tried playing with the ionic source code directly to remove extra calls that triggered $digest to try to defer it, to no avail.
callback: function(slideIndex) {
$scope.currentSlide = slideIndex;
$scope.onSlideChanged({ index: $scope.currentSlide, $index:
$scope.currentSlide});
$scope.$parent.$broadcast('slideBox.slideChanged', slideIndex);
$scope.activeSlide = slideIndex;
// Try to trigger a digest
//$timeout(function() {}); // commented this out
}
The loading time seems to scale with more items, OR more ion-slides in the template.
I'm looking any possible solution to improve the rendering time!