ActionScript 3.0 :: Framerate Lag When Only 10-14 Of CPU Is Being Used?
Feb 24, 2011
Is there anything else besides high cpu usage that would cause the framerate of a swf to lag?I'm working on a game that is set to 60fps so the animations are super smooth, and I am on good, fast computer so even with tons of animations going my cpu usage never goes above 14% usage, and only about 1% of the systems memory is used.
i am making a flex air application and when its deactivated (lost focus), its framerate becomes to 1fps.i am using psudo-threading encoder that uses enterframe to keep it working the app requires long time converting process more than hours and i need the program to do the same thing while sitting back in the background how to disable deactivation in air application as soon as the focus is out, it becomes 1 fps instead of 24 fps which i need.
i know i can use timerevent rather than enterframe event but my app needs alot of calculation and i figured that in flash, the frame extends its time if the calculation isnt finished. if it gets too long in one frame, the ui hangs up.if i use enterframe, on slow comps it would extend its time to complete the calculations when all the calculations didnt get to finish in time in 1 frame.but im afraid if i use timer event, instead of waiting for the codees to be excuted it would excute the next timer event, i didnt try it though.i created the app that when you add the xml songbook data, it would load up the data sort it and create pages with the graphics and skins set up and when you save, it saves the pages to jpg files using the encoder i created.and the encoder uses enterframe.its working fine but when i deactivate the window while encoding, it becomes extremely slow since it becomes 1fps.
Every now and then I come across some examples on the web that have a nifty little FPS output window. I have also seen a couple that count objects on screen and various other usefull data.Rather than build one myself since I am pressed for time on my current project, does anyone know where I could find a little class or component like this? I had a link from a friend pointing me to one, but I lost the email when I migrated to a new machine (yes, I should have migrated my mail data file - STUPID STUPID ME!).
i want to change my frameRate without changing another instances.Basically stage frameRate should be same but my movieClip frameRate has to be changed as per my choice ?
i want to change frame rate of movie clip during run time on button click.....i have 3 movie clips...and i want to control the frame rate on button click...am using attachMovies to play the movieclips.
To cut a long story short, i'm learning flash in order to get a job in 2d interface design. I had some basic knowledge of the software prior to this, but i needed to further my animation to compliment my design skills, so bear in mind that this is my first major flash project. So far, everything was going well, and i was managing to achieve my vision so to speak, but i have hit a brick wall with this problem. The interface starts with three menu options, single player, multiplayer & settings; each staggered behind and to the right of the last. However the transition i have made between them (basic motion tween with blur filters changing slightly) stutters everytime.
I have uploaded the animation here so you can see for yourself. Also, here is a screenshot of the timeline for the first transition: It does it a little bit in the scaled down version, but if you view it full screen it really slows down. Also, if anyone can be bothered to wait through the slow stuff to see the animation that works
public class MyApp extends Application { protected function onRender():void { trace("frameRate = "+frameRate); } }
and this is then extended by the app MXML:
[Code]...
The app appears to be running at the right speed, but in MyApp.onRender(), frameRate is seen as NaN (in the debugger too if I step through). Why is this? How should I be obtaining the application's FPS property?
I'm developing an AIR app that is receiving TUIO events from a Framework for a fiducial marker based multitouch table. Until yesterday I was faking the events by mouse to work faster, but then I connected everything to a TUIO simulator and the problems appeared.
The TUIO Simulator is a java app. By dragging markers on the simulator you can send OSC messages that I'm forwarding to my AIR app. The problem is that I'm noticing that when I drag something on the simulator, my AIR app lose the focus, and the AIR framerate suddendly drops. If I drag something on my simulator and I switch super fast to the AIR window, everything goes smooth, so it seems the problem is that if my AIR app is not the active app it's redrawn at a lower framerate (I remember reading something about this, not sure).
So my questions are: am I right about the fact that inactive windows in AIR are redrawn at lower framerate? do you have any workaround to fix it and to allow me to interactive with the java app without my AIR framerate drops?
However, there is one issue that plagues a lot of viewers, their players not being able to rend the frames in time.Flash rends each frame on the spot where it is needed, this is obviously needed for actionscripting and similar. But this also means that if a frame takes too long to rend, the player has to do something about it.
The player actually does one of two things, depending on if there is any streaming sounds going on or not.If there is a streaming sound, Flash drops frames to keep in sync. Otherwise, Flash just ignores the issue and draws the next frame as if it didn't have any lag detection.Obviously, neither of these is desirable. What can you do about it? Well, the obvious thing is to not do crazy graphics that takes forever to rend. But what if you can't change the graphics?
There is one thing that you can always do, change the antialiasing level the player is using to do the rending. It's 4x4 (High), 2x2 (Medium) or none at all (Low). This makes the rendering go faster, since it is rendering to less pixels.You can also do other things that are movie dependent to reduce the work load. Things like spawning less particles in a particle effect or outright not having some effects. But those are all movie specific and difficult to work with in a general way.
One idea that I had was to draw everything to a bitmapdata of a smaller size and showing that instead, however, that has it's own issues. For one thing, I do not believe that the player can do it's "changed only" redrawing when you do this. Second, there is the issue if you want the corresponding bitmap instance to be smoothed or not. And of course, if you do this, zooming in will not have the infinite resolution that Flash is known for.Obviously, you need to know when the movie is lagging in order to know when to do this. However, the best I can think of is timing the enterframe events and checking if it has been too long since the last one. This works to show if you are having issues reaching the target framerate or not, but it does not show the load if you are not having trouble reaching the target framerate.
Now, assuming that we have a metric for how well the playback is working, the big question remains: when do you change the rendering settings? And how do you do it?Yes, it is just a simple property of the Stage class for the antialiasing, but that is not what I mean here. I mean, how do you say if it should be changed or not? When it's even lagging one frame? When it's not lagging for one frame? The same, but for 20 frames? This is something I don't know what to pick.
There's this flash web page Im developing. All movement is 90% written in code (as oppose to it being created via designer mode). And for some reason the frame rate of page in browser just keeps dropping. Can someone tell me what that reason could be?I am aware of the fact that framerate does change from time to time but I think that after a while it should climb back up. But in my case it just keeps dropping (by the 9000. frame its like 2 fps) and there isnt memory leak cos used memory amout by browser stays the same
trying to code my first little game with as3 only and needed some clarification. I was experimenting with moving a sprite from A to B to C etc via coordinates in an array. I did this inside a while loop where basically the condition was, (while not at the destination). When I run my movie im immediately at my destination.
I'm quite new to as3 and am trying to change the framerate in a external swf. After searching I only find examples that change the stage fps but it doesnt affect the loaded swf. How can I change the global value or just the external swf if possible?
I have inside my game a smoke animation inside a movieclip. It makes my game very heavy when I add it to stage. I double clicked it from the library and previewed the animation by pressing enter and the fps that is located right below the layers shows 2, 3 fps. My game is configured to run 36 fps.
I want some of my flash object to play faster other to play slower at same moment. Can i play my flash movie objects at different framerate at a time ?
I'm loading in youtube data and the xml fetched from youtube is like thousands of lines long. Going through this whole xml practically steals all power from the flash and makes the loader-view freeze.
I'm loading some external SWF's and want to see what framerate the loaded SWF have. However, all of the data tells me the root SWF's framerate. I've checked the loaderInfo object, the movieClips.stage field (before it's been added to anything). Everything says 30FPS when it should say 20 FPS (in my case).
I'm trying to set the framerate of the playback using the import flash.net.NetStream and flash.media.Video, specifically the NetStream.receiveVideoFPS(fps:Number) but it is not working.
I have a completed animation that looks pretty good, but I'd like to increase the framerate to smooth out some tweens.Is there a way to do this such that the timing won't change?
when I have a movieclip that gets to the end of its playhead and calls the stop() command, the framerate drops from 24 to about 16. This movieclip contains other movieclips that continue their animations. I assumed with one less timeline running the performance would actually increase. There is no other code running, just a movieclip containing other movieclips that suddenly slows when it hits stop().
I compile a SWF with ANT using FDT. In the compiler arguments I am setting default-frame-rate to 30. When I run the SWF, the stage.framerate property is 30 (which is correct), but as the Stats util from mrdoob shows, the SWF runs way faster up to 52 fps.So it seems the compiler argument default-frame-rate is applied, still the events are fired at a higher rate.[code]
I am building an intro for a website. When I publish the swf with html and upload it straight to the server, i get a great framerate (~30 fps). However, when I plug the intro into my preloader, the framerate drops, and the flash player automatically sets the first part of the intro to low quality. I am using a preloader that uses a loadMovie command rather than the traditional preloader on frame 1, content on frame 2.[URL](if your machine is really fast, the one with a preloader might not kick it down to low quality, but it does on my athlon 2000 machine)
I have a 3D animation done with swift3D and imported in flash. If i don;t scale it, works fine... but if i do (to fit the page - full screen), the framerate drops like a brick.