Is the Flash Platform Fast Enough for my Application?
This question comes in from Prateek, about how to tell whether the Flash platform is capable of running the app he wants to run.
I edit his question down a bit to make it more appropriate for the blog post.
I am working on project which needs to build a business Data flow diagram and one requirement is to include CPA (Critical Path Analysis) algorithm, for finding shortest route or minimum time consumed etc.There is one debate going on whether the algorithm will be implemented on the server side of in the UI. The server side proponents say that:
1) Flex wont be able to implement Graph Data Structure. 2) There will be a performance hit if we are going to this on UI side.
I'm sure Flex can handle these problems without issues, however can you suggest any ways so that i can give any solid figures to prove my point?
There are really two issues at play for Prateek. The first is, can Flex implement the UI for him. I believe it could. I'd be surprised if there was a type of graph that Flex couldn't handle. But, if no component exists to meet his specific need, it might be time consuming to build one.
The second issue is the performance question. It is hard to say if such an algorithm would cause a performance hit without implementing it and testing. I would suggest that you first quantify who your application's users are and what type of machines your app needs to run on.
Based on recent discussions, there seem to be huge discrepancies in Flash Player performance between Windows and Mac and IE and Firefox. I is possible that one platform would have a problem, and the other does not. Are you worried about memory performance? Or are you worried about a noticeable slow down for the user? "Noticeable" is not very quantifiable as it will be different for different people on different computers.
You can test performance and memory usage in the Flex Profiler. But, beyond that I wouldn't be sure where to send him. It's not like I can direct to published numbers that say "X" will work while "Y" doesn't. There are too many variables involved.
If you look at existing applications, say Spatial Key. It can handle a lot of data, and I suspect does a lot of number crunching behind the scenes to make it work. But, just because one application does it doesn't mean every application can. Because every application is different and built for different purposes.
I do like fielding questions from the audience, so feel free to ask them or stop by a Flextras Friday Lunch session and ask me in person. I you want some personal attention, you hire me for some personal attention over at www.asktheflexpert.com





There are no comments for this entry.
[Add Comment] [Subscribe to Comments]