PDA

View Full Version : Multiheader + performance



Birgit
Mar 11, 2011, 4:07 PM
Hi,

I've some huge problems with the load of some pages in my application, usually it are pages that have a multiheader or complex pages with a lot of controls in it.

I'll give you two examples:
1) a page with a multiheader of 10 columns with for example 8 comboboxes. Each combobox can have 200 or more records. Before i added those multiheader, the page was very fast, but now anymore. I already use remote filtering and also remote paging. So that's not the problem, i think the problem is in the load of the comboboxes in the headers.
2) a page with about 100 controls on it, (13 comboboxen, 18 checkboxes, 33 textfields, 8 textareas, 10 numberfields, 4 datefields, 2 gridpanels and 5 fileupload fields). I already divided those controls over 8 tabpages and had the deferred rendering set to false.

The load of those pages are not workable anymore for my client, the first takes 3 seconds and the second problem up to 10 seconds.
Can you please help me to speed up those pages? I can always send them to your email address.

Regards and thanx!

geoffrey.mcgill
Mar 11, 2011, 7:23 PM
Hi,

Rendering 100 Components on a Page is not considered overly large. I would certainly focus on how much data you're loading into the Stores. If you load a lot of records, then expect some performance issues.

Converting the Stores to load the Data asynchronously should help. More http calls will be made, but the initial Page_Load will improve.

Hope this helps.

Birgit
Mar 14, 2011, 3:47 PM
Can you please advise me how to achieve this?

Now i call a function in my page_load to load all the stores.



Private Sub LoadStores()
Me.LoadStoreForwarder()
Me.LoadStoreShipper()
Me.LoadStoreState()
Me.LoadStoreModel()
Me.LoadStoreUnitType()
Me.LoadStoreLoadingQuay()
Me.LoadStoreDischargePort()
Me.LoadStoreDestination()
Me.LoadStoreConsignee()
Me.LoadStoreNotify()
Me.LoadStoreClient()
Me.LoadStoreAmmendment()
Me.LoadStoreDocument()
Me.LoadStoreCurrency()
End Sub


and my stores look like this


<ext:Store ID="StoreUnitType" runat="server" OnRefreshData="StoreUnitType_Refresh">
<SortInfo Field="UnitTypeCode" Direction="ASC" />
<Reader>
<ext:JsonReader IDProperty="ID">
<Fields>
<ext:RecordField Name="ID" />
<ext:RecordField Name="UnitTypeCode" SortType="AsUCString" />
</Fields>
</ext:JsonReader>
</Reader>
<Listeners>
<LoadException Handler="Ext.Msg.alert('Load categories failed', (!Ext.isEmpty(e) && !Ext.isEmpty(e.message)) ? e.message : response.statusText);" />
</Listeners>
</ext:Store>