gopycc / ie7-js

Automatically exported from code.google.com/p/ie7-js
0 stars 0 forks source link

Causes notable slowing, even stalling, of IE8 browser. #295

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. www.ryans.com - site stalls for upwards of 10 seconds running IE9.js
(at the time of writing this, we're working on a fix -- potentially removing it)

IE8 profiler output:
z   3   5,031.44    3,031.37    http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js
    6   
trash   1   1,515.68    1,515.68    http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE
9.js    6   
getText 2   1,515.68    1,484.43    http://ie7-js.googlecode.com/svn/version/2.1(beta4)/
IE9.js  6   
JScript - window script 
block   15,435  437.52  421.89  http://ie7-js.googlecode.com/svn/version/2.1(beta4)/I
E9.js   6   

It's pretty consistent in my profiling. IE8 completely stalls out, unable to 
interact, until it's done executing the script.

Original issue reported on code.google.com by guice...@gmail.com on 21 Dec 2010 at 11:00

GoogleCodeExporter commented 9 years ago
Confirmed.

Original comment by thiago.belem.web on 22 Dec 2010 at 5:42

GoogleCodeExporter commented 9 years ago
We've removed it from the page now (commented it out). It's good to know it was 
confirmed before we made the update. It could potentially happen again just by 
downloading the page, adding a <base href> and go from there.

Original comment by guice...@gmail.com on 22 Dec 2010 at 11:09

GoogleCodeExporter commented 9 years ago
Looking at the style sheet at ryans.com, it makes sense that IE9.js is slow -- 
It contains large amounts of class wildcards, which javascript is slow at 
traversing.

I would guess that if you change all selectors of the form "#id .class" to "#id 
elemtype.class" you will see a great performance boost.

I'd consider this issue rather a documentation issue, as it would be nice to 
have these "performance optimisations" (or usage directives if you like) 
clearly documented.

Original comment by svar...@gmail.com on 13 Jan 2011 at 7:00

GoogleCodeExporter commented 9 years ago
I'm not exactly sure what to do in this case. This locks up our site as well, 
but I can say we have hundreds if not thousands of selectors that do not use 
the element type. ".someclass" or "#something .someclass" and sometimes even 
".something .something .else .other" type statements, and lots of them.

So, I guess if that's the reason this function is so slow (I got the same types 
of numbers the original poster got. the 'z' function is the getCSSText method.) 
From IE8: http://screencast.com/t/PLTt23og

Original comment by offroads...@gmail.com on 30 Jan 2012 at 4:28

GoogleCodeExporter commented 9 years ago
The slowness of IE9.js is for the blocked javascript code resulting from the 
synchronous connection of an ActiveX Object. I changed it to work in an 
asynchronous way, and I gained a lot of performance improvement. (Well, at 
least, it doesn't halt, so it's a much better user experience.)

Original comment by royl...@gmail.com on 21 May 2012 at 1:26

GoogleCodeExporter commented 9 years ago
>>The slowness of IE9.js is for the blocked javascript code resulting from the 
>>synchronous connection of an ActiveX Object. I changed it to work in an 
asynchronous >>way, and I gained a lot of performance improvement. (Well, at 
least, it doesn't >>halt, so it's a much better user experience.)

Can you send us the diff of IE9.js to make it work in an asynchronous way ?
Thanks.

Original comment by origin...@gmail.com on 23 May 2012 at 9:15

GoogleCodeExporter commented 9 years ago
Can you post the IE9.js file?

Original comment by jeff.loo...@gmail.com on 6 Jul 2012 at 6:02

GoogleCodeExporter commented 9 years ago
> Can you post the IE9.js file?

I'm no longer involved with the site. Nor do I have any use for IE9.js anymore. 
I'm afraid I won't be able to run any validation or tests anymore.

Original comment by guice...@gmail.com on 19 Jul 2012 at 2:16