As usual, it depends.  If your data is small enough and static enough, get
it all at once and avoid the inherent latency of remote data retrieval
entirely.

 

But rarely is data retrieval or processing the performance bottleneck.  Most
often it is screen rendering, and TileList can be a hog, depending on how
you have implemented it. (How many and how complex are the tiles?)

 

Use getTimer() to benchmark the various steps to verify where your
bottleneck actually is.

 

Regardless, consider disabling the TileList while it is rendering.  I am not
sure what the best event to use to indicate rendering complete will be.
Knowing when a screen is fully rendered is not a simple thin, but I do not
think you have to get the very latest event, just late enough to prevent
clicking on stale data.

 

Tracy Spratt,

 

  _____  

From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On
Behalf Of James
Sent: Tuesday, April 20, 2010 7:37 AM
To: flexcoders@yahoogroups.com
Subject: [flexcoders] What is the best Way - Multiple DataProvider's or one?

 

  

In my app I have a tilelist with an array collection as it's dp which is
populated via remote xml from a mysql database. When a user clicks a certain
category button in my app it sends a request to the server to tell it which
category items the user wants to see which in turn changes the array
collection that populates the tilelist so it shows items within that
category. The thing is though this seems to be a bit unreliable as it means
the user has to wait for a while for the dataprovider to change so sometimes
they click to the next category and the items from the previous category are
still shown in the tilelist.

Is it better practice to have multiple dataproviders initialsed at startup
which the user can switch between as they click each category rather than
modifying the same dataprovider? Basically I'm just wondering what way would
you guys do it? I thought using just one dataprovider would slim down the
code and make the app faster and more reliable but now I'm not sure.



Reply via email to