ActionScript 2.0 :: Memory Management - Take Less Memory For Scrolling
Aug 2, 2007
I'm making an isometric game and I need to know which takes less memory for scrolling, making everything invisible that you can't see? Like if(!this.base.hitTest(worldHitter))this._visible = false; Or would it be better to remove the movieclips unseen and then reattach them when i should see them?
View 2 Replies
Similar Posts:
Aug 29, 2008
I previously asked about some FLV files that I was loading externally, and having trouble with memory being released. Having sort of solved this, I am having the same problem with loading external resources and then getting them to be cleared out of memory when I'm done with them. I have seen kglad mention more than once that GC in flash 9.0.124.0 is broken, but where does that leave us? I have also tried my project in FP 10, and the memory still continues to go up and up. If I load an external resource - in this case I have a class that builds a VR room with papervision - and then close it, set it's instance to null, my memory never goes down.
This is a total guess, but could it have anything to do with using Tweener in my project? Is there any way that the Tweener class could be keeping some of my objects in memory and keep them from being GC'd? I am using weak references in my listeners, setting any variable I can find to null... I can get over how frustrating this is to just see memory go up and up but find no reason. The class I am using also uses a few subclasses to build itself, but I end up with one instance of my VR on the stage. If I have set that instance to a name - myVR - and then removeChild(myVR) from the stage and set the name to null - that should do it right? Boy, this is frustrating.
View 3 Replies
Nov 7, 2008
I have done a lot of searching / reading to find out how to clear my memory. But I still can't really work out how to clear the memory, it just never seems to come down. I have a few MovieClips that contain other MovieClips with pngs inside them being added to the stage.
As fare as I can tell all Event listeners are removed and refrences I remove the clip, with removeChild I "null" the variable I am using the "LocalConnection()" hack to try and force a clean up, but no movement on the memory count. Are there any examples of a *.png being added and removed from the memory?
View 7 Replies
Nov 10, 2009
I was recently profiling my application that uses Degrafa States in the skins and noticed that doing so uses more memory than I expected. Between the SetProperty and State, they were using about 10% of the total used application memory.
Would it be better to use css for the state changes and a new skin for each state? or Are there some simple tips to reducing the memory footprint of degrafa?
View 1 Replies
Apr 21, 2010
the Flash Virtual Machine relies on garbage collection by using reference counting and mark and sweep (for good coverage of these topics, check out Grant Skinner's article and presentation). And yes, Flash also provides the "delete" operator, which can (unfortunately only) be used to remove the properties of dynamic objects.
What I want to know is how to make it so that Flash programs don't continue to consume CPU and memory while running in the background (save loading content or communicating remotely, for example). The motivation for this question comes in part from Apple's ban on cross compiled applications (in its SDK 4) on the grounds that they do not behave as predicted with the multitasking feature central to iPhone OS 4. My intention is not only to make Flash programs that will 'pass muster' as far as multitasking in iPhone OS 4, but also to simply make better (behaving) Flash programs.
Put another way, how might a Flash application mimic the multitasking feature of iPhone OS 4? Does the Flash API provide the means for a developer to put their applications to 'sleep' while other programs run, and then to 'awaken' them just as quickly?
In our own program, we might do something as crude as detecting when the user has been idle (no mouse motion or key press) for (say) four seconds:
var idle_id:uint = setInterval(4000, pause_program);
var current_movie_clip:MovieClip;
var current_frame:uint;
[code]....
what's the best way to detect that an application should be shelved? And, more importantly, is it possible for Flash Player to detect that some of its running programs are idle, and to similarly shelve them until the user performs an action to resume them?
View 2 Replies
Nov 24, 2011
I am a flex programmer but i had nothing to do for handle manage memory in my projects. I think lack of memory management is reason for loading lag of swf file. Can any one help me to how to handle manage memory in flex/ as3 codes.
View 1 Replies
Sep 8, 2009
I've been trying to figure out how Flash does its memory management regarding object declarations but haven't found anything that describes declarations themselves. [code]Basically I want a pool of declared variables that get instantiated only when a certain type is set. I'd have logic in other functions that figures out what the type is and then does certain things to it, but for now I just wanted to know what kind of memory management Flash does with something like this. Does it do nothing until I actually instantiate it (= new Object()) or will space be set aside once I simply declare it (someObj:Object)?
View 2 Replies
Jul 19, 2010
In AS3, after I've removed a display object container B from another display object container A and deleted all the references to B in A, does that mean that all memories previously held in B will all be released too or do I have to manually delete all the references to objects in B before I can delete B in A in order to free all the memory space held?One more question. I was kind of confused of when to use the delete statement and when to set a variable to null.
View 1 Replies
Aug 18, 2009
Hi guys, I'm wondering whether any of you have any opinions on whether you instantiate a Loader into an instance variable, or whether you declare a local variable to hold the Loader object.
I'm coming at this from a memory management / garbage collection perspective.
I only need the Loader object to load the file and register the event listeners. So I don't really want an object-wide instance variable to hold this loader object (which is what Adobe does in most of their examples), since I can always access the loader.data through the event's target property.
[Code]...
View 2 Replies
May 16, 2010
I'm developing an AS3 application which has some memory leaks I can't find, so I'd like to ask some newbie questions about memory management.Imagine I have a class named BaseClass, and some classes that extend this one, such as ClassA, ClassB, etc.I declare a variable:
myBaseClass:BaseClass = new ClassA();
After a while, I use it to instantiate a new object:
myBaseClass = new ClassB(); some time after
myBaseClass = new ClassC();
and the same thing keeps happening every x millis, triggered by a timer.Is there any memory problem here? Are the unused instances correctly deleted by the garbage collector?
View 2 Replies
May 4, 2011
This blog (and others) state that you should set object references to null inside your dispose() methods when cleaning up objects. However, Actionscript 3 (with Flash Player 9) uses mark and sweep to clear out circular references for you. So I am wondering: is there really any reason to null out your object references?
View 2 Replies
Jul 3, 2010
My AS3 application basically does the following (pseudo code from main application class) 3 or 4 times by adding custom objects to stage:
_movieClipClassVariable = new MyCustomSpriteSubclass();
_movieClipClassVariable.addEventListener(MyEvents.READY, function(event:Event):void {
_hideLoading();
mcHolder.addChild(_movieClipClassVariable);});
_movieClipClassVariable.addEventListener(MouseEvent.CLICK, myClickHandler);
private function coverClickHandler(event:Event):void {
}
What is the right way to allow Garbage Collector to recycle _movieClipClassVariable after it is not necessary? Assign null to it? Remove all listeners? Use weak reference for listeners?
View 2 Replies
Nov 7, 2011
I have a question regarding AS3 memory management. Supposing I created an instance variable for a Class, in this case or type Sound:
public class SoundStore extends Sprite{
var s:Sound;
Then within various class functions I referenced this variable multiple times, each time I wanted to load in a new sound:
s = new Sound();
Am I correct in thinking that each time I created a new Sound I would be overwriting the previous allocated memory?
View 1 Replies
Jan 31, 2012
I have a bit trouble with LoaderMax memory occupy, i have a queue, and i am keep loading images depend on user's action. if they click load more and it keep load, but i would like to clean the memory which been occupied by the previous queue (i have remove all the children been added by the loading previously). is there a way i can do it? the behavior like this.
[Code]...
View 1 Replies
Sep 26, 2010
I have an FPS monitor running and notice that I am getting choppiness here and there, bringing my game from 40 to 27 fps and back and forth at certain stages. I have an idea of where it is happening, but do not know for sure. I looked up quite a few memory monitors but haven't found anything decent yet. Is there a memory monitor that allows you to see the memory leaked and find its location? If not, how about just he memory leaked?
View 4 Replies
Jul 4, 2011
my understanding is that primitive types (uint, string, Number, etc.) of a class do not need to be set to null for garbage collection.
for example, i am not required to write this dispose() method in the following class:
package
{
//Imports
import flash.display.Shape;
[Code]....
if this is true, which i believe it is, what is the difference between objects of primitive types and objects of non primitive types concerning memory allocation?
View 2 Replies
Aug 24, 2010
I wrote an application in flash AS3, and when I trace from flash the total memory usage of the total application is only about 9MB, But at the same time Task Manager Shows the memory usage as 110MB. Around 100MB difference.Flash Trace Method System.totalMemory difference of the Trace from the Beginning of the application to end of the application.
View 2 Replies
Jul 30, 2009
Is anyone else seeing this? After several minutes (less than 10!) of doing nothing but editing a .as file, I see an impending crash in the form of little pink squares around the scroll bars. Most of the time, if I save right then, then exit Flash, I escape without losing any work. If I ignore the warning signs, or sometimes just by Ugly Surprise with no warning, Flash crashes. It doesn't seem like using the app as an IDE for AIR apps, especially when doing little but composing and editing source files, ought to be that taxing.
View 1 Replies
Sep 1, 2009
I am developing a complete AS3 based corporative website. Everything is nice and cool, except that seems to be impossible to release memory... I have read tons of articles referring memory management on AS3, and applied all the techniques on my code: I'm using weakly referenced listeners, removing them when I am done, setting to null all my objects when I want to release them, using the method unloadAndStop whenever I want to unload one of my external SWF files, disposing my loaded bitmaps using bitmapData.dispose()...
And no way, the memory continues increasing to infinite and beyond... One thing that calls my attention: If I minimize my browser and only on that situation, the memory goes down on my task manager to a reasonable amount.
View 8 Replies
Oct 28, 2009
I have built an application that plays videos from the local computer.I am using the FlvPlayback Component. If I play a number of videos in a row(program has about 70), the memory usage on my computer goes to a level where my video is getting slowed down, audio becomes choppy, etc.It seems that when the new video gets loaded, the cached information from the previous video does not get cleared. Could this be and is there a way to clear this out on load of the next video?
View 1 Replies
May 4, 2010
Right now I'm using Flash CS3 and, as my animation projects get to be a few thousand frames with four or five characters each with around 15 layers or so, things start getting really slow. I'll be getting CS5 tomorrow and I'm wondering how much RAM CS5 is capable of handling. I'd really like to speed things up. Or, as a side question, are there any tricks people use to keep things running fast once the timeline gets fairly long?
View 7 Replies
Jul 26, 2010
I was playing a flash game when a friend of mine showed me some Cheat Engine trick where you can search for integers in a flash game. eg your score is 100. To find the score, you'll need to search for the value 800 in Cheat Engine—this is probably a popular trick nowadays.I've never played with Cheat Engine before, but I understand that it's a memory editor? I thought it had something to do with bits and bytes; 8 bits = 1 byte, but I'm not sure at all.why you multiply by 8?
View 1 Replies
Oct 20, 2011
I have an AS3 project and while using Mr. Doob's profiler I see that memory usage keeps rising with every second. How can I find out where the leak is coming from? I'm looking for a solution that doesn't involve Flash Builder Professional.
View 2 Replies
Sep 22, 2010
Im profiling my application looking for leaks. At a critical point, i use 90mb, but, on destroying the application, all of my references are nulled... Yet GC does not run unless i force it. When i force it, it goes back down to 30mb.So i assume GC only runs when its required? That leaves me thinking i have alot of memory to play with in general?What MB of memory usage do you aim for in your applications?
View 2 Replies
Oct 28, 2005
I've created and empty movie clip named "movieHolder" as a container to load in external swf files.
the intent is to load and unload different swf files into the "movieHolder" container with the following button code.
//---------
this.createEmptyMovieClip("movieHolder", this.getNextHighestDepth());
buttonOne_btn.onRelease = function():Void {
[Code]....
Selecting - buttonOne- loads the external "galleryOne.swf" file as expected, but when buttonTwo is selected it should unload the "galleryOne.swf" file that is currently loaded in the container and load the "galleryTwo.swf" file in its place.
when buttonTwo is selected it loads the "galleryTwo.swf" file and you see it for just a second, but the "galleryOne.swf" file returns to the display.
Does unloadMovie remove the targeted file from the flash player memory? It not, how do I dump it?
View 3 Replies
May 17, 2011
If you ignore all the extra memory overhead involved in storing variables (such as keeping track of property names etc)...How many bytes does Flash use to store a single reference to a "complex object"?And a related question (to avoid creating two threads):How many bytes does a String take up? I'm guessing one byte per character, plus an extra byte for the "end of string" character?
View 10 Replies
Dec 8, 2009
I tried a search but it keeps saying I failed the No Spam when I didnt get a question - d'oh. Ok, this has probably been covered before, but a lot of research hasn't got me far, so I thought I'd post. I have a single page html site with several links that load up a homebrewed lightbox. The inline content is written out at the bottom of the page and the divs are set to hidden.
When a link is clicked, the light box loads and the correct <div> is set to visible. The flash plays, or is interacted with but when the user has finished, they click an html Close button and the div is hidden again. Obviously the swf is still loaded and running; it could be even mid animation. The more swfs loaded, the more memory that is taken up.
My development machine can handle the 600mb + used up by have a few FF windows open and a couple of copies of the site; but I imagine it will cause problems for users. So I've been looking into externalInterface to fire a command into the swf to close itself down when the close button is clicked, but I can't seem to find anything
View 1 Replies
May 31, 2010
I'm developing a FLEX application using FLEX Builder with version 3.5 SDK. The problem that I have is that the Browser consumes more and more memory until it slows down or errors. When I run the application using the Flex Builder profiler the Memory usage never gets above 15MB. As I open and close display objects the Memory is released as expected. However, looking at Windows Task Manager the browser consumes more memory every time that I open anything and doesn't release the memory when it is closed. I have tries Google Chrome, Firefox, and IE, they all do the same.
View 1 Replies
Oct 20, 2011
I'm very new to flash,and have been digging through google and this site for information on how to piece together an AS2 shooter game.Its going well enough, but I'm having slowdown issues the longer the games runs, and I was hoping someone here could point me in the right direction.To paste an enemy movie clip on the screen, i'm using this:
Code:
var spawn =_root.attachMovie("monster1","monster1"+_root.getNextHighestDepth(),_root.getNextHighestDepth())[code]........
I need them stored in an array so that the player's shots can test weather or not they've hit any monster on the bullet's enter frame function, then call that monster's movie clip's take damage function. I'm using a for loop to do this:
Code:
for(var i in _root.player.foes){
if (this.hitTest(_root.player.foes[i])){
_root.player.foes[i].takedamage();}
}
I think the problem with the slowdown is that each time I place an enemy on the screen the array gets bigger and bigger. The slowdown only happens while the player is shooting, and I suspect the ever longer for loop with the hit testing is causing it.
I'm already removing the monster's movie clips as they get killed or exit the screen, I guess what I need is a way to reduce the size of the array at the same time, or at least tell the for loop not to do a hit test unless the monster is still alive.
View 3 Replies
Mar 27, 2008
I'll try to explain the general operation of my program, and that might shed some light on my issue. I have a menu with 50 different small postcards. When one is chosen, the program zooms it up in order to fill the screen, populates some data which is unique to each postcard, and "flips" it so you can see the writing on the back. The postcard is a movieclip which imports a front image, 3 back images, and some XML text. There are some buttons on the "back" of the postcard to choose to look at a few images and text.When you choose to close the postcard, it flies away. I use the same movieclip for all 50 postcards, and just change the images and text that I load.
Once the postcard flies away, I want to remove it from memory. It won't happen with removeChild() as that keeps it there in case I want to reference it again I guess, and I have tried setting the postcard variable name to "null" without much success.I add listeners to the buttons on the postcard when I instantiate its class, so I am not sure if I have to remove them in order to get the garbage collector to deal with it. But, I also don't know what I don't know about removing things from memory. In one section of the Flash docs (Working with display object containers) it says:
"The removeChild() and removeChildAt() methods do not delete a display object instance entirely. They simply remove it from the child list of the container. The instance can still be referenced by another variable.(Use the delete operator to completely remove an object.)"And, at another place in the docs (the script reference about removeChild()) it says:
"Removes the specified child DisplayObject instance from the child list of the DisplayObjectContainer instance. The parent property of the removed child is set to null , and the object is garbage collected if no other references to the child exist. The index positions of any display objects above the child in the DisplayObjectContainer are decreased by 1.
View 6 Replies