I've been looking to find a place to mention this or discuss this, and after looking at the IE blog and MS's site, I figured I'd post the thoughts here for general discussion. I've been working on developing a web-app using a framework called Echo2 - http://www.nextapp.com/products/echo2/ The application is going really well thus far, and I'm expecting a good release at some point in the future. However, when I've been working on this app, I've been doing testing in Internet Explorer, FireFox, and Safari (I haven't worried about Opera too much yet). In my tests. While doing my testing, I've also tested the application with IE 7. In all of my testing, I'm doing heavy XML/rendering calls. I'm dealing with as much as 200k of rendering at a time. With that background out of the way, here's the "sorta" issue I've hit. IE is as much as 10 TIMES slower than FireFox/Safari on doing any kind of rendering. The code is virtually the same (a simple diff on the generated html/xml) allowing some variations for different javascript systems, but that much of a performance difference is very very surprising. Particularly when you consider I've tried this on multiple machines and multiple systems with the same results. I'd hate to have to recommend that clients switch their web browser to FireFox, but right now, I'm inclined to recommend they use FireFox in the future. Suggestions on this? Is IE really that slow on rendering pages? Any easy ways to get faster rendering in IE? Thanks! Jason
-
-
Pre-render content and send that to the client instead of doing it all client side....
Plus I bet you haven't tested your site on an older computer yet, even using Firefox just by your description the client would be unable to handle it.
-
Yes, IE is noticeably slower. Doing the XSLT on the server-side is the only way to speed it up.
There's an ISAPI XSLT filter that can help (in certain situations) when doing what you're doing.
http://www.xsltfilter.com/
It works on IIS5, but not IIS6 (missing API there).
You can also rub two sticks together and do "manual" XSLT transforms in your code for each page.
-
I'm not quite sure what you mean by "pre-render content" - this is an interactive web based thick-client like application, and all the client side is really doing is displaying the html, and then the javascript to send messages back and forth in a google-maps like implementation. The server is doing the processing and caching of information. SO, pre-render content? I'm not sure what you mean by that, or how that's different than just sending the html, which is essentially what I'm doing now. Using echo2, the advantage is I'm only sending components that are updated, instead of the whole page. i.e. if a user clicks a button to update a text box, the server does the processing, and merely passes back the text box - not the whole page. And, I AM testing this on older computers. Starting out on an older dual-500Mhz PII Xeon box. I've tested it on a few laptops, and other machines. Right now, particularly on the OLD machines, FireFox is absolutely creaming IE performance wise. Newer machines the performance difference is less noticable, but still definitely there.
-
I really wish Opera went open source. I love the way their engine renders websites but I just hate the UI.
I love the firefox UI because I can literally make it a single bar UI.

-
DevilsRejection wrote:I really wish Opera went open source. I love the way their engine renders websites but I just hate the UI.
I love the firefox UI because I can literally make it a single bar UI.
hmmmm... i can't follow you... really.
-
That still is more than one line. I know all the hot keys for the buttons you have so that is why i literally have no buttons.I am a huge hot key (I need to watch my language).
-
DevilsRejection wrote:That still is more than one line. I know all the hot keys for the buttons you have so that is why i literally have no buttons.I am a huge hot key (I need to watch my language).
It's possible to fit it all in one line and remove the back/forward buttons. I have a mouse with 5 buttons. I don't need the toolbar, but i like the look of the toolbar.
UI stuff is always fully customizable and there is people skinning Firefox to IE. I saw a skin for Firefox a few days ago. -
nanite wrote:There's not much you can do to speed up a slow horse. IE is just a bloated piece of crap that slows down the longer you use it. If you miss removing a single event handler (ie: the whole JS<->DOM node circular reference thing) you'll end up slowing IE down by a few dozen milliseconds on render. Before long, the browser window itself needs to be reopened!
Just recommend firefox - the fire under Microsoft's butt might make the next version of IE usable.
There are many things that can effect performance in different browsers and some things that developers can do to help. Take a look at the leak pattern article on MSDN for some insight to the circular reference issue in IE. We are also working to address this in IE7.
Our own performance tests show that IE's performance is competitive on typical web pages. This is supported by independant pages such as that at http://www.howtocreate.co.uk/browserSpeed.html. We are constantly looking at areas where we can make improvements though.
I'm not quite sure where the accusation of bloat originates from though
Do you have anything specific to support that?
Thanks
-Dave -
There is an interesting discussion about memory leaks at QuirksBlog.
How do I create a memory leak test script?
More on creating memory leak test scripts
Creating memory leak test scripts - take 3
Memory leaks linkdump
Memory leak mystery
The linkdump post could prove useful for some. -
DMassy wrote:
Our own performance tests show that IE's performance is competitive on typical web pages.
I'm sure they do.
An example of IE being slower: a page with PNG graphics on it. Using the PNG alpha-loader javascript/behavior hack drastically slows down IE's rendering speed.
-
Cairo wrote:

DMassy wrote:
Our own performance tests show that IE's performance is competitive on typical web pages.
I'm sure they do.
An example of IE being slower: a page with PNG graphics on it. Using the PNG alpha-loader javascript/behavior hack drastically slows down IE's rendering speed.
And we are supporting alpha-channel transparency for PNG in IE7 so this is no longer an issue. Clearly the more you ask the browser to do there will be an effect on performance.
Thanks
-Dave
-
While I don't use Opera as my default browser, I do find that it is the fastest one (compared to IE and Firefox). How do they do it with such a small download?
Opera doesn't work with all pages, and JavaScript support could be better, but perhaps the issues are because it uses a stricter parser and is less forgiving of bad code (which may explain a smaller download).
The only problem with IE is that parts of it are loaded on Windows startup. If it were not integrated, then the comparison would be fairer.
-
DMassy wrote:And we are supporting alpha-channel transparency for PNG in IE7 so this is no longer an issue. Clearly the more you ask the browser to do there will be an effect on performance.
Thanks
-Dave
And we greatly appreciate the forthcoming PNG support in IE. Reall,y thank you, thank you, thank you.
But I'm usre you meant, "will no longer be an issue, one day, for a great many IE users", rather than "is no longer an issue".
-
sbc wrote:While I don't use Opera as my default browser, I do find that it is the fastest one (compared to IE and Firefox). How do they do it with such a small download?
Opera doesn't work with all pages, and JavaScript support could be better, but perhaps the issues are because it uses a stricter parser and is less forgiving of bad code (which may explain a smaller download).
The only problem with IE is that parts of it are loaded on Windows startup. If it were not integrated, then the comparison would be fairer.
Well it is easier to be faster if you don't do as much
I can't think of part of IE that does get loaded during Windows startup. I'm pretty certain that mshtml.dll for example is not loaded simply by starting Windows XP. Of course some parts will get loaded if you run Help or an application that makes use of IE components as part of startup.
Thanks
-Dave -
My firefox blows goats(yes that's a technical term) on a massive png IIRC the ping is 15000x18000 or something massive, IE AND Opera handle it amazingly
Firefox on the other hand chugs. -
DMassy wrote:Well it is easier to be faster if you don't do as much

I can't think of part of IE that does get loaded during Windows startup. I'm pretty certain that mshtml.dll for example is not loaded simply by starting Windows XP. Of course some parts will get loaded if you run Help or an application that makes use of IE components as part of startup.
There's also another bug with IE when a box has a GIF image with indexed transparency as the background:
Go onto my blogsite (no blog content yet though), and choose the "Medium" stylesheet.
IE6 takes about 2 seconds to fully render the page (after downloading the content), even after resizing the windows.
The problem doesn't affect IE after you remove the GIF images I'm using as background images for the boxes, but can you look into this?
-
nanite wrote:

DMassy wrote: 
nanite wrote: There's not much you can do to speed up a slow horse. IE is just a bloated piece of crap that slows down the longer you use it. If you miss removing a single event handler (ie: the whole JS<->DOM node circular reference thing) you'll end up slowing IE down by a few dozen milliseconds on render. Before long, the browser window itself needs to be reopened!
Just recommend firefox - the fire under Microsoft's butt might make the next version of IE usable.
There are many things that can effect performance in different browsers and some things that developers can do to help. Take a look at the leak pattern article on MSDN for some insight to the circular reference issue in IE. We are also working to address this in IE7.
Our own performance tests show that IE's performance is competitive on typical web pages. This is supported by independant pages such as that at http://www.howtocreate.co.uk/browserSpeed.html. We are constantly looking at areas where we can make improvements though.
I'm not quite sure where the accusation of bloat originates from though
Do you have anything specific to support that?
Thanks
-Dave
I call BS! When using IE against our web app, we start seeing quarter-second delays on various browser events after a little while. I imagine that there are still a few event leaks that we haven't caught yet. Why is this OUR problem?
The whole circular reference leak pattern is such a piece of crap - what sort of idiot programmer designed that? I love how you IE people wash your hands of it by writing articles, rather than coming up with a hotfix. You shoehorned in all that security crap into IE6, but you can't run circular reference breaker when a page unloads?
Nanite,
What did I say that could possibly be described as BS? I pointed to a way that developers can understand how to avoid the current issues around circular references and said that we are working to fix this. I never meant to imply that it was your problem. Clearly in an ideal world those issues would not be present but they are and in IE7 we hope to address them.
Releasing a hotfix for IE6 is not an option at this point until we have a fix through testing and even then it may be so deep that it cannot be done outside of a major release.
Thanks
-Dave
Thread Closed
This thread is kinda stale and has been closed but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.