I have a flash application created with Flex in FlashBuilder which uses the Stage3D-API (Away3D-Library is used).
In this flash application 3D-objects are created and added to scene and they are also removed/disposed again, and then they are created/added again.
Performing these scene altering operations the RAM usage of the flashPlayer process (monitored in Windows7-Taskmanager) steadily increases by big amounts (lets say 20MB).
On the other hand the Memory-profiler does not show any such increases at all. Regarding to memory profiler the application still uses bascially the same amount of memory (the line stays flat).
There are some objects marked as loitering, but they donet seem to build-up. And their total amount is (if at all) 0,3MB.
After a while of 3d-scene altering operations (adding, removeing objects) the application/flash-player crashes, most possibly to not being able to allocate more RAM (Taskmanager shows RAM almost completely used up by flashPlayer-process). The application does not exit due to 3d-resource related limits like vertex-buffers, but here are now my questions:
a) Are there areas of RAM-usages a (stage-3d) application uses up, which can not be profiled by FlashBuilder?
For exmaple: Is it possible that some objects (maybe stage-3d related) that hold onto some areas of memory/RAM which do not show up in memory profiler?
c) Is the versioning of used components (flashPlayer, FlashBuilder or used Flex-SDK) in an way relevant when memory profiling an application? It it possible that i dont properly see the used memory by my application because i might have old version of involved components?
d) Do you have any other idea what might be the cause here for increased RAM-usage or why it does not show up in memory profiler? I mean at least i expected to see it in memory profiler.
e) Generally i understand that the flashPlayer allocates RAM as it sees fit, and that its not the same amount of memory my application currently uses. But if my application seems not to use/demand any more memory (at least thats what the profiler tells me) i dont understand why flashPlayer allocates more and more memory - even to the point of crashing. Any ideas here?
Long shot but...
When I had an issue with Flash Builder 4.6 PC mobile in regards to the java heap problem I discovered myself that my project had content which apparently blew out the FB threshold. In particular my mp3 files (3 units) were of too much high quality (360 kbps), I had to scale down the files to 128 kbps. This is an extreme shame.
I am currently running these threshold tests to see if my mp3s can be of better kbps. I did hack my CONFIG scripts in the sdk folders in the installation location but that did not solve my issue. LESSON LEARNED: FB apparently employs the web logic where reduced files equal better performance.
Yeah, thanks for your long shot reply. Anything could potentially help, but i think what youre talking about is a problem with RAM during complie-time. So it seams youre running out of java heap memory for the compiler/flash-builder, when compiling/builduing your application. The problem i have is that the flash-player is going out of RAM while running the application.
I found a PATCH some developer made which 'edits' the Flash Builder executable file and embeds the usage of more memory...it solved my problem where editing the CONFIG files did not. It's a shame that Adobe puts out these tools with so many limitations and now they have the nerve to remove design mode from version 4.7...I guess they don't want to make any money...I don't care who anyone is in the developing world, we can always use design mode...afterall...Eclipse has it still so what is Adobe trying to do? LOL