Multithreading :: Flex Async I/O Operation Is On A Worker Thread?
Jan 22, 2012
I am aware that Action Script does not provide multithreading so when writing flex application we are limited to work on one thread. which is ok for rendering my UI.
However some questions arise when preferring flex over silverlight:
As a UI layer single thread is good enough but is it fair to assume that for Aync httpservice like operations in flex , internally it would use some worker threads to manage the async operation and then come back to the main thread ? it looks like it does since my UI does not freeze.Can the flex/flash player deal with multiple httpservice calls in parallel ? ( e.g more than one section of the UI loading data at the same time.)How about the animation stuff ( e.g the parallel animation ) - does flash player internally leverages some threading for accelerating graphics or is it all done on the UI thread ?
View 1 Replies
Similar Posts:
Dec 6, 2010
I have a Delphi 6 Pro program with a TWebBrowser component that loads a web page that embeds a Cool Iris Wall. The Cool Iris wall is an SWF object which means that when running, the execution happens inside the Adobe Flash player, an ActiveX or similar object I believe. The problem I am having is that sometimes when the Wall is loading pictures/videos from the web, it takes a big hit on the CPU on the main UI thread. I know that TWebBrowser moves most of its operations on to a background thread to keep the main UI thread happy, but something the Adobe Flash Player is doing is happening on the main UI thread and its causing my program much grief. Is there a way to move the Adobe Flash Player on to a background thread?
[UPDATE - 12/7/2010] - After a marathon probing and debugging session it turns out that the problem had to do with the Cool Iris Wall's Flickr proxy. You can interface with the Wall in two main ways: 1) You pass them special Flickr api protocol URLs and let them talk to Flickr for you, for example [URL]..loads the Wall with the results of a Flickr keyword search for puppy. The advantage to this approach is that they do all the work for you necessary to make the query to Flickr and build the Wall's contents. 2) You build an RSS media feed yourself containing the photo stream item data and feed it to the Wall.
I was using technique #1. The problem is with #1 is that when their servers have trouble building the Flickr feed for you (for whatever unknown reason), their host SWF puts a heavy load on the CPU interfering with the main UI thread's operation. I converted my entire code base to work directly with the Flickr API and create the feed myself using the second technique and the problem vanished.
View 1 Replies
Jan 19, 2012
How can I use the Timer class and timer events to turn this loop into one that executes chunks at a time? My current method of just running the loop keeps freezing up the flash/air UI. I'm trying to acheive psuedo multithreading. Yes, this is from wavwriter.as:
[Code]...
View 1 Replies
Jun 7, 2010
Does it run in a separate thread or the main loop? If the latter, does that mean that the Timer might not be called if the main loop is in a long-running action?More generally, what can you tell me about threads running in ActionScript? My once-a-minute Timer is called if an event-handler runs for minutes, so it is not the case that all ActionScript runs in one thread.
View 1 Replies
Jul 26, 2011
I am using Flex and Actionscript 3, along with Webservices, rpc and a callResponder. I want to be able to, for example, say:
loadData1(); // Loads webservice data 1
loadData2(); // Loads webservice data 2
loadData3(); // Loads webservice data 3
However, Actionscript 3 works with async events, so for every call you need to wait for the ResultEvent to trigger when it is done. So, I might want to do the next request every time an event is done. However, I am afraid that threading issues might arise, and some events might not happen at all. I don't think I'm doing a good job of explaining, so I will try to show some code:
private var service:Service1;
var cp:CallResponder = new CallResponder();
public function Webservice()[code]....
I could ofcourse save the actions in an arraylist, but whose to say that the addToArrayList and the check if other calls are available do not mess eachother up, or just miss each other, thereby halting execution? Is there something like a volatile Arraylist?
View 2 Replies
Jun 22, 2009
Whenever I debug my AIR app it keeps suspending at a certain line of code...it doesn't give me a reason why, it just says Main Thread (Suspended) No error, no breakpoint at this location either. If I comment out the code so that, that line does not execute, it just does the same thing on a different line of code.
[Code].....
View 2 Replies
Mar 10, 2011
As I know. Flex/AS is single threaded.I want to write an application that talking to server side, also display the data streamed from server.Since Flex is single threaded. I am not sure how could I do this.Better not involve something like "implement your own multi-thread model"
View 1 Replies
Aug 20, 2009
How does one change / modify the Result property of a web service operation?
For example, I have declared my WebService as follows:
<mx:WebService id="ws">
<mx:operation name="Call_One" result="Call_OneRH(event)" fault="Call_OneFH(event)" />
[Code]...
I want to be able to change the result of the operation "Call_One" to another result, since I am planning to re-use the same web service, but the result would be treated differently.
Am not sure if this would work:
ws.operation.Call_One.result = "myOtherResult"
View 1 Replies
Feb 4, 2010
How do can you detect and dispatch an event when a drag and drop operation ends prematurely? I need to know that the user is no longer dragging an item. Even if the dragDrop and dragComplete events do no fire. Its almost as if I need to add an event listener to the dragManager, but that's not really possible..
View 2 Replies
May 27, 2011
My problem is quite simple to describe, in flex: 0.8 - 0.2 = 0.6000000000000001 I'm sure the first two members are 0.8 and 0.2 and are Number class, why would this happen?? And another thing, I cast the value from * type like this:
var value:*=0.8;
var castValue:Number = Number(value);
But nothing more, if I trace value I get 0.8 not 0.800000000000001 or something.
View 3 Replies
Jun 11, 2010
I have a tree control with a custom item renderer. The item renderer has different states that should be set while an item is being dragged over the item renderer. I understand from reading this post [URL] that the 'right way' to do this is to override the 'getCurrentState' method and append some text. I do that.
Now in my tree control I handle the drag over event and get a reference to the itemrenderer that is being dragged over and I set the boolean 'dragOver' property to true. Now I just need to force my itemRenderer to redraw. I can't figure that out. A workaround, is to just set the currentState of the itemRenderer.
how can I force my itemRenderer to refresh? (and I've tried calling validateNow, invalideDisplayList/Properties/Size, to no avail)
<?xml version="1.0" encoding="utf-8"?>
<s:MXTreeItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
[Code]....
View 1 Replies
Dec 4, 2010
Here's the code that allows multi-select list to drag into a tree area. What I would like to do is to change the alpha of the image that gets dragged around. I've done some research but most of the discussions out there talk about how to change the dragged image. What I want to do is simply change the default alpha of the dragged item from 0.5 to say 0.2. Also this solution should be able to handle multiple select dragging.
Below is a simple example of drag and drop that I would like to modify to allow for the alpha change of the draged item.
<?xml version="1.0" encoding="utf-8"?>
<s:layout>
<s:VerticalLayout/>
</s:layout>
[Code].....
View 1 Replies
May 2, 2011
How to perform file read write operation on server in flex web application?
View 2 Replies
Jan 19, 2011
I'm beginner in Flex 4. I'm trying to pop up a Flex WindowTitle custom component, and after the user choose some values, the parent window must be refreshed.I'm showing the modal window, the user can't interact with other components, but the problem I detect is the execution of the program flows, even I choosing to show the Input window as modal, the next methods to refresh the page is called before the user close the modal page. I don't know if flex or ActionScript works different from Java, where I used to code. see the comments on the code example:
<fx:Script>
<![CDATA[
import mx.controls.Alert;
[code].....
View 1 Replies
Nov 23, 2009
Now I set dragEnabled="true", dropEnabled="true" and dragMoveEnabled="true" to archive the ability to reorder my Items via Drag and Drop. But as soon as I start to Drag an Item the whole Application crashes with:
[Code]....
View 1 Replies
Mar 30, 2010
I want to create a high performance server in C# which could take about ~10k clients. Now i started writing a TcpServer with C# and for each client-connection i open a new thread. I also use one thread to accept the connections. So far so good, works fine.
The server has to deserialize AMF incoming objects do some logic ( like saving the position of a player ) and send some object back ( serializing objects ). I am not worried about the serializing/deserializing part atm.My main concern is that I will have a lot of threads with 10k clients and i've read somewhere that an OS can only hold like a few hunderd threads.
View 4 Replies
Nov 14, 2011
it most used on network accesses. But now, I have a class that will do several things, including but not limited to network accessing, many many single loops within a huge code(maybe). The return time is unspecific, so I think about using an async method. However, when I run my program, I found that all things in call stack are stuck when the loop running. I made a short version of my code. First, the weird AsyncClass.as class is like this:
[Code]...
View 7 Replies
Oct 21, 2011
I have a problem with my Flex-Application. As you can see in the code-sample below i try to add some panels to a vgroup. The panels are getting their title from my MYSQL db. My problem is that I can't wait on the async call of the callresponder, so the panel doesn't get filled. How can I wait for the data from DB?If i try to build a new panel with a button it works. When i press the button one panel appears with the right title.
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
[code]....
View 1 Replies
Apr 17, 2012
in a AIR mobile project I've done an initial loop that call a class that save images listed in an xml file to the applicationStorageDirectory of the device (iPad/android). With png files I have no problems since I got a jpg file. All files are correctly saved into the directory, but when a jpg occours it stops the save process (so the jpg is the last file saved and the loop on the list is incomplete, no others pngs are saved).
Some code: my class
Code:
package com.fabiogarzoli
{
import flash.events.Event;
import flash.events.IOErrorEvent;
[Code].....
View 5 Replies
Feb 28, 2011
Apparently I am experiencing a can't find managedQuery or ManagedOperation named:getStudentprofile error
As I researched in some forums, I learned that the one causing this error is that I have duplicate instances of my data services in other components...So my question is how can I share my data services to other components? I don't have an idea how. These are the declarations that I need to share to other components:
parentinfoservice:ParentinfoService id="parentinfoService" fault="Alert.show(event.fault.faultString + '
' + event.fault.faultDetail)" showBusyCursor="true"/
studentprofileservice:StudentprofileService id="studentprofileService" fault="Alert.show(event.fault.faultString + '
' + event.fault.faultDetail)" showBusyCursor="true"/
View 1 Replies
Jan 10, 2012
I will call flashObject.httpRequest to complete a http request via flash. The problem is there is no reference about httpRequest is an async method or sync. It is important for my application.
private function httpRequest (uri:String, param:String="", method:String="GET"):void
{
var
[Code]....
View 1 Replies
Nov 19, 2009
The current workflow is as follows:
user clicks a button sends a Loader to see if the user has permission if the user has permission uploads a file
Unfortunately, this gives:
SecurityError: Error #2176: Certain actions, such as those that display a pop-up window, may only be invoked upon user interaction, for example by a mouse click or button press.
It appears that as a security feature, Flash 10 disallows certain functions (such as uploading a file) unless it is preceded by a mouse click or button press. However, since I am first loading the request for permission, it no longer see the MouseEvent event (presumably in the stack) and thus throws a SecurityError.
View 2 Replies
Sep 23, 2011
I'm having a weird situation that only seems to occur in IE. This may or may not be related to my other post ("Need to worry about thread-safety?"), but I'm not sure, so I'm putting this in a separate thread.I have a setup in my my flash app to load an arbitrary number of different sounds, but with an limit on the number of sounds being loaded simultaneously. It works like this (psuedocode):
Code:
arrayOfURLs = ["a.mp3", "b.mp3", "c.mp3", ...etc...];
arrayOfSounds = [];
nextToLoad = 0;
[code]....
EDIT: In other words, it starts loading up to the first, say, 5 sounds, and then after each one finishes loading, it starts loading the next sound in the queue.It works fine on everything except IE. And it will work on IE as long as the files aren't cached. But if they are cached, then in IE (and only in IE) the flash app will hang and produce a trace like this:
a
b
start callback
start callback
[code]....
And after roughy 50 of those "start callback"s the flash app hangs and it never gets to any "end callback" or "c".It seems that loadSound is deciding to call onLoad synchronously, instead of asynchronously as would normally be expected. But this never seems to happen in anything but IE, even when the given browser has it all cached. So apparently it's either calling onLoad the wrong way in IE, or flash events like onLoad are susceptible to race conditions and need to be written accordingly.
View 0 Replies
Aug 8, 2010
how to add a file to a hread?editing a small falsh animati
View 1 Replies
Apr 27, 2007
While we have a dedicated AS3 forum, we know that a lot of Flex 2 users will cross back and forth across forums because while Flex's core scripting is MXML, it fully supports AS3 as well so it's confusing sometimes what forum to post in and who is best suited to offer help. A lot of topics have been covered in the last 6-8 months at a lot of the more well known guru sites and popular blogs and as we get going we will link up anything that might be of use to users in here.Url...
View 7 Replies
Oct 30, 2009
In a flash movie, I'd like a user to be able to have a choice of buttons, each of which would add a movie clip. (E.g. If they click button "A" it will add a barking dog, if they click button "B" it will add a running cat, etc.)
I then want the user to be able to e-mail this movie with a PHP form (which I know how to do) but in the URL string, it will load the movie (dog/cat) that the user has selected. That way, when their friend receives the e-mail, it will take them to a page with the flash movie that shows the movieclip their friend chose.
View 3 Replies
Sep 16, 2009
I posted a thread in AS3 forum and uploaded an attachment. I would like to know how to delete an attachment from a thread, after it has been posted. I've been looking for this option, but couldn't find it.
View 1 Replies
Feb 17, 2011
i know the question has been posted before, but i can't seem to stop incoming emails from differentsections of the forum (1 seciton is the ACTION SCTIPT 3)Under email notifications, i currently see "recieve email notifications". I should see that and leave it that way, right?
View 1 Replies
Sep 6, 2010
I have a method that I want to be enqueued to the UI thread message pump. How is this done in actionscript? Basically I am looking for the equivalent of System.Windows.Deployment.Current.Dispatcher.BeginInvoke() in actionscript.
View 1 Replies
Jul 14, 2009
I understand the Flash and AS3 is single-threaded, at least at the user level. I would like to understand how asynchronous data loading is handled by the Flash player.
For instance, if I run CPU-intensive code that runs beyond the normal frame (lets say it runs on ENTER_FRAME, and consumes 1/4 per call). Does this leave any CPU cycles to load data from a URLLoader?
If http loading is truly synchronous, right down to handling the TCP/IP stack, one would get horrible performance. In Windows programming, I can do http access asynchronously (in which case the Windows libraries are doing either input on a separate thread, or doing hardware-level interrupts to handle the data -- I provide an asynchronous callback that may be on its own thread). Or, I can do synchronous download, in which case there will be hardware buffering, but my application is actively waiting for each buffer of data to be delivered by the hardware/OS combination.
URLLoader is asynchronous, but what does that mean? Does it mean that I can run the CPU and still download data? Or, will my download speed slow to a crawl if my Flash application is under heavy CPU load? Understanding how this works will help me design my product better, which both uses a lot of CPU, and downloads a lot of data (to the bandwidth limit of the network, if possible).
View 2 Replies