I don't believe the Flash Player knows how to cache DataGrid item
renderers.  I can't think of any API Flex could use to get the player to
cache something, but maybe I'm forgetting something.

IMO, the problem is as simple as:  Flex will create 80 renderers * number
of visible rows.  Are all 100 rows visible?  Let's say you have 25 visible
rows.  That is 2000 renderers.  If the renderers are not simple
DataGridItemRenderers then the total number of display objects is going to
be more than 2000.

AIUI, the player for each browser has rules about what it means to be a
plugin for that browser.  So I believe there are different ways to not
only allocation memory in the various players, but also, to draw text and
graphics, talk to the network, and share the browser process with other
plugins.

Now it could be that in Chrome the code to display text in 2000 display
objects simply can run faster.  It may or may not have to do with how much
memory is allocated, but we do know there are differences and IE is often
the slowest runner.

So, fundamentally, the problem to be solved is simply: how to display the
text you want to show the user with as few display objects as possible.
Are all 80 columns visible?  Are all 80 columns of equal importance?  One
way to cut down on the number of columns is to prioritize what columns are
really important, and anything else can be shown some other way, like
click on a "Details..." button in the last visible column to popup a
dialog box.  

Another option is to create "views" of sets of columns and swap out sets
of columns on-demand instead of having off-screen columns "just-in-case".

AFAIK, there is no way to change how a player allocates memory, and also,
memory usage as reported by the operating system may represent peak usage
and not actual usage as the player allocates "large" blocks of memory and
doles it out to itself in smaller chunks.  There is some randomness to
what small chunks end up in which blocks and you can have lots of
sparsely-used blocks in some scenarios, and those don't get returned to
the OS.

HTH,
-Alex

On 12/8/17, 12:08 PM, "karis" <karis.ng1...@gmail.com> wrote:

>Hi all,
> 
>I'm working on a performance issue with a huge datagrid. ~80 columns, 100
>rows.
>It's bearable slow in Chrome, slower in Edge, and slowest in IE 11. Using
>Adobe Scout, I noticed Chrome allocates a whole lot more memory for
>running
>the .swf than Edge and IE 11 (800mb, 190mb, 100mb, respectively). And I
>still have ample free CPU and Memory.
>This explains the performance issue, if Chrome is caching more renderers
>than IE, it would perform better.
> 
>I contacted Microsoft support, who claims the memory allocated through the
>flash player activex plugin, and not the browser. Is this true? Does
>activex
>have its own rules regarding memory allocation?
> 
>I am wondering if there's any way to increase the memory allocation, be it
>system parameters, or a code change to the flash application. And how are
>the memory allocation logic differ between these 3 browser plugins, so I
>may
>have a clue on improving performance.
>
>Thanks!
>
>
>
>--
>Sent from: 
>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fapache-fle
>x-users.2333346.n4.nabble.com%2F&data=02%7C01%7Caharui%40adobe.com%7Ca74e8
>69d3dd14aff7e5908d53e862428%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6
>36483668210143009&sdata=52Z1y0Ot19OObKgeYLU8Y%2BtgxCdud7b0Mds71opkXRQ%3D&r
>eserved=0

Reply via email to