Currently I’m working on a flash application that will be used for presentation purpose. The application loads external swf files which are exported from powerpoint. This way people can make there own powerpoint presentation, export with a plugin as swf files included with animations, video or audio.
The presentation itself is a 3D carousel containing icons which represent chapters. Once a chapter is clicked, a page slider opens and loads all external swf files needed for that chapter.
When someone is done with that chapter, you can close the pageslider. To make sure the application keeps it performance, it will remove all event listeners, free display objects hold in arrays and get rid of all what won’t be used again. This works fine, the memory use goes back to original state and no problem.
Now when I take a closer look at the fps of the application which is set to 60fps, and load AVM2 content, nothing goes wrong whatever I do or close. As soon as I load AVM1 content and display it, the fps stays steady at 60. But as soon I close the pageslider and free up memory, the fps is stuck at 30. As soon I open a chapter with another AVM1 content, the fps restores to 60.
Now I thought maybe it’s because I did something wrong when I free some memory, so I turned that function off which gets rid of all the stuff. Then I tried again, but again when I load AVM1 content I got 60fps but when I don’t display the content my fps goes back to 30. But this problem doesn’t exist when I load AVM2 content or even just png’s instead of swf files.
But when I turn this free memory function on and not display the AVM1 content and which doesn’t exists at all on the background anymore, the fps is still 30.
Now I thought about a fix to just restore the framerate afther the pageslider is closed. But as soon I use “stage.frameRate=60” the player crashes completely.
I’m clueless, how can AVM1 content on display let the application run 60fps, but when removed from memory and not displayed set the fps to 30 and get to 60 again as soon new AVM1 content is displayed? But AVM2 content it’s all just fine.
What am I doing wrong?
The reason I load AVM1 content is because the powerpoint -> swf exporter can only export AVM1 content.
I also checked if the fps of the exported swf is set to maybe 30, but that’s not the issue, and besides that it theoretically would use the main swf it’s fps.
Clueless at the moment, I could set the main application fps to 30 and no one would notice, but I just can’t sleep why i can’t figure out the issue.
Btw when I set the main fps to 30 it won’t be reduced to 15fps.