FMX Charts on iOS

Hello,



I am working in XE6, building an iPad app. I hoped to make use of FMX Charts to have a horizontal scrolling area containing 4-6 simple charts side by side. The horizontal scroll component is on a frame which is dynamically created at run time and added to a tab control.



Although performance is very acceptable in the simulator, once deployed onto an iPad everything becomes almost unusably slow and laggy. Are there any ways I can improve performance?



eg. Do panels, scrollboxes, frames or tab controls have a known impact on drawing performance? I will experiment if nobody knows, but would like to save myself the time if somebody does.



Regards

Richard

Are you implementing a technique where you only display the "Active chart(s)"? Could you send us your sample so we can investigate here? Please note that we have invested a large amount of time in performance optimizations, and the FireMonkey framework has a low performance on mobile devices.


Kind Regards, 
Pieter

Pieter Scheldeman2014-05-08 05:33:08

Pieter - I am not doing anything very clever at the moment - I dropped down 4 charts and left them with the default "dummy" series. Then I ran it to see what it looked like, and immediately noticed the performance problem.



It seems to be that the issue is the THorzScrollBox component, or having more than 1 chart - if I build just a simple app with 1 form and 4 charts on THorzScrollBox, I get the same issues. Similarly if I have 3 charts on a frame (no Scrollbox), performance is bad.



I will send the simple project to you at the support email.

Pieter - can you confirm if you have replicated the problem?



Thanks.

Richard

Hi, 


We have received the support email, and we have answered it directly.

Kind Regards, 
Pieter

Thanks. Not received an email yet, but will look out for it.



If it helps, the same issue with another major charting vendor was solved by a combination of:



1. Making the chart invisible when the frame/tab first displayed

2. Adding Chart.Buffered := True in the constructor or Show events

Hi, 


You should receive the email shortly. We have compared it to TChart which generates even slower performance.

Kind Regards, 
Pieter