I'm working on a as3 project and I've been having problems with a werid Glitch on the movement. Any movieclip i move across the screen glitches, like an old CRT screen.
I thought it was resources so stripped everything back and nothing. Finally I produced a simple MovieClip with a drawn rectange in it and animated it across the screen in a number of ways, Tween Engines, Enter Frames and timers. Every single one of them had the same effect.
It thought it was just my setup (Flex Builder Linux Alpha), but its good to know its not only my problem (sorry!!!)
Bitmap.smoothing = true is suppose to increase the quality of animation, but I cant say its helps for me. I believe it applies more to transformations and scaling, where my movie involves translating several unscaled bitmaps at the same time.
My glitches were happening at 25-30 FramePerSecond. After raising to 40-50 FPS, and then lowering the pixels to move per frame, I started getting much better results. The glitches are still there, but there are much less noticeable.
The smaller the increment your graphics move by, the better they will look.
I also found that hard edges really exaggerate the glitches, so hiding or overlapping edges helped out.
My take, is that flash is not synchronizing its display buffer properly with the monitor. I really dont have a clue on how flash displays the stage to your monitor, or how OS's and Browsers complicate it further. But, Ive run tests with the StandAlone Player 9 using Event.Render to record stats on all of my Bitmaps before being rendered, compared them, and the state of each Bitmap is great. There are no problems with coordinates or size, and everything matches up.
At the same time, I was running a OS native screen capture to collect every frame on my monitor. There are (monitor)frames where the display is just messed up. Half of a Bitmap will be shifted 5 pixels left from the other half of the same Bitmap, and sometimes it would stay in that position for more than two (monitor)frames.
Who know why it happens, but it does, and I feel your pain. My end result looks good, and for most people, they probably dont even notice my little discrepancies.
Good Luck working it out, and if you figure out something, hit me back.
well if animationManager throws some events maybe you can use it to 'event.updateAfterEvent'
Or I remember once while I was playing round with the twee/transitionManager class I told the tween object to start() after I defined the tween (which usually auto plays it) but ended up with a smoother result. but I never really looked into it passed that.