flex-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Javier Guerrero García <javi...@gmail.com>
Subject Re: A script has executed for longer than ....
Date Thu, 25 Jun 2015 16:33:45 GMT
More on that:
http://www.jamesward.com/2008/11/21/drunk-on-software-episode-3-performance-pitfalls-of-flexs-arraycollection/

On Thu, Jun 25, 2015 at 6:29 PM, Javier Guerrero García <javi.gg@gmail.com>
wrote:

> Hi Mark:
>
> A long shot here: are you sure that, while you are processing the XML,
> you're NOT triggering constant UI updates on each operation? For instance:
> if after processing each XML item, you are adding the final result to an
> ArrayCollection, and you have some rendering component bound to that
> ArrayCollection, that could cause a total repaint of the item renderers FOR
> EACH XML ITEM processed, hence causing the timeout. Something similar
> happened to me a while ago, and after noticing and solving it, I can say
> that 60 seconds are more than enough to process a few hundreds of thousand
> XML items, and unless your XML is REALLY huge that should be enough :)
>
> If that applies, the obvious workaround is:
>
> 1. Do all your updates and additions on a new ArrayCollection (not on the
> one bound to the component's dataProvider), and then just swap the
> dataProvider of the component to point to the newly populated
> ArrayCollection instead
> 2. Or call "thefunctionthatdisabledautoupdates" in advance (don't remember
> the exact name right now) on the bound arraycollection before starting
> processing your XML, modify/update your arraycollection items, and then
> enabling it afterwards.
>
> P.S. "myCollection.disableAutoUpdate(); ", that was it :)
> http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf668d2-7fe7.html
>
> P.P.S. If none of that applies.... would some kind of "pagination" on the
> UI solve it?
>
> On Thu, Jun 25, 2015 at 3:52 PM, mark goldin <markzolotoy@gmail.com>
> wrote:
>
>> I have a large xml data that UI needs to process. I am getting the above
>> message about timing out. Not sure I can break my function into smaller
>> pieces. Any other idea?
>>
>> Thanks
>>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message