On 2008-04-17, at 09:12 EDT, Gilad Parann-Nissany wrote:
Hi
With the help from this forum we have been making progress
understanding our memory usage. See the separate thread: [Laszlo-
user] Understanding memory analysis when using _LzDebug.whyAlive()
We're now at the point were we see that the "smoots" taken up by
Laszlo objects are not all of our memory usage. It seems a large
part (large percentage of total RAM usage, maybe even more than 50%)
may be used elsewhere, perhaps in the Flash objects that are
"underneath" the Laszlo objects.
Questions:
1. Is there any tool or technique that allows us to analyze
exactly how this memory is being used by Flash? ("underneath" the
laszlo objects, I mean)
I am not aware of such a tool. There may be a tool provided by Adobe.
2. Are there any guidelines to help us optimize this Flash part
of our memory usage?
3. More generally is there any way to use Flash-specific
optimization techniques (going to the ActionScript where necessary).
We know that in pure Flash there are several optimization
techniques; the following points are examples of things we wish to try
4. Can we in general call pieces of ActionScript from Laszlo
script?
Yes. The OL compiler does not prevent you from doing that, but
neither is it supported.
5. Bitmap caching:
• SWF resources can be translated once into bitmaps (on the
client side) and cached
• you probably know this is known as bitmap caching.
• Then the bitmaps are used repeatedly instead of rendering
the SWF objects repeatedly.
• Can we do Bitmap Caching for all those vector graphics
which do not change frequently (from Laszlo, but possibly with
specific usage of Actionscript if necessary)
I believe Max (cc-ed) has experimented with this. There may even be
support in LZX for it.
6.
Garbage collection: we would like to trigger the Flash garbage
collection just to test what is going on (as a test not permanent
change). Any way for us to do this?
I am not aware of a programmatic way of doing that. In most browsers,
if you minimize the window the app is running in the Flash GC will run.
Again, there are probably tools provided by Adobe for these purposes,
but I have not used them. There are probably more tools in the open
source Flex compiler, so the swf9 runtime should be easier to measure
and tune in this respect.