i tried your links out (btw the first 2 are pointing to the same example). on my normal development machine (6 months old with all the trimmings) performance is very quick as expected.
but when i tried it from an old laptop (4-5 years old) it felt like one of my flex 1.5 datagrids....very slow and sluggish scrolling. made me appreciate how much of a good job adobe did in flex2. regards bod --- In [email protected], "Anatole Tartakovsky" <[EMAIL PROTECTED]> wrote: > > How is the performance on your machine of the samples in my links ? - trying > to isolate player/setStyle performance from application code efficiency. > Thank you, > Anatole > > > > On 7/28/06, Pan Troglodytes <[EMAIL PROTECTED]> wrote: > > > > For reference, my testing was done on a dual core athlon 64 4400 with a > > geforce 7800 gt and 2 gigs of ram. Hardware is not a limiting factor. > > > > On 7/28/06, Anatole Tartakovsky <[EMAIL PROTECTED]> wrote: > > > > > Matt, > > > I placed typical business case to show the performance issues based on > > > hardware used: > > > > > > case 1 : basic grid<http://flexblog.faratasystems.com/performance/grid_performance.h tml>- no formatting or styling > > > case 2: basic grid with typical formatting<http://flexblog.faratasystems.com/performance/grid_perform ance.html>- no styling > > > case 3: typical usage of formatting and styling<http://flexblog.faratasystems.com/performance/grid_performanc e.html>- IMPLEMENTED VIA RUN-TIME CSS AND COMPUTED EXPRESSIONS - very > > > straightforward code > > > > > > While performance is reasonable on midrange 2 year old PC, my business > > > laptop is very sluggish , however multimedia one with good graphics chip and > > > slower CPU works faster then PC. > > > > > > Here is the source for the business case: > > > > > > <?xml version="1.0" encoding="utf-8"?> > > > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml " > > > xmlns="*" layout="vertical" > > > xmlns:lib="com.theriabook.controls.*" > > > viewSourceURL="srcview/index.html"> > > > <mx:Style> > > > .dgHeaderStyle { > > > textAlign:center; > > > fontWeight : bold; > > > backgroundAlpha:.5; > > > } > > > </mx:Style> > > > <mx:Script> > > > <![CDATA[ > > > include "Employees.inc"; > > > private function salaryColor(item:*):int{ return item.SALARY > > > <50000?0xff0000:0x0000ff;} > > > ]]> > > > </mx:Script> > > > <lib:DataGridEx id="a" width="100%" height="100%" > > > headerStyleName="dgHeaderStyle" > > > dataProvider="{getEmployees()}"> > > > <lib:columns> > > > <mx:Array> > > > <mx:DataGridColumn dataField="EMP_LNAME" /> > > > <mx:DataGridColumn dataField="EMP_FNAME" /> > > > <lib:DataGridColumnEx > > > dataField="DEPT_ID" > > > props="{{'resource':'employee','keyColumn&ap os;:'dept_id','autoFill':'true'}}"/> > > > > > > <lib:DataGridColumnEx dataField="PHONE" > > > formatString="phone" /> > > > <lib:DataGridColumnEx dataField="BENE_DAY_CARE" > > > itemRenderer=" com.theriabook.controls.CheckBox" > > > rendererIsEditor="true" editorDataField="value" > > > textAlign="center" paddingLeft="5" > > > > > > expando="{{'onValue':'Y','offValue':&ap os;N'}}" > > > /> > > > <lib:DataGridColumnEx dataField="SS_NUMBER" > > > formatString="ssn" /> > > > <lib:DataGridColumnEx dataField="SALARY" > > > formatString="currency" > > > > > > styles="{{'color':salaryColor,'fontWeight':functi on > > > (item:*):String{ return item.SALARY > 50000?{ return item.SALARY > > > > 50000?'bold':'normal'} }}" > > > /> > > > <lib:DataGridColumnEx dataField="SALARY" > > > formatString="currency" editable="true" > > > > <lib:styles> > > > <mx:Object backgroundColor="{salaryColor}" > > > backgroundAlpha=".3"/> > > > </lib:styles> > > > </lib:DataGridColumnEx> > > > <lib:DataGridColumnEx dataField="START_DATE" > > > formatString="shortdate"/> > > > > > > <!--lib:DataGridColumnEx dataField="BONUS" > > > formatString="currency" > > > > > > computedFields="{{'BONUS':function(data:*):Number { return > > > data.SALARY*.1;}}}" > > > /--> > > > </mx:Array> > > > </lib:columns> > > > </lib:DataGridEx> > > > </mx:Application> > > > > > > > > > > > > > > > > > > > > > On 7/21/06, Matt Chotin <[EMAIL PROTECTED]> wrote: > > > > > > > > Well DataGrid scrolling performance is something that we've spent > > > > a lot of time tuning so I would love for us to get a full test case that we > > > > can look at. I saw in the thread you linked mentioning a 1600x1200 monitor, > > > > is the DataGrid taking up most of that real estate? The more visible rows > > > > the slower the scrolling will be. Another thing you could look at is in > > > > your setter for the data comparing against the old value and if it hasn't > > > > changed not doing anything, it may be that it's invalidating too often? > > > > I'll ask one of the people who worked on performance if she has any > > > > thoughts. > > > > > > > > > > > > > > > > Matt > > > > > > > > > > > > ------------------------------ > > > > > > > > *From:* [email protected] [mailto:[email protected] ] > > > > *On Behalf Of *Pan Troglodytes > > > > *Sent:* Wednesday, July 19, 2006 11:44 PM > > > > *To: [EMAIL PROTECTED] > > > > *Subject:* [flexcoders] performance issues > > > > > > > > > > > > > > > > Well, specifically I had a DataGrid using this for the itemRenderer: > > > > > > > > package nes { > > > > > > > > import mx.controls.dataGridClasses.DataGridListData ; > > > > import mx.controls.Label; > > > > > > > > public class SignColorItemRenderer extends Label { > > > > public var negativeColor:uint = 0xFF0000; > > > > public var positiveColor:uint = 0x008000; > > > > public var zeroColor:uint; > > > > > > > > override public function set data(value:Object):void { > > > > super.data = value; > > > > > > > > var n:Number = data[DataGridListData (listData).dataField]; > > > > if (n < 0) > > > > setStyle("color", negativeColor); > > > > else if (n > 0) > > > > setStyle("color", positiveColor); > > > > else if (n == 0) > > > > setStyle("color", zeroColor); > > > > } > > > > } > > > > } > > > > > > > > I brought it up in this thread: > > > > > > > > http://groups.yahoo.com/group/flexcoders/message/43243;_ylc=X3oDMTM3c WM2MG9mBF9TAzk3MzU5NzE0BGdycElkAzEyMjg2MTY3BGdycHNwSWQDMTYwMDAwNzIwNw Rtc2dJZAM0MzI2MwRzZWMDZnRyBHNsawN2dHBjBHN0aW1lAzExNTI4NTY4NDUEdHBjSWQ DNDMyNDM- > > > > > > > > I tried LOADS of different ways to do it. I found that anytime I put > > > > much of any extra code in, it took away from the responsiveness. Even > > > > replacing the above data procedure with just a single setStyle statement. > > > > As I said, it's not horrible. But I definitely notice it. > > > > > > > > The other main thing I can point out is some sluggishness when > > > > resizing the browser window and having it resize/relayout the Flex app. But > > > > it's hard to tell how much of that is the browser and how much is Flex. > > > > > > > > On 7/20/06, *Matt Chotin* < [EMAIL PROTECTED] > wrote: > > > > > > > > Can you provide a little more detail on the performance areas that are > > > > hurting you? If there's a sample that demonstrates the speed issue it may > > > > be something we can look at. > > > > > > > > > > > > > > > > Matt > > > > > > > > > > > > ------------------------------ > > > > > > > > *From:* [email protected] [mailto: [email protected] > > > > ] *On Behalf Of *Pan Troglodytes > > > > *Sent:* Wednesday, July 19, 2006 10:49 PM > > > > *To:* [email protected] > > > > *Subject:* Re: [flexcoders] So? What are folks here actually > > > > building...? > > > > > > > > > > > > > > > > Well, since I have never programmed in ActionScript at all, my > > > > projects have served a dual purpose - functional and educational. In other > > > > words, some of the software may never see the light of day but that's okay - > > > > at least it taught me how to build in Flex. > > > > > > > > My most "real" application has been an ad-hoc query builder. We have > > > > some financial reporting that it broken down into various fields: branch, > > > > quarter, period, that kind of thing. So I gave each field an accordion pane > > > > and filled it with the values for that field. Then I let the user > > > > drag-n-drop the values for each field into another List, arranging them > > > > hierarchically however they want. This then feeds a sql statement that uses > > > > group by and rollup to get all the data both on the detail level and > > > > summarized by each parent level. > > > > > > > > I then feed that into a DataGrid that has many custom renderers. The > > > > main powerhouse is the "tree" renderer. Basically, the first column down > > > > the page looks like a tree of those key fields. So if they chose to report > > > > by quarter, then branch, then manager, it would look like: > > > > > > > > (view the following in a fixed width font) > > > > Gross Expenses Profit > > > > Total X X X > > > > 1Q-2006 X X X > > > > Branch 1 X X X > > > > Jane Doe X X X > > > > John Smith X X X > > > > Branch 2 X X X > > > > Phil Johnson X X X > > > > 2Q-2006 X X X > > > > Branch 1 X X X > > > > Jane Doe X X X > > > > John Smith X X X > > > > Branch 2 X X X > > > > Phil Johnson X X X > > > > > > > > I put in Xs because I got tired of making up stuff. But you get the > > > > picture. It's basically very pivot-table-ish. It's really the graphical > > > > touches that seal the deal. There's icons and animations and colors all > > > > over the place. Not too much, but more than I could have coded in the week > > > > or so I've been building it. I'm an experienced Delphi user and have to say > > > > I'm really blown away by Flex. Delphi is RAD but Flex is RAD^2. > > > > > > > > Okay, for my VERY basic advice on what I would put some effort into. > > > > Well, first, fix the bugs that have come out here. You have a pretty wide > > > > base of components already and I would like them to be very stable. Nothing > > > > slows a developer down more than spending hours on a problem to only find > > > > the bug isn't in his/her code. > > > > > > > > Second, I would REALLY like to see some optimization done. I know > > > > this is going to be hard with the dynamic, frequently untyped nature of > > > > Flex. But some of the code runs painfully slow for what it does. I'm still > > > > not 100% happy with the speed of those custom itemRenderers in the grid. > > > > And I stripped them down as far as they can go and it's not because I wrote > > > > bad code. Overall, the speed is good for an "internet application". > > > > Internet apps get to make excuses. But I'd like to get the speed good > > > > enough to rival native desktop apps. Sure, not on everything - but at least > > > > on GUI graphics. > > > > > > > > Keep up the good work. I haven't had this much fun with a new > > > > language in a while... > > > > > > > > On 7/20/06, *David Mendels* < [EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > > Hello, > > > > > > > > > > > > > > > > It has been less than a month since we shipped Flex, but I know many > > > > folks on this list had projects they started back in the public beta time. > > > > I know in many cases you may not be able to talk about what projects you are > > > > working on, but for those who can I'd love to get a view onto what folks are > > > > building. We spent a long time (almost two years) on all the parts of the > > > > Flex 2 product line (and the Flash Player 9) and it is very cool to see the > > > > traffic here, the emergence of third party conferences like www.flexseminar.com > > > > , the books coming out on Flex, the 60K plus downloads of the IDE in > > > > the public beta, but we'd love to get a sense of what real applications > > > > people are starting to build. The team is already working on plans for > > > > mid-term and longer term upgrades to Flex, and it helps us to really > > > > understand what people are building. So, if you are able to talk about what > > > > you are building please do share--I think it would be very interesting for > > > > the community and very valuable for us on the Flex team at Adobe. > > > > > > > > > > > > > > > > --David > > > > > > > > Adobe > > > > > > > > > > > > > > > > > > > > -- > > > > Jason > > > > > > > > > > > > > > > > > > > > -- > > > > Jason > > > > > > > > > > > > > > > > > -- > > Jason > > > > > > > -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/

