views:

120

answers:

2

Hi,

I am having some performance problems with IE 7, whereby the page pauses during rendering while scripts are loaded, this is at times taking up to 5 seconds and leaves the user with a blank screen while he/she waits.

After a process of elimination I have deduced this is because of the scripts emitted by the asp.net ScriptManager class, by dumping the html and testing the same page with the scripts at the bottom, the problem is resolved (well to the extent that the user experience is greatly improved as the user now has a nicely rendered page to look at rather than a blank screen)

So I want to move the emitted scripts to the bottom of the page and looked at setting ScriptManager.LoadScriptsBeforeUI to false in order to achieve this, unfortunately setting this property to false has no effect on where the script references are rendered in the mark-up.

Has anyone encountered this problem, and can anyone suggest a way around it?

Many thanks

Nick

A: 

I suggest you grab dynaTrade AJAX Edition. Completely free and specifically for IE. You can get a full timeline and breakdown of what's eating your time or CPU. If it's a hung javascript function, load time on a script...whatever, this will save you loads of time.

Just load dynaTrace, start a session, go to the troublesome url and then analyze the results. The demo video on that page gives you a walk-through.

I've used this to figure out why some things give trouble in IE in my projects, it's been an excellent tool, and the free part doesn't hurt either.

Nick Craver
A: 

I have subsequently discovered that the LoadScriptsBeforeUI property is only relevant for scripts manually added to the script manager. I was including a service reference with scripts manager and expecting this reference to also be rendered at the end of the form. This is not the case.

Nick - thanks for your response I will be taking a look at dynaTrace.

nickc