ActionScript 3.0 :: Significant Performance Hit For Scaling A Vector Animation?
Feb 22, 2010
So, the actual act of scaling a vector object has a bit of a cost to the CPU, and so animating an object from one size to another has a significant cost -- but is there any additional cost for simply playing an animation that has previously been programatically scaled?
My initial thought was that if I took a character -- it's a little dude with a walk cycle, done in vector, and skooshed him to like 0.66 scaleX and scaleY then there would be some performance hit for even just playing his walk cycle in skooshed mode vs. playing it at normal size, but I can't manage to confirm my suspicion.
I am trying to improve the frame rate of a game that draws many floor tiles. Currently, the floor tiles are vector graphics and stored as different frames in a movie clip. I wanted to experiment with rasterizing a floor tile and seeing if that would provide any frame rate boosts. I did this by converting one of my tiles (one of the frames in my movie clip) to a png and replacing the vector version of this tile with this raster version. I then tested two worlds--one filled with tile A (vector) and another filled with tile B (png).
In all my tests, world with tile A (the original vector version) outperformed the world with tile B. I am guessing that the reason I am not getting the expected performance gains is because I am still rendering the tiles in the old style and not using any strict bitmap drawing calls?why it is that this method fails to boost rendering speed? Would I have to switch my rendering code to strict bitmap draw calls?
I tried the benchmark on this site: Array vs. Vector vs. Linked list. It tests the performance of iterating over said sequences.Remarkably, iterating over a linked list is approximately 2.5x faster than a Vector.<int>. What is the reason for this counter-intuitive result?
I have made a webpage that scales to the size of the users screen. Now i'm having to following problem. There is a image gallery in this website that makes use of an XML file. Everytime when the website is scaled to a bigger size the image gets unsharp. This only happens to the external image that is displayed in the gallery since the flash elements are all vectors.I was already thinking about a higher DPI rate or using different images.
So when I scale text in a tween, it doesn't look at all smooth. I tried to compensate by increasing the frame rate, but even 60fps doesn't fix it. So I'm pretty sure that the scaling is limted to pixels. I immagine I can fix this by converting the text to vector art, so it will scale at less-than-pixel intervals.
Is this a correct solution? If so, how do I do this?
Well I'm having a hell of a time trying to get my CPU down under 45% when running my current application. I've tried all sorts of optimization tricks and tips with little success and I'm at a point now where I need a fundamentally different approach.
Problem and Current Approach In the main view of my application I have a single enterframe handler.I have my frame rate down as low as 10 fps. This handler notifies 16 seperate movie clips to draw wedges of varying angles using Lee Brimelow's wedge class. So, 16 times every enterframe, I have 16 movieclip graphic clear, begin fill, draw wedge, endfill all being co-ordinated by my single enterframe handler.
I'm currently working on a project where i use SWFObject to include a flash header (some fire animation). Also I'm using jQuery for serveral animations and effects on the page, like Imagesliders and hovering effects.The problems I got:high CPU usage: about 50% on a Intel Q9550 low frame rates of jQuery animations due to the high CPU usage.The flash animation seem to stuck when i trigger any jQuery animations or effects.I tried to remove serveral jQuery animations and simplify the page, but also with only an hover menu, the flash animation stucks and the jQuery animations are laggy when hovering the menu.The only browsers where my page runs smooth are Chrome and Opera, but only with high CPU usage. FF3&4 and IE7-9 produce bad frame rates all time.I tried to reduce the jQuery internal fx interval, that seems to help, but the animations were not smooth any more. Am I the only one having this issue, i could not find any other postings here with that topic?!url...We changes the graphic card of the computer, from a GeForce 8400GS to a 8800GT. After that, the animation run smooth. I never thought that it would be the graphic card ^^
I'm animating a series of vector based objects (brought in from Illustrator and converted to movie clips - want to keep them as vectors as I'm changing scale a lot and want to retain the clean vector edges etc) which I have applied a blur effect to in the motion editor (to give the appearance of 'motion blur').
Once I add the blur filter to the given Tween Span and test the movie, that particular part of the animation is very slow and jerky and I get the Output error:"Warning: Filter will not render. The DisplayObject's filtered dimensions (3745, 4692) are too large to be drawn.
Now I realise that the vector is too large to apply this filter to at this point in the animation and thus is affecting performance etc, but as I need to keep the image large, as I want to have a part of it go full screen at one point in the animation.
We have some very complex animations that, for performance reasons, we want to have them be bitmaps at runtime..
For example, maybe i can write a jsfl script to copy each frame and paste it into a new .fla as a png instead of as vector art, but I haven't explored that option much.
How do I scale and move a finished animation (with more than one simbols - do I have to group them or something since I don't wan't to touch the background?) without having to do it on every keyframe?
I've searched around a bit but have not found anything that sounds like my issue, or a resolution to it so am hoping this is not unique.I have a movieclip with an image and underneath it some text.I have created a pair of eventlisteners to change the scale of the MovieClip on ROLL_OVER and ROLL_OUT, to 1.3 and 1 respectively.If I hover over and out the image part of the MC this is fine and works as expected.However if I hover over the text, the animation gets stuck doing ROLL_OVER and ROLL_OUT.
I'm devloping some library classes for flocking/steering behaviours on large numbers of objects (2000+). I'm finding that at < 500 instances, performance is reasonable. As the numbers increase, framerate bogs down.
I've seen remarkable performance with libraries such as Flint or Box2D with ridiculous #'s of particles / objects, so it should be possible to optimize / refactor my code to be a bit better.
I'm aware of the basic optimizations, such as bitwise operations and optimized for loops. Are there any more fundamental approaches I should be considering? For example, currently each instance is a vector-based MovieClip. Would working with BitmapData be more efficient?
Will I take a big hit in performance using nested ViewStacks? Should I strive to handle all navigation in one ViewStack and push children manually or will the affected performance be negligible?
We have a medium size Flex 3.6 application that contains around 20 different page views (managed via a single lazy ViewStack) each having multiple components. Most use custom renderers.All model data is loaded at startup and changes to model instances are communicated via binding and/or collection change events.Once the user has viewed each page at least once, all page views are instantiated and happily listen to update events.Which in effect means that each time a model instance changes, all interested views receive that event and compute derived data or trigger item-renderers.I have tested and confirmed this behaviour in a proof-of-concept application. Even when setting a list to being invisible, it still listens to collection change events and invalidates any renderer affected.What would you do?
ActionScript Code: 1067: Implicit coercion of a value of type __AS3__.vec:Vector.ie.aro.floorplanviewer.model.buildingVOs:ConfigurationVO>[code]....
which surprises me as ConfigurationVO inherits from NodeVO.Is the compiler really not able to figure out that a Vector of a superclass should be able to hold a reference to a Vector of a subclass?
I'm scaling onstage MovieClips via AS properties "scaleX" or "scaleY", which kills any kind of animation the clips have within their container MovieClip, be it Classic or Motion Tweens. When I don't scale the MovieClips, they animate fine. I'm able to tell the clips to "gotoAndStop" on their own internal frames, and that doesn't affect their animation within their container clip. I'm referencing the clips via AS w/ their instance names defined in the IDE. I've also tried different clips and recreated them, getting the same behavior.
Is it possible to scale a clip via AS and still have it animate within its container timeline? Does applying an AS property to an onstage instance somehow dissassociate it from other timeline properties?
I'm scaling onstage MovieClips via AS properties "scaleX" or "scaleY", which kills any kind of animation the clips have within their container MovieClip, be it Classic or Motion Tweens. When I don't scale the MovieClips, they animate fine. I'm able to tell the clips to "gotoAndStop" on their own internal frames, and that doesn't affect their animation within their container clip. I'm referencing the clips via AS w/ their instance names defined in the IDE. I've also tried different clips and recreated them, getting the same behavior.
Is it possible to scale a clip via AS and still have it animate within its container timeline?
Does applying an AS property to an onstage instance somehow dissassociate it from other timeline properties?
I need to import a bunch of vector work from Photoshop into Flash. Is there a trick to it. So far, on import, it's converting the layer styles into black.
I am currently being confused by the Vector class.I wrote a beautiful XML to TypedClass parser. Works beautifully and without fault. UNTIL a co-worker noticed we got a Conversion Error for Vector.<Number> to Vector.<*>.
Every Vector I've ever tested all extend Vector.<*>.
Vector.<Sprite>, Vector.<String>, Vector.<Point>, Vector.<Boolean>, Vector.<TextField>, Vector.<CustomObject>, etc etc etc. ALL of them. <type name="__AS3__.vec::Vector.<String>" base="__AS3__.vec::Vector.<*>" isDynamic="true" isFinal="false" isStatic="false"> <extendsClass type="__AS3__.vec::Vector.<*>"/>
[code]...
But then when I use describeType on Vector.<Number>, Vector.<uint> and Vector.<int>.
Now I have accounted for these 3 vectors individually as even uint and int does not extend Vector.<Number> as I would have expected. And my parsing function works for all types correctly again. But my confusion comes as to WHY this is the case, and why I couldn't find any documentation on the subject.
I'm building some navigation that extends all the way from left to right across my SWF. When the window resizes, I'd like the nav buttons to get wider but not have the text on the buttons get wider.
The buttons themselves are rectangles with a vertical gradient and a stroke around the outside. I'm using 9-slice scaling so the stroke doesn't scale, but the middle (gradient) gets wider or narrower.What'd be great is to be able to select an object or layer and say "don't scale, even if the rest of this movie clip scales". Is there a way to do that, or will I have to do it via actionscript?
i have a diagonal movieclip that I am trying to scale along with the background video. The background video scales perfect, I am attaching the diagonal movieclip (br in the code as bottomright) with addChild Instead of scaling with the window, it seems to repeat such as the image is displaying. this is the main section of the code that is doing the scaling
var br:mc_bottomright = new mc_bottomright(); addChild(br); //proportional scale if ((stage.stageWidth / stage.stageHeight)> (owidth/oheight))