XE7 iOS TableView Speed Issues

Running under windows is fine. Under iOS adding items and particularly deleting one from a tableview is very slow.

Very simplistic example.http://www.estateagentpro.com/TMS Speed Issue.zip

Needless to say, the more items the slower it is.


The TTMSFMXTableView uses styling, and cloning for items which is an intensive operation. It manages real controls, instead of painting the cells, which is causing the slowness on slower hardware. For maximum performance, you could take a look at the native iOS TTMSFMXNativeUITableView which is available in iCL (http://www.tmssoftware.com/site/tmsicl.asp)

Kind Regards, 

I'm using an iPhone6 for test purposes and the speed of even this simple app makes your component unusable. It's all very well to suggest iCL but doesn't help as there would still be a problem with Android?

Did you play with TableView.BufferSize to finetune as well as TableView.ItemOptions to select only parts of the tableviewitem you need?

I did try reducing the BufferSize to slightly more rows than can be seen
on an iPhone 6 but although this did speed up the delete somewhat, the
scrolling is too slow. The example I provided is very simple. Could you
please have a look at it and comment accordingly.

The Tableview was created with the first version of FireMonkey which was initially designed to maintain customizable /styleable elements. We have adopted this, but this way of managing / creating items is very slow on mobile devices. 

You can finetune the items to uncheck every element that you will not use in your application, to increase performance. The ItemOptions property should give you the ability to control this. The alternative would be to paint each item instead of adding it as a real control, but this is currently not implemented and will require additional modifications to the tableview source. We have already implemented a rendering mode in the TTMSFMXGrid which is able to paint it's children to increase performance, but then looses the ability to interact with the children. It's on our todolist to implement this in the TTMSFMXTableView as well.

Kind Regards,