+1 for the custom hp solution
for the best performance at all i suggest a flow panel with inside
a list of flowPanels anc custom css styles

On 27 Feb, 06:48, Tóth Imre <tothi...@gmail.com> wrote:
> I have another solution for this problem.Into a Vertical panel inserted
> horisontal panel formatted it with css, and it is faster..
>
> 2009/2/19 milind <mpaltanw...@gmail.com>
>
>
>
>
>
> > Hi Nick,
>
> > Flex table is pretty slow if you want to display 50+ rows in it at a
> > time based on our experience. The slowness also varies for each
> > browser, only realistic way of getting around this problem is to
> > implement pagination, where you display only 20-30 rows on each page
> > and then provide links on the header to navigate through the pages.
>
> > This way i am able to manage a display of thousands of records in less
> > than 500 milliseconds across the browsers (FF and chrome faster then
> > IE).
> > The application has many views with this approach displaying simple
> > tabluar data and also hierarchical data structures.
> > For displaying hierarchical data structures i initially went with
> > Tree, but that was pretty slow for large no. of rows, so i simulated
> > tree inside FlexTable using Click listener on (+/-) images.
> > This works like a charm.
>
> > Regards,
> > Milind
>
> > On Feb 18, 4:21 pm, Nick <nickc...@gmail.com> wrote:
> > > Ok, Results
> > > What I’m finding is that the Grid does beat the FlexTable, but not by
> > > much with a small data set.  Larger sets seem to widen the gap.  My
> > > guess for this is that since FlexTable has the ability to add rows
> > > (Grid is sized from the start) that it works much like how other
> > > resizable constructs work such as Java’s ArrayList. My reasoning for
> > > this is that the first time the test is run the speed is very slow on
> > > the FlexTable (especially in IE).  Repeated test runs after the
> > > initial are faster and I think this is because the table was being
> > > sized the first time as rows were added, and didn’t need to be resized
> > > during the following tests.
>
> > > The other thing I’m finding is that performace varies based on
> > > browser.  I’m seeing FF run reasonably well.  With IE the Grid runs
> > > about the same as FF but the FlexTable runs considerably slower.  I
> > > also tested Opera and was stunned as it blew both others out of the
> > > water.
>
> > > My full write up is here with times and a test application you can run
> > > in your browser.
> >http://whatwouldnickdo.com/wordpress/401/performance-grid-vs-flextable/
>
> > > On Feb 18, 2:10 pm, Nick <nickc...@gmail.com> wrote:
>
> > > > Thanks for the response, I think you're correct.  And it makes sense
> > > > that adding rows dynamically would account for the increase in time as
> > > > the row count is higher.
> > > > I'm going to run a few tests, and I'll post anything I find to this
> > > > post.
>
> > > > On Feb 18, 3:09 am, Alexey_Tsiunchik <alexey.tsiunc...@gmail.com>
> > > > wrote:
>
> > > > > Hello Nick,
>
> > > > > Exactly the same issue was in our app. We need to display big lists
> > > > > (100 - 500) records, and FlexTable seems not solution for this.
>
> > > > > The problem is that FlexTable always checks table bounds (row number,
> > > > > column number) and when you put some value in FlexTable it performs
> > > > > checking for bounds, moreover it not store the colnum and rownum in
> > > > > some variables, but always calculate them dynamically. Moreover it
> > > > > dynamocally adds new rows.
> > > > > Thats why it becomes slower when number of rows increase.
>
> > > > > We had decided to use Grid rather then FlexTable. We can specify Grid
> > > > > bounds right after creation, and while we put data in cells in the
> > > > > cycle its performance remains the same for different grid size (here
> > I
> > > > > mean speed of adding row).
>
> > > > > But it also has it's disadvantages. When we need to display another
> > > > > data in the same Grid, and this data has different number of rows,
> > > > > we should call Grod.resize(int, int). And for
> > > > > big grids, this operation is very slow in IE (in our tests resizing
> > > > > grid with 200 rows, 5 columns, takes ~13000 ms in IE).
>
> > > > > So It seems paging here the only solution.
>
> > > > > Tuesday, February 17, 2009, 6:40:51 PM, you wrote:
>
> > > > > > Ok, I did some more testing and I was wrong.  It's not the
> > inserting
> > > > > > and removing from lists that are the bottleneck.  I moved the time
> > and
> > > > > > log statements around and it had to do with adding to the FlexTable
> > > > > > itself.
> > > > > > I'm using code like:
> > > > > > int row = 1;
> > > > > > for (Iterator<MyData> iter = eventList.iterator(); iter.hasNext();
> > row+
> > > > > > +) {
> > > > > >   long sysTime = System.currentTimeMillis();
> > > > > >   int column = 0;
> > > > > >   MyData event = (MyData)iter.next();
> > > > > >   table.setText(row, column, event.getNameLast());
> > > > > >   column++;
> > > > > >   table.setText(row, column, event.getNameFirst());
> > > > > >   column++;
> > > > > >   table.setText(row, column, event.getJob());
> > > > > >   column++;
> > > > > >   GWT.log("update time 4:
> > "+(System.currentTimeMillis()-sysTime)+"ms
> > > > > > ", null);
> > > > > > }
> > > > > > Now, you can see I'm logging the time after every row is inserted.
> > > > > > The odd thing I'm seeing is that the time per row increase as rows
> > are
> > > > > > traversed.  For example, row 1 takes about 30ms but as the rows
> > > > > > traverse by row 100 each row is taking about 150ms.  It's a steady
> > > > > > increase.
> > > > > > Any insights?
>
> > > > > --
> > > > > Best regards,
> > > > >  Alexey_Tsiunchik                            mailto:
> > alexey.tsiunc...@gmail.com
>
> --
> Best Regards
> Tóth Imre
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to Google-Web-Toolkit@googlegroups.com
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to