Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[nebula-dev] [CompositeTable] very bad scalability

> 1.) the whole rcp app dies with SWTError: no more handles
> I'll analyze this by using sleak but I suppose that this will not help a
> lot as i'll reach the limit very soon by opening a second editor-tab.
> This lets me think that it's not possible to display cells by individual
> controls. On the other hand traversal relies on these controls. Any ideas
> here?

Yeah; since CompositeTable creates a control for every cell, you have to be careful.

Thoughts:  Can you reduce the number of native controls in your row object?  Maybe you can draw part of your row on a canvas rather than making everything heavy-weight?  This is how DayEditor (built on CompositeTable) works.

Sometimes CompositeTable isn't the right solution.  If you need something that has to scale to lots of visible rows/columns, maybe KTable or the SWT Table are the right solution.

> 2.) layout (I use native header) is terribly slow. The table takes up to 2
> minutes to display and resize.
> I probably could solve that performance issue by improving the resizing or
> using another header. any ideas?

Layout should scale linearly with the number of controls.  However, CompositeTable uses lots more controls than other solutions.  So either you need to go less native (draw more stuff on a GC), have fewer controls in a given table, or you need another solution. 

Using another solution probably means either that you have to break your table down into more smaller tables or you might need to use a different table control.


Regards,

Dave Orme


Back to the top