ActionScript 3.0 :: Improve Real Time Graph Performance?
Mar 20, 2011
I'm working on a simple real time graph. The data is polled every 50ms, and each poll translates to a line one pixel wide, (data_point) pixels high. The graph scrolls such that new data is on the right, and the oldest values eventually fall off the left.
My solution is embarassingly brute-force, in that I just use theMC.graphics.clear() and a loop of lineTo()s for every graph refresh. While this displays correctly (and I can control the refresh rate to mitigate the CPU burn), it should be painfully evident why I want to move away from this method.
I want to programatically scroll or pan the entire graph one pixel to the left (and drop the leftmost line), and then just draw one new line on the right, but I can't figure out where to start. Assuming such a thing is possible in AS3, would someone be so kind as to point me in the right direction?
I want to draw stock price in real time as a candle graph. I get open flash chart from someone and it looks good at drawing. I don't know how to update the candle graph in real time (using Ajax?), and is it a good way? I use Python a lot. But I cannot find tools as easily to use as OFC.
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 am working on a flex application. The application occupies 100% of the browser screen, but it is slow to load. How should I improve the performance, what are the best techniques one should follow for improving the performance of a flex App. I did try some stuff though, I am not using relative layout instead i am using absolute layout and putting the buttons/images etc at exact places in a Canvas, still i feel it is slow. Can I profile the App or flex code to see where exactly the app is taking the maximum time to execute.
I have two FMS 3.5 streaming servers... Both have Windows Server 2003 x64 with 16 GB of RAM..I'm streaming from a common storage and my Application.xml file is like this:
I am using the Open source PurePDF library in my Flex AIR application. The problem is performance:It takes 100% CPU usage and too long to generate a PDF.
I have done some analysis on it and find that the text writing in pdf is expensive. That's why I need to know how I can improve the performance. Are there any fonts for which pdf generation is less expensive, or is there some setting or tip that can make this process somewhat better in terms of performance? secondly in case of images the ImageElement generation is very expensive when writing that element to PDF. Is there any way to reduce the processing?
I found a way to reduce the ImageElement generation processing by resizing the image using flex and by then passing the small image's bitmap data to the image element. It works fine, and i have reduced the time of execution to a good extent. is there any way to tell PDF to work in chunks or divide the work in such a way that it may take more time to complete but won't block the GUI while the PDF is being generated?
I have a program that is decently complicated in one area and the rest is simple. The complicated stuff is data crunching, pretty much. Would I get an increased performance by doing the data crunching in a second app and just having it send the couple bits of info I want from it to my other app that would be the front end of the program? Or is this a dumb idea? I know air doesn't by default multi thread, so I was just trying to think of a "work around."
I am a bit new to using blitting for graphics. But I have worked up a few demos myself, and I have been reading a lot of information on the methods used. One common theme I have been seeing though is that all of them brute force rendering; drawing the farthest back object first and stepping through all other objects. even drawing objects that are going to be completely overlapped. The reason all of them say this is that any kind of testing to see what should be drawn actually takes more time than just drawing everything with no checks. Is there any kind of way to detect what should be drawn, that will run faster than just drawing everything?
Am currently working on a tool created by a colleague of mine and would like to improve performance. Basically, it's a tool for drawing on screen and uses a combination of Sprites and the Graphics class to draw a line segment every time the mouse is moved when the mouse button is down. Here is the drawing bit:
// on MouseMove protected function drawLine(e:MouseEvent):void { if (currentTool.thickness > 0){ //pen var line:Sprite = new Sprite(); line.graphics.lineStyle(currentTool.thickness, currentColour); [Code] .....
As you can see, it checks if the line 'thickness' property and draws if it is and erases if it isn't. I did think of using a technique similar to blotting here where it'd draw to a bitmap but I'm not sure this'd give the performance boost I want or if, indeed, there would be any way to have an eraser function. The drawing itself works nicely - this isn't the problem, it's the performance of the subsequent 'drawn' sprites.
Background: I am using SQLite database in my flex application. Size of the database is 4 MB and have 5 tables which are
table 1 have 2500 records table 2 have 8700 records table 3 have 3000 records table 4 have 5000 records table 5 have 2000 records.
Problem: Whenever I run a select query on any table, it takes around (approx 50 seconds) to fetch data from database tables. This has made the application quite slow and unresponsive while it fetches the data from the table.
How can i improve the performance of the SQLite database so that the time taken to fetch the data from the tables is reduced?
I've been building a project that is essentially a mashup style editor. You pick from a series of clips, arrange them in order, and then can play them back. Originally it was a series of FLVs that would play one right after another, one stops, next one starts, but this wasn't seamless. So I switched to embedded FLVs inside of SWF files.
Locally this performed better, the videos were more seamless, no gaps where the video disappears because the FLV isn't ready to play, but online it brings the flash movie to a crawl. In total I have 56 video files, either FLV or SWF. There are 4 "tracks" that play simultaneously. Each track is made up of multiple clips. I'm preloading the videos so they are ready for playback when the time comes. The videos are alpha transparent.
I wanted a suggestion from you guys regarding drawing and scrolling performance. The requirement is - I have to draw a graph with sound volume's values updated at 30 fps. And I need to draw this graph and simultaneously scroll to fit in the new values. So the length(width) of the graph is unlimited.
In flash, if you have a complicated graphic (like a complex diagram) that doesn't change much and you want to move/zoom/rotate it around, then does Flash perform better if you convert all graphics into symbols? Or does making symbols slow things down?
Background: Sometimes, you do things for so long, you can't remember why you started in the first place. Whenever I import graphics in flash (like from Illustrator, for example), I select everything, press cmd-B (or ctrl-B on Windows) repeatedly, "breaking apart" everything until I can't, anymore. Then I press F8 and create a symbol.
That's just what I've done for like the last 10 years. It's to the point where I don't even think about it, anymore. I vaguely remember doing this after learning that performance improves when you break apart graphics to create a symbol.
Now, I have a problem: I'm translating/rotating/scaling a massively complex, static diagram and it's too sloooow. I'm trying every technique I can think of to speed things up—every little bit counts.I've read this link and lots of others but I haven't come across the topic of creating symbols.
Summary:should I go back through and make everything a symbol? Should I go through and make everything NOT a symbol? Which is faster?
I've been doing a little bit of reading about Stage3D, which will be a new API used with Flash Player 11.Will this API improve the performance of 2D rendering (Vector) in any way, or will the library be used primarily for rendering 3D?
For poor performance reasons, the DataGrid will cache checkboxes and reuse them for different rows. If you have 50 rows, it won't create 50 checkboxes. It will create as many checkboxes at are visible, plus a few more for padding, and then reuse them as you scroll. This is why you need to explicitly manage their state. How can improve it ? How can fixed checkbox value ? i used checkbox like below But checkbox doesnot remembering the values
I'm working on creating a new look for my portfolio and had a concept.I would like have one movie clip tween in real time 365 frame increments, while another moves in real time minute or second increments.Along with this, I would like to be able to override the passage of time by scrolling an associated scrollbar.The two tweens would be independent of one another.
I have a basic html page and a big flash file I need to embed. I would like to allow the user to click on the links until the flash files loads.I was thinking of two ways to do this1. use an iframe and put the flash file in there2. use jquery to load and append the flash file to an internal div
When I press command + option + enter, the graphics looks very good but when I look at the quick time mov I saved, its so bad. It's fine if I 'drag' the quick time window to the smallest but when I look at it in full screen mode, the picture is so bad... What can I do to improve the quality?
I'm currently using the Graphics library to draw bands of color across an image (bitmap).So, I draw a square of colored bands, and mask it with the bitmap image. Unfortunately, when I use a mask (or even set the blend mode to .LAYER, OR use a shader filter) the FPS drops to un-usable levels.Is there some way that I can draw the bitmap shape I want without killing the FPS? I was thinking that I could like, draw the bitmap on top of the sqaure of Graphics, and then make a certain color transparent.
Is it possible to play the video (mp4) in real time using some flash player? What I mean by in real-time is that player would receive data on the fly, not from alredy saved file but e.g. php script (which sends appropriate content-type header) THAT IS DOWNLOADING AND 'ECHO-ing' THE FILE AT THE TIME PLAYER PLAYS IT - like e.g. some kind of live stream.
I have a C executable (named myprogram). When I run it by ./myprogram I get some output statements on the standard output of my Linux shell. I used run.php to get access to whatever is being printed to the standard output:
Then I called an HTTPService having id="service" to access this run.php file and I also set the text attribute of a TextArea to {service.lastResult}. When I run my Flex app, the interface kind of halts for a moment and then the TextArea displays all the 20 lines at once. But if program is run from Linux shell they appear one by one. Is there a way by which I can display a line as soon as it gets printed to standard output? This will then make the TextArea show the output in real time.
Or is Flex unable to do this? Rather how can a PHP program achieve such effect i.e. showing, whatever is being printed on standard output, concurrently in the browser in real time? Myprogram outputs 20 lines each after some microseconds. I want only the first line of standard output to appear in TextArea of Flex or in the browser (but in real time) while the program may then continue running the program.
I have a Flex/AIR application communicating with a PHP server application. Recently my client requested real-time-like connectivity between the applications to replace what we currently have; refresh buttons which have to be clicked to refresh data.So effectively the server needs to push data to the client when something changes. I can write the code that detects when something changes, but I'm not sure about the push side of things.
We're currently building a fairly big dynamic website, and I was wondering if there was a way to have an animation that updates and move in real time as there's action on the site. Ex. red bulbs light up each time a user posts something on the forum or whatever. It'd be all related to the mysql database.
I have made a shopping cart. And in it I have a quantity text field that the user can change. If the user is changing that value the hole total price thing is changing. My problem is that I lose my self in that part where I have to modify the total price/all products.