Login  
Search All Forums
Dart Home | PowerWEB LiveControls for ASP.NET | Custom Development Reply | PowerWEB LiveControls for ASP.NET Topics | Forums   
AuthorForum: PowerWEB LiveControls for ASP.NET
Topic: CallBack Performance
bfairchild

From: Plano, TX USA
Posts: 91
Member Since: 06/10/05
posted February 12, 2007 12:30 PM

I have a form that provides editing of XML that ist stored back to the db in a table. The form only has a few form elements on it.

I have noticed that there is a serious performance degradation when the content of the form gets large. In the example cited above, I have one form element that contains the content of the XML. When that gets large, say over 500k, it takes the page CallBack several minutes to complete, while pushing the client CPU utilization for that instance of the browser to 50%.

If I set all of the controls to not do a CallBack, but a normal PostBack, the transaction only takes seconds and the CPU utilization is minimal.

Any ideas on making that more efficient?
bfairchild

From: Plano, TX USA
Posts: 91
Member Since: 06/10/05
posted February 12, 2007 12:30 PM

And I am running version 1.6.0.0
John Talarico



From: Rome, NY USA
Posts: 630
Member Since: 06/01/05
posted February 12, 2007 1:48 PM

Where is the XML being stored on the client, in a TextBox, a hidden field...?

The CPU bump indicates that the browser is attempting to process a complex hierarchy. Browser DOM manipulation can be time-consuming, and if you have 500K of object hierarchy to process, it would not be unreasonable to expect some delay in processing it. However, there may be some other way of accomplishing your goal without such delay. 

Could you describe the structure of the form and how the XML is stored, edited, and passed back to the server?
bfairchild

From: Plano, TX USA
Posts: 91
Member Since: 06/10/05
posted February 13, 2007 9:15 AM

The XML is being stored in a textbox. It is a self contained XML file with its own root node, xml declaration and so on. The functionality is such that it should allow someone to make a text change in the textbox, then click a button which should call a server function that reads the XML from the textbox, load it into an XML Document type on the server and then write it to the database once it has been validated. It really shouldn't be processed on the client side.
John Talarico



From: Rome, NY USA
Posts: 630
Member Since: 06/01/05
posted February 13, 2007 11:36 AM

Within the context of a callback, the data held in form fields must be encapsulated and transmitted to the server using client script, so there is always going to be some processing on the client during transmission. Then, in the response to the client, the client script must then apply the new values to the form elements, which causes the browser to internally reconstruct the DOM for the page. For large amounts of data, this can be time-consuming.

I've replicated the behavior using a 600K XML file, both reading and writing to a TextBox.Text property in a callback. I have submitted a request to investigate optimizations for these scenarios, but at this time suggest limiting the size of data in these cases, or using a standard postback for updating large amounts of data in this way.
bfairchild

From: Plano, TX USA
Posts: 91
Member Since: 06/10/05
posted February 13, 2007 10:14 PM

Thanks. I'll look forward to any optimizations you can provide.
Reply | PowerWEB LiveControls for ASP.NET Topics | Forums   
This site is powered by PowerTCP WebServer Tool PowerTCP WebServer for ActiveX