I wrote an AIR program two different ways, one using a Spark Datagrid and
another using the older MX Datagrid. I currently have 40k records displaying
in the datagrid and the end user is going to want to sort the data by
clicking on the table headers. When I used the older MX version, the sorts
hap
Thanks for the quick reply. I have to admit that although I have programmed
a lot for fun in Flex, this is the first time I want to deploy a desktop app
to be used on a regular basis. Thus, I was intending on profiling the
application when I was finished building it, but have very very limited
ex
So I ran the performance profile as you suggested and was a little surprised
at what I saw and how to interpret it. As an explanation of the program, I
basically have set up a big filter system for a large set of data. I have a
spark datagrid that is used to display 40k records, and then I have
d
Another interesting observation is that I have 37,321 records currently,
which means that the 74642 calls that are made to the filters and to get
dropdownlist values is exactly 2 calls per record.
--
View this message in context:
http://apache-flex-users.246.n4.nabble.com/Why-are-Spark-Data
Alex, thanks for your continued supervision on my datagrid issue as I feel
really stumped about how to handle it. I am using Flashbuilder 4.5 Premium
Edition for my Flex projects. I repeated the profile as you asked and took
out the filters as you suggested and am posting the results. You will
u
I am using Apache Flex 4.15.0 and AIR 20.0
--
View this message in context:
http://apache-flex-users.246.n4.nabble.com/Why-are-Spark-Datagrid-headers-sorting-my-data-so-slowly-in-Air-tp13026p13036.html
Sent from the Apache Flex Users mailing list archive at Nabble.com.
having trouble finding a link to download 4.14. Happen to know of any?
--
View this message in context:
http://apache-flex-users.246.n4.nabble.com/Why-are-Spark-Datagrid-headers-sorting-my-data-so-slowly-in-Air-tp13026p13038.html
Sent from the Apache Flex Users mailing list archive at Nabb
So I used the installer to install Flex 4.14.1 in combination with Air 22.0.
I thought initially that it helped because the first sort took about 4
seconds. But all subsequent sorts on the headers took anywhere from 12-30
seconds. The ArrayCollection that I am using just has fairly bland info in
So I was wondering if there was a way by eliminating all references and using
garbage collection, that you could garbage collect a custom Component?
I have written a program with three major MXML files: The main application,
a database component, and an analysis component to display the data. I
d
Justin, thanks for the input, I will take a hard look. Upon further
observation, I installed version 4.14.1, and thought that I applied the
changes, but I don't think that I did, so I tried again and now have an
error in my descriptor file. It looks like version 4.14.1 doesn't like
4.15's descrip
Thanks, I really appreciate the input I have recieved. You suggestion took
care of the descriptor file, but version 4.14.1 did not help. I have taken a
much more caveman approach to trying to solve this because programming is
not my vocation. I'm simply trying to create a tool that will help us i
Well, just out of curiosity, I decided to put the currencyFormatters and
Filters back in, and then I created two buttons and two button handlers that
would sort my arrayCollection both ascending and decending outside of the
datagrid and then refresh the datagrid, and about fell out of my chair. Th
I wish I could, but I would not be able to get permission to send you the
company database. I did figure out that if I did the sorts by writing my
own routines on the arraycollection, the datagrid updates in about a second.
This is a *enormous* improvement, but leaves me with the task of writing
Wow, Mark, thank you for the input! You quickly just saved me a few hours of
research trying to come up with a good plan to handle all of this! Much
appreciated!
--
View this message in context:
http://apache-flex-users.246.n4.nabble.com/Why-are-Spark-Datagrid-headers-sorting-my-data-so-s
Thank you Alex. I have followed you in the Flex development world starting
back in 2009 when it first came up on my radar screen so I know how much you
understand all of this material and am grateful for all of your input.
Since I just dabble in this, I am curious as to what you think is the prop
Thank you Alex. I have followed you in the Flex development world starting
back in 2009 when it first came up on my radar screen so I know how much you
understand all of this material and am grateful for all of your input.
Since I just dabble in this, I am curious as to what you think is the prop
When looking at memory useage in the profiler, is there a size that you think
a program should never exceed for AIR to be able to handle it efficiently?
--
View this message in context:
http://apache-flex-users.246.n4.nabble.com/Question-about-Components-Garbage-Collection-an-CreationComple
I have a datagrid that has a clickable column. When an item in the column is
clicked, a popupwindow is executed that instantiates an HTMLloader to
display a google map. I also have javascript functions that add a couple of
markers to the map if called within my AIR app. The first time that the
p
I placed several trace statements in my code to see where they hangup was
taking place. I placed them right before the htmlloader loads, after the
load completes and is handled by the allready method, before and after each
call to the javascript functions. Without a doubt, the hangup is happening
I didn't think you could for this type of application. I am using
Flashbuilder 4.5. I thought the network monitor was for RPC things like
HTTPService. When I enable the monitor and launch the program in debug mode
and then click the link that loads the google map into the htmlloader, I
don't see
OK, so I figured it out but I only have speculation as to why it works. I
will post it here just in case anyone ever wants to read it. You may not be
able to tell from the scrambled HTML/Javascript code that I posted, but
there is a CSS statement that defines the width and height of the map
that
I am using an HTMLloader to display a map in a desktop AIR application using
Google Maps APIs. I chose HTMLloader over StageWebView because it is much
easier for a novice like myself to communicate with Javascript which is
essential for Google's API, and I couldn't figure out how to get
StageWebVi
So I have essentially finished my AIR application and decided to export a
release build and see how it performed outside of Flash Builder. Everything
went fine, I created my certificate and exported the app as a signed AIR
package, I believe that my descriptor file is fine because the application
I'll give that a try, but I am a little perplexed. The very first thing that
is supposed to happen when the app opens in the creationComplete of the main
MXML file is to create a database if it does not exist in the application
directory. It gets created every time in Flash Builder, but in the re
As far as I can tell, it looks like it. The assets used for the skins and
images are present, the folder I created to hold the Google Maps
HTML/Javascript is present. In Flashbuilder, it was making my database in
the bin-debug folder, and that is not present, but I just assumed that is
because th
The error had something to do with the SQLite database. If I understand
correctly, it could not find the directory that it is supposed to create the
database in, and therefore would not do it. Here is the actual error:
SQLError: 'Error #3125', details:'Connection closed.', operation:'open',
deta
Just a question out of curiosity. The app that I just finished does some
SERIOUS number crunching. When I was developing the application in Flash
Builder, it would chew on the data set for about 3-4 hours, so during
testing I would run it while I was sleeping. I exported a release build and
inst
So my application is a HUGE number cruncher. But since it is running on one
thread, the deployed version still takes about an hour to process my data.
If at all possible, I would like to get this down to about 15 minutes so I
could run it several times a day. My computer has two XEON Quad Cores
Thanks for the response Sean. When using Flash Builder, you can either debug
the application by clicking on the little bug, or just run it by clicking on
the play head. I always wondered if when you just play the app, if you are
still running it under some silent debugging version of AIR. If you
HaHa! I don't even know what a script timeout is LOL. So I have an
arraycollection that currently has about 38k records with a ton of data in
each record, and the number of records grows by about 900 every day. I set
up two nested For loops that compare every record with every other record in
th
Yes, I used an uncaughtErrorEvent Handler to display the information to me in
a TextArea I temporarily placed in the app. It let me know that it was an
SQL error with an error number and other information. I simply googled the
error string and came up with the fact that database table was not bei
jmclean wrote
> - if the array collection is bindable (I hope not) turn off updates
It is bindable. I will try turning off updates.
jmclean wrote
> - loop around the array inside the array collection not the array
> collection itself (this I’d guess give a significant performance increase)
H
I don't know how useful Scout is going to turn out to be for me with the
profiling in my speed issue. I am using Flash Builder 4.5, so I don't have
the ability to turn on telemetry in the compiler. I found a little app call
SWFScoutEnabler but don't know how to turn my AIR project into a SWF. Bu
Hi Justin. I have never used the additional compiler arguments dialogue
before. I profiled my app in Scout as you suggested, and when browsing
through the Session Info, it says that Advanced Telemetry is disabled, so I
don't know if I entered the additional compiler arguments correctly. This
is
Well, I wanted to at least try to turn off updates on the arraycollection, to
work with the array inside of the arraycollection, and just see if I could
optimize the main app before I tried dividing it into Workers. Without the
advanced telemetry, all I can really tell is that it takes 50 minutes
I was going to try your utility to turn on the advanced telemetry in my
application because it is not working in the additional compiler arguements
dialogue, but can't figure out how to do it. I can't drag my deployed app
onto the SWFScoutEnabler because it has to be a SWF. The only SWF that seem
I think I figured it out. I took the SWF from my installed desktop AIR app
program folder, ran it through the utility, renamed it, and returned it back
to the program folder. When I ran it, I could see that Advanced Telemetry
is on.
--
View this message in context:
http://apache-flex-users.23
So, I finally got Scout to work with my program which turned out to be a
pain(Scout would time out, saying it was out of memory during the hour that
it took for the program to complete the calculations)
The results are both interesting, and a little confusing. The main loop took
2560 seconds. Obj
> Are you using ObjectProxies or a bindable named class?
Yes, I am using ObjectProxies. I found this little bit of code that allowed
me to convert all of my objects to object proxies so that my itemrenderers
would see the data as bindable. I was getting a lot of silent errors, and
this cleared t
Alright!!! Now we are getting somewhere! Passing the ArrayCollection to a
standard Array cut the time in Half! From almost 50 minutes down to 23
minutes. So here is the breakdown now:
Total time = 1396 sec
ObjectProxy.getProperty --> 804 sec
Garbarge Collection --> 198 sec
ObjectProxy.setProper
This is how the ArrayCollection gets populated:
sqlFile = File.applicationStorageDirectory.resolvePath("myDB.db");
sqlConn = new SQLConnection();
sqlConn.open(sqlFile);
stmt.sqlConnection = sqlConn;
HaHa!! This is becoming quite entertaining and FUN!! By using a parallel
ArrayCollection of just simple objects and then using it's source as the
array that everything is calculated from, we are now down to 2.7 minutes!!
WooHoo!! So here is the breakdown now:
Total time = 162 sec
ObjectProxy.se
>From what I have learned from this process, I think I am going to change my
logic in the loop a little. I no longer feel that the math functions are the
bottleneck near as much as getting data in and out of the arrays and
comparing them. So I am going to flip flop the logic and see what happens.
To be honest with you, I have no idea why a script timeout isn't happening.
Until this week I had never heard of one. I thought that maybe timeouts
happened when you are sitting and waiting for execution to happen and it
takes too long, like waiting on a web service or a callresponder. My program
i
What about changing datatypes, does this eat up a lot of time? My database
has some values that are typed as string but are actually numbers. When I
download them from the database, I assume that they are entered into the
arraycollection as strings. In my loops, I have to do math functions on
th
Was just wondering. In Scout, if it says that something is taking say 150
sec, when you drill down into the object/function/event, the parts don't
ever add up to 150 seconds. So I thought that some things, like data type
conversions, just weren't declared.
--
View this message in context:
http:
I have resisted actually posting the code because it has been suggested to me
that the app should be looked at for a patent, and this calculation process
is at the heart of the idea. So I have reduced the variables down to just
generic names so as not to give away my idea away. I really liked you
Awesome Tip! Thanks!
--
View this message in context:
http://apache-flex-users.246.n4.nabble.com/Workers-and-Speed-tp13098p13194.html
Sent from the Apache Flex Users mailing list archive at Nabble.com.
Distances are selected by the user using a dropdownlist in the range of .25
to 4 miles. Distance is the key to the whole thing here and has to be
exact, I can't be off by 10ths of a mile, it needs to be within say, 20
feet.
--
View this message in context:
http://apache-flex-users.246.n4.n
By the way, your Math.PI/180 suggestion has us down to 2 minutes and 17
seconds, so thanks a lot!
--
View this message in context:
http://apache-flex-users.246.n4.nabble.com/Workers-and-Speed-tp13098p13197.html
Sent from the Apache Flex Users mailing list archive at Nabble.com.
I'm trying to wrap my brain around this idea. In theory, it should be
faster, but it would be such a huge array for a lookup table and it would
add another conditional statement, that when the mechanicals are built, it
may be slower. But my idea is this:
If i compare record 20 to record 1030 and
Well, it is not quite as simple as that. If I were just updating the array,
then yes, it would be. But I am keeping track of a count of items within a
distance of a particular record, and averages and medians and other such
things that have to be calculated specifically with respect to that record.
True, I can live with the speed that it is currently running. I was willing
to construct 4 workers in hopes of getting it down to 15 minutes. To be
able to have it running in my main application in under three minutes is a
dream. Now it is just a fun academic exercise for me. So, I am definitel
Also, I don't know if you can push a value into a somewhat random slot in an
Array. For instance, if I create an array like so:
var tableArray:Array = new Array();
then how do I go about placing a distance calculation in say, slot
[1703][25000]? Flex won't allow me to do this:
tableArray[1703
Yes, you are right, but only if I am saving the distances that have already
been calculated to an array so I know that they already exist and can look
them up. It has yet to be determined if the mechanics of saving and
retrieving to a super huge array will save any time or not. I will report
by s
Yes I did, and that actually shaved a little time off the total. The best
time that I have gotten so far was about 2 min and 5 sec. That and the
pythagorean were great suggestions, and one actually helped.
Strange thing though, the results are not very consistent. I can run the
program one time
You just stepped outside of my academic sphere :) Although, I did a quick
wiki scan on hashes and it sounds fascinating, but I don't know how well it
would work in this situation. I think I would have to do a hash 38k times
if I understand it correctly. I don't have a certain set of values that
I'm going to read up about hashing, this sounds very very interesting. But I
am curious, does it also work if you have to do more than just compare
strings? What if you have to read a guys shoe size and make sure it is
within 3 sizes of a predetermined value? Is this possible using hashing?
--
So, I don't think this will turn out faster because of the mechanics involved
and am only doing it to learn more about Flex, but I have taken yours and
Alex's suggestions and made adjustments so that I am only doing half of the
comparisons and storing the distance data in a sparsely populated array
Ooops. I get it. It is giving me the position of the data.
--
View this message in context:
http://apache-flex-users.246.n4.nabble.com/Workers-and-Speed-tp13098p13224.html
Sent from the Apache Flex Users mailing list archive at Nabble.com.
WooHoo! 1 minute and 45 seconds! I can live with that. Taking out half of
the calculations and storing the data in a sparse array, and then looping
the sparse array knocked off another 20-30 seconds! Thanks for all of the
help guys, I am glad this community is here and I have learned a lot from
I wish sometimes that we could actually talk because typing can become
cumbersome when trying to convey ideas. But basically imagine that I have a
yellow marble laying on a map, and I want to know how many blue marbles lay
within a mile of that marble. I go through all the conditionals to make
su
Alex Harui wrote
> IMO, the new loop is constructed in a way that it will only test a vs b
> and never b vs a, so there is no need to store things for the b vs a test.
Yes, but the point that I am trying to make is that I can only calculate the
test A sums and averages against all the other record
> You might want to make sure the sparse array doesn't have some
unintended side effect.
What did you mean by this? When I run my program the original way, doing
ALL of the calculations, I get a certain number of matches.
When I am running the programming doing half of the calculations and st
I probably should quit whining on here about this issue, but sometimes I get
so baffled that you just want someone to share in the misery :)
So, I have the two different versions of my program. One that just chugs
through all of the numbers in a little over 2 min. The other calculates
half of th
Alex, you truly are a genius. That is what it turned out to be. I figured
it out about two hours after my rant. I had a conditional statement that
was not backwards compatible with the new distance calculation model we
created. For instance, say I was searching for squirrels in a 1 mile radius
So I showed the app that you all have been helping me to optimize to many
people and they think we need to bring it to the masses on mobile devices.
My app has to heavily process data that could take forever to process on a
mobile device and display it in tabular form. This would be inefficient.
I find all of these Javascript/HTML5 solutions fascinating, as well as React
Native. I just don't know enough about them at this point to know if I can
trust them to be robust enough to do everything that I need currently. So
after further examination, I am going to need services and thus a php
i
I think that is going to be the plan. If I can make enough money from the
first round of selling this thing, then if Adobe stops supporting Flex/AIR,
I'll just hire one of you genius' to write me a new program :)
AIR it is!!!
--
View this message in context:
http://apache-flex-users.246.n
I want to know a little more about multithreading...sort of. For those who
have helped me optimize the speed in my latest AIR project, I should should
update you that I want to build a mobile version of the application. The
problem is that a mobile version that takes 10 minutes to process my data
Justin, your answers are always very insightful. I appreciate you taking the
time.
I am going to have to do a little reading on what a thread actually is. I
have a machine with 2 Quad Core Xeons in it, so it has 16 virtual cores.
When I pull up Task Manager and watch my AIR app run, 1 core will
Does playing with spark on a personal PC require any additional hardware to
get started? I read that it does not have a file system and needs something
like HDFS.
--
View this message in context:
http://apache-flex-users.246.n4.nabble.com/Multithreading-tp13274p13279.html
Sent from the Apac
Thanks for the reply Alex. The app that I would write would not be that
complex. It would simply read about 40k records from a database with a
single "GET * FROM main" , run the conditionals and distance calculations
and sums/averages that we have discussed, and then write about 12k records
back
I understand why you are presenting all the various scenarios, but it is much
simpler than that. Think of it like the stock market or a pinball machine
with 40k balls bumping into each other. Things are always changing. But my
clients will be satisfied with one snapshot of where things stand each d
I just wanted to give an update because I am so excited. I have never
programmed in C before, but on the suggestion of Justin and others, I
converted my program to C and ran the processing engine and the results are
in - 25 seconds!!! That's over 4x faster than the actionscript version. I am
still
Do you mean the little "x" close button in the upper right hand corner, or do
you mean a close button that you created yourself in the TitleWindow? I had
a similar problem when I created my own close and cancel buttons, and it was
because I had not embeded the button images in the skin that I crea
So I am about to embark on writing my first ever mobile application using
AIR. I have been reading a lot about it, but I am surprised how little
information I am finding on the best structures to use that are better on
mobile apps or that users prefer. My app will basically be a splash screen
fol
Thanks you OmPrakash! Invaluable information. I really enjoyed your
slideshow. I will have to think long and hard about a list versus a mobile
grid. My users are going to have the ability to filter data based upon an
arraycollection of information, and it just lends itself better to datagrid
tha
I am trying to download information from a database located on my webserver
at inmotionhosting.com. My url is www.billspencere.com. How do I go about
doing this. When I was developing an app in the past, I would connect to a
localhost on my personal machine. But I assume in production, you have
You are right in everything that you said, unfortunately, it is easier to
modify things once things are set up in Flash Builder. The problem is, I
can't get Flash Builder to configure any of the PHP classes and objects
needed to connect to the remote database out of the box. It appears you
have t
Well, if you ever do write it, let me know. Writing pho/database interfaces
is beyond my skill set and I would definitely need a tutorial to get it
done. Thanks for the info Olaf
--
View this message in context:
http://apache-flex-users.246.n4.nabble.com/Connect-AIR-to-a-Remote-Server-tp133
I am running into an issue that I believe is going to take some creative
problem solving. I have created a service to download large amounts of data
from a MySQL database, at least 50k records, but the app always times out
before all of the data can be downloaded. Has anyone ever run into this
pr
Yes, unfortunately I do need all of the records at once. My application is a
huge sorting and filtering machine and it only works when it has all of the
records. I looked at paging and wondered if there was a way to use it
without it being tied to the scrolling of a grid. If I could download a
th
That was my thinking as well, I just need a little direction. I know how to
use SQL in Flex when connecting to a local SQLite database. But the only way
I have connected to a MySQL database is by using data services and you are
only given a few options like GetAll and Get_paged and count(). Is ther
Thanks for the tip! I have never heard of http compression before with
databases. Is that something that you enable on the server side, or
something that you set up when creating services in Flex?
--
View this message in context:
http://apache-flex-users.246.n4.nabble.com/Downloading-Larg
If I compress the datastream coming from my database, do I have to somehow
decompress it in my AIR application, or does that happen automatically?
--
View this message in context:
http://apache-flex-users.246.n4.nabble.com/Downloading-Large-Amounts-of-Data-from-Database-tp13415p13445.html
S
So I like some of the slide out components that mobile apps offer that are
not available on the desktop versions of AIR. I don't want to use popups
all the time. I have information that I want to show a user that slides in
from the bottom or the side when a user clicks a button, much like you wou
I have just had my first experience with PHP services in Adobe Air. It is a
very cool feature for communicating with MySQL. I am also working with
another server interface that is similar to a database and has a PHP
interface to communicate with it. One of its PHP functions returns images
to a u
I really appreciate the response, but using SQLite with AIR does not require
PHP as an intermediary and doesn't really answer the question as to whether
PHP could pass an image to AIR as a service. What I am really looking for is
if this is even possible?
The url approach is a backup and I will us
So I have a 2D ArrayCollection that has about 40k records in it with about 40
elements in each record. I need to add an element or property to the end of
each record so that each record now contains 41 elements, but have no idea
how to do this. Any suggestions?
--
View this message in context:
If I understand correctly, your "addItem" method will only add a record to
the bottom of the arrayCollection, I don't believe that it will add a
property to the end of each record. I am looking for something like this I
think, where compsArrayCollection is my original dataset:
var origArray:Array
Thanks again for the help Justin. Have another question for you regarding
ArrayCollections. My main app loads an ArrayCollection from a service. I
then pass it to an ArrayCollection in a component by a simple assignment:
Comps.dataArrayCollection = compArrayCollection;
So I am setting the data
Thanks for the heads up kamcknig. I will read up!
--
View this message in context:
http://apache-flex-users.246.n4.nabble.com/Rookie-ArrayCollection-Question-tp13649p13679.html
Sent from the Apache Flex Users mailing list archive at Nabble.com.
My desktop AIR application is finally complete and I now need to copy the
logic over to a mobile AIR platform. Even though it is not recommended, I
need to use a Datagrid on mobile. The problem is that there is just too much
information to publish at once on a mobile device. I don't like Datagrid
h
Thanks OmPrakash! I didn't even know you could add or delete columns once
the datagrid was instantiated. This is a good idea because it will allow me
to leave the main identifying column on the screen at all times so the user
knows exactly what they are looking at. I will look into this more. A
Also a very good idea that I will look into further. I am using the Spark
Datagrid
--
View this message in context:
http://apache-flex-users.246.n4.nabble.com/Datagrid-on-a-Mobile-Device-tp13702p13707.html
Sent from the Apache Flex Users mailing list archive at Nabble.com.
I will check those options out as well. The way that the final application
played out is that I will not be downloading 50k records at a time, but
merely a maximum of 250 records at any given time. So it is not a terribly
long record set to look at, but a fairly WIDE record set and difficult to
l
In addition to my datagrid, I am also going to have a section for photo
viewing in my mobile application. On the desktop AIR version of my
application, my photo viewer is fairly simple. I have an array of URL's
where my images are located, and I feed them as the source to a bitmapImage
component.
Really? Did I stump you guys? LOL No thoughts at all?
--
View this message in context:
http://apache-flex-users.246.n4.nabble.com/Photo-Viewer-on-a-Mobile-Device-tp13711p13715.html
Sent from the Apache Flex Users mailing list archive at Nabble.com.
I was thinking that a horizontal list would probably be best too. I don't
know for sure, but I would think for the list to be responsive, the
itemrenderer would likely download at least the previous and next image for
the user in advance. But of course, I am assuming. Is there a way to force
a l
1 - 100 of 426 matches
Mail list logo