I’ve been noticing my web app has been loading pretty slowly, up to 10 seconds to load a page in some cases. No huge images (only one has some images). Mostly just buttons, labels, and listboxes. There are some calculations and resetting properties, loading listboxes, etc, but nothing too wild
I am wondering if the problem is because I have one main webpage and all other “pages” are container controls nested in the main page’s PagePanel. Would converting them to a webpage and not making use of them being nested within the pagepanel make it more responsive? Just wanting to check first before making any major changes
This is what I was wondering is happening. A while back, I noticed an error being thrown after logging into the app related to a combobox on one of the containers, yet that container was not the one in focus. That got me wondering if all the magic in the whole app was happening on the initial logon and maybe even on every consecutive call after that
I have 15 containers nested in the home page’s PagePanel. All have a variety of loading and calculating things. I am going to try out the separate webpages and see if that helps. I have a Settings page as its own webpage. There’s a bunch of controls on this page, but this one seems to load pretty quickly
How would I know this?
Still on r3. I had another project to finish up, and I was planning on updating to r4 after that was complete, so now it’s time
I ran into this kind of problem a few weeks back. It turns out that one of the Dialog box is actually doing some silent loading even though i didn’t call them yet ( i just drag into the web page in the IDE ).
When i encountered the same situation again very recently, loading of items in weblistbox in containers and dialog boxes is where i scrutinized first.
It’s not as important now as it once was due to strides in framework optimization and container performance, but I usually recommend that you initialize any containers and dialogs – which are only conditionally visible – at the time they’re needed. All of those containers and dialogs have objects, each object has code that the server has to send to the client then the client has to render. If you also have a lot of data to load in to those elements (such as ListBoxes or PopupMenus), that’s even more work that has to be done.
Even if it works well in your dev and test environments, all of this is also subject to network conditions you may not be replicating for users with very slow connections or older hardware, so keep that in mind as you build. Optimize as much as you can.