views:

2045

answers:

6

Our web application renders fast in some IE browsers, slow in others... It seems to be an HTML rendering problem... The first 10% of the page displays immediately, the last 90% takes up to 10 seconds, and this is static content. I've run with firefox/yslow, renders very quickly. Seems to be isolated to some users/configurations of ie. Quirks mode does not seem to make a difference.

Is there a tool or application that I can use to help me discover a rendering bottleneck? Am I doing something egregious in my code? Could it be a javascript issue? Any help or suggestions will be much appreciated. thanks.

+3  A: 

Use Fiddler to look at the times to load images, css, js files, etc. In other words, is caching a problem? Javascript can definitely cause issues in different browser versions. There's lots of optimizations you find in some versions that aren't in others. Also, make sure your html is well-formed xhtml if possible. How the page is arranged can also affect life. If your document tree is deep, it may need to wait to render large sections until it reads all the child nodes. Another thing to note, certain toolbars and plugins do look ahead loading and can slow down life. An HTTP Proxy can help you watch what's going on network-wise at least.

Not sure if anything of those ideas might help your exact problem, but they can help life overall.

mspmsp
I believe this particular issue may have been related to a plugin on the user's machine. After uninstalling several applications, the page is now rendering normally.
Rob
+2  A: 

If it runs fast in FF or Chrome then it's a javascript issue for sure. IE7 is VERY slow in processing large amounts of script and complicated HTML. We had a sharepoint page that took 10 seconds to render in IE and sub 1 second in FF and Chrome. We benchmarked the page by adding a timer to the server-side processing and sending the output to the client via a Response.Write(). By doing this we could determine the server time to process the page and the client time to render the page (since you would see the timer results on the screen and then wait 10 seconds for the rest to render). The bottleneck was 100% IE on the client. This also explained why the speed was variable on different peoples machines, because depending on how fast the client machine was the page would render at some speed between 8-15 seconds.

We even had MS look at the issue and they confirmed that IE has a "rich rendering" engine which is slower.... IE8 runs much faster but that is no help to anyone today.

Ray Jezek
I think you are right, we have a menu control in there (Telerik RadMenu) and I think that could be the problem. Lots of rich CSS,HTML Javascript. It would be great if there was a perfmon for IE, like if I could watch CPU as it tried process parts of the doc. Oh well. Thanks for the answer.
Rob
+1  A: 

Are you using any behaviors in your CSS? I've seen behaviors bring an app to its knees if too many are used and/or if they affect too many elements. Check for any .htc files lurking around.

Of course behaviors only pertain to IE and they use JavaScript, so I'm sure different IE versions handle them more competently than others.

ajh1138
A: 

Steve Souders gives an excellent presentation on 14 (simple) steps to improve the performance of your web pages:

http://developer.yahoo.net/blogs/theater/archives/2007/08/steve_souders_high_performance.html

If it's hanging in the middle of the page, the first thing I would personally look to do is ensure or move all my JavaScript is at the bottom of the page.

IE is great at being a bad performer, particularly with JavaScript, so if you move it to the bottom, IE can render the page, then get on with processing the JavaScript.

Remy Sharp
+1  A: 

There is a special tool for such scenarios called dynaTrace which is available for free at this website: http://ajax.dynatrace.com/pages/ This tool could really help you out because its tracking almost everything and its specially build for IEs.

Martin Wittemann
A: 

I use HttpWatch for troubleshooting linked assets (images, script, css), network or HTTP related problems in IE. There's a free & paid version. Free is fine but you lose out on some nice features.

Byran