Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Page load is very slow in IE11 and EDGE but fast enough in IE10/Chrome/Firefox #12688

Closed
skumarone opened this issue Aug 27, 2015 · 5 comments
Closed

Comments

@skumarone
Copy link

We have an application developed using followings:

  1. AngularJS 1.2.17
  2. jQuery 1.10.2
  3. Freedom 2.0
  4. WebAPI

We are using ngGrid to display data and ngAnimate for animations.

Our application is running in IE10/Chrome/Firefox without any performance issue. But its very slow in loading a page in IE11/EDGE in following scenario-

There is a dropdown having three options and each option loads a new view (see the images below). In IE11 and EDGE it takes 20-30 seconds to load the new view. But in IE10/Chrome/Firefox it takes 1-2 seconds.

Screenshot: Dropdown
dropdown

Screenshot: The new view loaded when an item is selected from the dropdown
view

The view has date controls and a simple text box. For date controls we are using "ui-select2" directive https://github.com/angular-ui/ui-select2 . Which is using ng-repeat to populate the Months/Days/Years.

<select ui-select2="{minimumResultsForSearch: -1}" class="adcSelect adcSelectDayWidth" ng-model="day" data-placeholder="DD" ng-change="monthYearChanged()"> <option value=""></option> <option ng-repeat="d in days" ng-value="d">{{d}}</option>--> </select>

There is a ng-grid on the page which is initially hidden (using ng-show) as there is no data to display. The data is fecthed from server only when user clicks search.

IE 11 Profile:

ie11_slowness_profile

What I tried to improve the performance (still have performance issue) -

  1. I have followed the solution proposed in ngOptions slow in IE with large arrays #12076 to populate the date dropdowns instead of using ng-repeat.
  2. Also I removed the "closeAnimation" call from "performAnimation" method of angular-animate.js because during my investigation I found it taking more time and I saw a comment in the "performAnimation" mention which says that "closeAnimation" call is required for IE8 + IE9 only, our application doesn't support IE8 and IE9. We are still analizing the impact of removing "closeAnimation".

After these 2 changes the new view is taking 10 seconds to load. Which is not acceptable.

@matsko
Copy link
Contributor

matsko commented Aug 27, 2015

1.2 is quite old. Is there anyway you can upgrade to 1.4?

@vitaly-t
Copy link

Perhaps even upgrading to 1.2.28 would be a good start, to see if that makes any difference ;)

@skumarone
Copy link
Author

@matsko - We can't upgrade to 1.4.

@vitaly-t - I will try upgrading to 1.2.28 and will update you.

@skumarone
Copy link
Author

@vitaly-t Upgraded to AngularJS 1.2.28 but no improvement in the performance.

@Narretz
Copy link
Contributor

Narretz commented Dec 7, 2015

How big are the select lists? In issue #12076 it's said the IE handles huge select list not very well. If that is the case in your application, you have the option to either reduce the number of options or to patch angular to use documentFragments with option elements. Since 1.2.x is unsupported / legacy, there won't be any patches from our side.

@Narretz Narretz closed this as completed Dec 7, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants