This content has been marked as final. Show 3 replies
You realize that by separating the rendering with the UI with a network will result in unexpected/unpredictable delays. This is somewhat beyond your control. One of the reasons Flex can be successful is that you can put some of the burden on Flex, which you intend to do wtih your plan for some items.
If you have to do the rendering outside of Flex, then I recommend using a socket for the communication. This is a permanent link, not a request/response link. You can use a socket either from a web app or a desktop (AIR) application.
For performance, the AIR application will be faster because it doesn't have to cater to the browser. Plus you can write temp. file to local disk if you need to. And if necessary, use the SQL Lite built into AIR to cache information.
Good luck with your project.
Thank you Peter, this helps me a lot.
The reason we have to render images outside of the Flex app is because our renderer is a Volume Renderer and written in C++. Imagine having a game engine running in a flex window and Flex providing the controls for that. This is basically what we are trying to achieve. It is complicated, but so far Flex is the best solution for UIs out of the ones we tested (all the others are way harder to use, or dont allow for the effects we want).
The only reason we are not using Air at the moment is because we need to run this on Linux and Air is not going to be available for Linux until later this quarter (if the information I have is still correct).
Meanwhile we want to prototype as much of the development with Flex and running in a browser. It is true that using Air will be much faster and we are going to use it as soon as it becomes available.
If you can provide us with any more information, I would appreciate it.
As I said, I just started looking into Flex a couple of weeks ago and I am not that familiar with all the possibilities and features (and this is a rather complicated subject).
Thanks again for the response and the help. It is highly appreciated!
I think a socket is your best bet, at least for prototyping. We do have an alternative: RTMP (real-time message protocol) but it may be more complex for you to set up. But the complexity also gives you flexability in terms of configuration. For example, RTMP can be used in a tunneling situation or even of HTTP. The socket is a basic network connection and you end users might not be able to use it.
For the socket, check out the Flex documentation for the flash.net.Socket and look up "socket" in the general Flex documentation for other tips on using them.
Do the same for RTMP.