Poor TTmsFmxTableView performance

Hi,


I'm using TTmsFmxTableView to show more information using html formatted texts, to simulate columns. The performance are very poor already after few items.
Normal text is faster, but performance is decreasing anyway after 10 items or so.

I wrote a simple app, for win32 system and iOs, that just allows to add items in a tableview, showing how many ms are necessary to complete the task. Here's the code :

procedure TForm1.Button1Click(Sender: TObject);
var
 it : TTMSFMXTableViewItem;
 t1 : TDateTime;
begin
 t1:=Now;
 tmsfmxtableview1.BeginUpdate;
 it:=TMSFMXTableView1.Items.Add;
 it.caption:=Edit1.Text;
 it.Description:=Edit2.Text;
 it.AutoSize:=true;
 tmsfmxtableview1.EndUpdate;
 memo1.Lines.Add('Row '+IntToStr(TMSFMXTableView1.Items.Count)+' - '+inttostr(MilliSecondsBetween(now, t1))+' ms');
end;

Here some screen-shots from the app :

iOs Simulator :



Win32 :



I think there is something wrong : times are excessives !

Best regards,

Fabrizio Colombini





Unfortunately this is because the FMX object hierarchy implementation is still being used. We have redesigned this in the TTMSFNCTableView (http://www.tmssoftware.com/site/tmsfncuipack.asp)

Thank you for your reply Pieter.


I've Embarcadero 10.0 Seattle. 
Yesterday I downloaded and install yoy FNC UI Pack trial.
I just replace TTmsFmxTableView with new TTmsFncTableView in my test project.
The items create time are really faster, but if I use HTML text, scrolling is orrible and every form function is affected (included just edit a text in a textedit compinent !)

What I'm doing wrong ? I'm just looking for a fast and smooth scroll list, with more colums (like a grid).

Probably the solution is 10.2 Berlin, with TListView Item editor....

Fabrizio.

Hi, 


Please understand that HTML is resource intensive especially on Android/iOS. 
If you want multiple columns you should take a look at the TTMSFNCTreeView or TTMSFNCGrid.

Thank you Pieter.


As you advice I tried TTMSFNCGrid that I know very well and could be perfect for my app.
But the problem is scrolling and inertial scrolling.
I just enable "touch" and leave any default value, but I have orrible scrolling both on iOs and on Adroid.

Any suggestion?

Thank you very much.

The TTMSFNCGrid has a Options.TouchScrolling that canbe enabled.

Thanks Pieter.


Yes, as I say in my previous post,  I enable "touchscrolling" but result is not good.
I try your demo with "car.csv" file...
Did you try in iOs or Android platform ?


Dear Mr. Fabrizio,


Unfortunately as everything is emulated, it is virtuall impossible to create a high performance touch scrolling component. The only approach that really handles this is the TTMSFMXNativeUITableView, separately available in the TMS iCL component set. This is exclusively for iOS. But then you'll get great performance and fast scrolling as this is a native component.

We too are having similar issues.  Our data is coming from a cliendataset on the android device.  I did wonder if something along the lines of the DatasetAdapter that's used with the FNC grid could be a solution as this allows you to page data.  Or perhaps I might be able to replace the table view with an FNC grid but display the data using HTML in one cell.  


I've yet to try this, these are just my thoughts as I have just been tasked with getting it to work properly for the end user with realistic amounts of data.  But I thought I'd throw in my tuppence to this thread.