Flash - Major Performance Hitters Aside From Rendering Vectors?
Dec 5, 2011
In Actionscript 3, you quickly learn that using vector graphics is a guaranteed way to inflict massive damage to the performance of your project. Using a combination of Bitmap, its bitmapData property and its copyPixels() method in place of all vector graphics will yield a ridiculous performance boost and is essential for people like myself developing games within Flash. Beyond this I'm not really sure what the next major things that I should be targeting and attempting to optimize are.
I do use a lot of the inbuilt trigonometry functions, but they don't seem to affect it all that much. I know there are some libraries that optimize mathematics with some approximation methods and similar, but so far I haven't found these necessary. Are there any other massive known points I should be looking at? I'm more referring to the inbuilt things that I should be careful of (like avoiding vector rendering) rather than how to improve my own coding style.
I am working on a large project and I would like some advices about improving the rendering performance when scrolling some content.I have a large sprite with a lot of content that I need to scroll and the problem that I am encountering is that when scrolling this big sprite, the rendering of the Flash Player seems to slow down and the movement is choppy.
I wrote a custom scrollbar class that simply updates the target sprite y or x properties on an enter frame event.The large sprite that I am scrolling mainly contains other sprites that have drawn shapes, loaded bitmaps and text fields.
Considering that I am simply moving the sprite, there are no other animations happening, nor other intensive processes at the same time, I do not think that it should be that resource intensive as to slow down the Flash Player that much. What can I do to improve the performance when scrolling the sprite ?(Just to give a rough approximation, the sprite that I am scrolling contains around 20-30 sprites with drawn shapes, 2-5 loaded bitmaps, 5-10 text fields.)
rendering performance when scrolling some content. I have a large sprite with a lot of content that I need to scroll and the problem that I am encountering is that when scrolling this big sprite, the rendering of the Flash Player seems to slow down and the movement is choppy. I wrote a custom scrollbar class that simply updates the target sprite y or x properties on an enter frame event. The large sprite that I am scrolling mainly contains other sprites that have drawn shapes, loaded bitmaps and text fields.
Considering that I am simply moving the sprite, there are no other animations happening, nor other intensive processes at the same time, I do not think that it should be that resource intensive as to slow down the Flash Player that much. What can I do to improve the performance when scrolling the sprite? (Just to give a rough approximation, the sprite that I am scrolling contains around 20-30 sprites with drawn shapes, 2-5 loaded bitmaps, 5-10 text fields.)
We have a requirement to create a video demo of certain products. What is the best way to make sure that the video plays on as many browsers as possible on all popular platforms (on Windows, Mac, Android, and iOS devices)? Current implementation: we just have Flash videos that load in a Flash player.
I'm looking for a good solution to automate testing of a website, major parts of which are in flash/flex.
The preferred language is c#, but I wouldn't mind java, python or php if the solution on any of those languages is better (meaning, easier to write on, less bugs and more tutorials and samples).
What is the best framework around for flash automation in my case?
My site has a jQuery drop-down navigation menu and that is displayed beneath the Flash. How can I display the navigation menu above the Flash object? I tried with setting wmode="transparent" but it is not work.
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?
I'm trying to lighten the load on the users' machine as much as possible. Which requires less resources: using Flash filters for Drop Shadow/Glow or creating vector shapes for the shadow/glow with the Modify > Shape > Soften Fill Edges command?
I'd like to port a Flash application to iPhone.I like flash for a lot of reasons and would prefer to use it for content generation. However there are a few downsides I am told, like at least 3.5 MB per app.So while using Flash would make it easier to extend the current pipeline to include iPhone content, I was wondering what other choices are there for dealing with vector assets. I'm looking to bring in assets from Flash (or illustrator) easily, be able to add placeholders that can be replaced, and package them so that they can be updated easily from iOS.
Will most likely end up outsourcing the app creation, but I would like to know what the choices are before deciding what route to go.
my current situation maybe akin to me painting myself into a corner. i have many vector shapes drawn with the Flash Professional CS5 IDE, which have been converted into sprite objects and exported to actionscript. for example, here are 3 shapes:
i want to programatically fill each shape with a bitmap from my library. i realize i can fill these shapes with library bitmaps in the IDE, but i need to scale the bitmaps at runtime as well as swap them out for others. how is it possible to programatically bitmap-fill shapes drawn within the IDE at runtime without having to also programatically redraw them?
Okay, so I'm pretty much a self-taught Flash newb, so please bear with me if this question has an obvious answer. I've searched different fixes, and none of them have worked.
I am making a simple button in Flash CS4 with AS3. The button has a hover effect and that's it. I am wanting the button to link to a different webpage when clicked on in the same window. I am using this code:
function onMouseClick(e:MouseEvent):void{ var request:URLRequest = new URLRequest("http://www.mysite.com); navigateToURL(request, "_self");}
When I test the movie in Flash, it works fine. It takes me to the webpage. However, when embedded online, it does nothing. I can click on it, and I will remain there on the same page. Like it's just a pretty image with a hover effect and no link. I've tested the button in both IE and Firefox, and it does not work in either.
Now here's the funny thing....when I use _blank instead of _self, it works just fine in both Firefox and Explorer. Any ideas of what I am doing wrong?
I'm trying to calculate an X/Y vector (calling it angle here) in code. Don't know hot to do static methods yet, so I'm doing the following in my class:
NativeApplication.nativeApplication.runtimeVersion returns the runtime version, but what is the best way to create a function which will return the major version? For version 2.6.0.19120, the function should return 2 only. This function should work even when AIR reaches version 10.
i've got a pretty small (in my opinion) usage of motion tween on the following site: [URL]
the circles are moving around and rotating.. not that big of a deal compared to many much more flash intensive websites that i've seen.
on a few computers i've viewed the website on, this page slows down the rest of the computer, the circles move real choppy, etc so it's very taxing on the computer/processor. making this a less intense flash tween? is it something that i'm overlooking or is what my flash file is doing truly that difficult for a computer/browser to process?
I'm making just a simple "website"-like project but I'm stuck on scripting the buttons for the drop down menu. I want the buttons, when clicked, to go to a different frame in the root timeline, but I just can't seem to get it work ). This is my code so far for the whole project.
I am making my second video, so I'm not too knowledgeable. Anyway, I imported audio into my video and it plays back fine. So I play the video, and pause it to try and synchronize the audio. The video stops, but the audio keeps playing, and it will not stop until the whole thing has played. If I try to start from the beginning again and play the audio to sort of override it, it just overlaps with the original audio, and the resulting noise gives me a headache. I don't know if somehow I can stop the audio a portion of the way through
I was wondering if it was possible in ANY way to use the Vector class in Flash CS3? I have Flash CS5.5 but I prefer the GUI in CS3 over a hundred times more and I'm working on a project right now in which some of my classes cause conflicts in CS5.5 (I made up a z variable among other things).
I would really like to use the Vector class in this project so if there's ANY way to import it or any extension I could download please let me know.
I am trying to find a way to render a Flash object, more specifically a Open Flash Chart, in the server, and save a screenshot of it to a temp file to embed it in on a PDF report.
I've found some solutions that use Javascript to generate a temp file in the browser, and then send it to the server (like here). However I need to generate reports automatically and send them as e-mail attachments, so I cannot render it using a browser.
I have a webpage containing 2 DIV containers hidden using CSS. The site has a Flash Movie embedded. I want to render the content of these hidden DIV containers from within the Flash movie.I'm using CS4?
HTML <div id="sectionone">content</div> <div id="sectiontwo">content</div>
CSS hide sectionone div and sectiontwo div
FLASH Display sectionone within flash movie when requested
I am trying to render an image with text and images that are on a .swf file. What i am doing is saving all the objects and their properties in an XML and then using imagemagick to render all that. the problem i am facing is that imagemagick treats fonts very different than Flash, so i don't get a perfect copy of what i see in the flash to what i see on the rendered image.
how to match font sizes between flash an imagemagick?
Here's my problem: I have a few display objects that are modified by a loop, and I would like flash to render exactly one frame at the end of each loop. Duration of a loop may vary unpredictably, thus a constant frame-rate won't do it.
I found a hack-ish way to render one frame at the end of each loop, using updateAfterEvent with a 0ms timer. Now I want to prevent Flash from rendering frames in the middle of the loop: this is a waste of time and ressources, and produces strange blinking effects. Setting the frame rate to 0 would be an easy solution, but stage.frameRate has a minimum value of 0.01.
Question 1: Is there a way to properly stop the standard rendering loop? A workaround will not be regarded as a valid answer, because what I'm currently doing is a pretty good workaround (1 frame every 100 seconds is bearable). Question 2: Is there a better way than updateAfterEvent to force rendering?
Has anyone ever encountered this weird, unique error I am gettingWhen I export my program to a SWF all the imported PNGs with alpha transparency (ie; soft edges) render totally wrong - no transparency, very blocky and pixelated. See the attached image for an example;this is out of the blue. Has exported fine recently.
I want to use small icons to play videos from within an HTML (CSS-styled) text field in AS3. I placed the image after the text, as you normally would. But it keeps getting bumped down to the next line. I'm worried that this is just another part of Flash's busted HTML rendering.
I'm making a simple RSS reader in flash. I test the swf in Flash, it works perfectly. I publish the swf with html through Flash, and it works perfectly. However, when I incorporate the swf into a web site that I am currently developing, using swfobj 2.0 (dynamic) procedures (followed both by google code and lee's video tutorial on using swfobj 2.0), the html rendering does not work. I've tried copying the html code that comes from the Flash-published html, and paste that into the website I'm developing, but that straight out just doesnt work. I'm going to attach the AS3 code here. I pull the RSS xml info into flash, do a bit of string analysis to replace inactive links with active and cut out another snippet of the string, apply a style using an external css, and finally render as html.
Code: Select allvar loader:URLLoader = new URLLoader(); loader.load(new URLRequest("[URL]")); var xml:XML; function onDataComplete(e:Event):void { xml = new XML(e.target.data); var il:XMLList = xml.channel.item; [Code] ..... Latest version of FF is used in both pics. Also, an image to illustrate what happens:
This should be of interest to some of you, certainly those of you who are interested in the games/motion graphics side of things.eople generally accept copyPixels as the standard for "blitting" but in some cases it gets absolutely blitzed by BMFill, namely when alpha isn't involved