Hi,
I am new to the forums, first of all allow me to thank you for creating Ionic2, it is a great mobile app platform.
We have successfully created a basic private preview application with Ionic2 RC0 for Android and IOS but unfortunately performance for Windows Phone 10 (Universal) is extremely slow on ARM based Lumia 830.
I promise I have done my due diligence in researching and investigating this issue. I have searched through all of the forums and blog posts but for any work arounds or suggestions and have not found anything. For the most part the only other person to report this issue is here (is no one developing for Windows Universal targeting Windows Phone 10?):
[Note: the title is Android and IOS but the comment I linked to includes a comparison with Windows Phone which is very slow]
The above post is for RC0 (I am also using RC0 in my app). Just for testing I have tried running that same conference sample application (which has been upgraded to RC5) on the Lumia and it appears to be slightly faster for some actions but honestly still very slow overall. I made a quick video here for your reference (sorry about the quality). There is significant delay when switching tabs or selecting menu items. Scrolling in the list view is very fast due to the virtualization (great job folks!).
For my own testing purposes I tried to do a port of my application to RC5 (and also tried RC4) and performance was more or less the same as RC0. I encountered some bugs that I am trying to resolve including the tabs view not repainting content after switching tabs. I am still investigating the root cause for this, if I discover a bug I will let you guys know in a separate issue on Github.
Anyway, back to the performance issue. So far, I have not found any way to get the performance better for Windows (in particular when targeting a phone device). I have done some profiling of the issue. The below is on RC5 with my application. Ignore the region I labeled for 2FA login time. Notice the FPS drops to zero in the regions when switching tabs (longer time based on how much DOM is on the page). All of the time is spent on a cascading series of DOM change events for readystatechange. I cant really dig deeper into that because then the JS stack trace gets eaten by zone.js so you cant get much info into what is happening in Ionic land (if you have an idea how to dig deeper let me know).
For reference this is the same sequence of user events when running in RC0:
Note that although it indicates double the reaction time for the DOM event compared to RC5 it appears to be actually a grouping of two events of the same length. When I profiled in RC5 they were not grouped this way but were instead individually listed. So I suspect that it is just the profiler reporting it differently (due to grouping) and not a 100% speed improvement in RC5 vs. RC0 (due to the fact that the duration of the FPS drop time is roughly the same for each region and user perceived performance is equally low).
I am more than happy to continue to help investigate and improve the performance for Windows Universal platform (specifically when targeting a phone device, running on desktop/laptops is always fast due to better hardware). But after a few days of testing and investigation I think I am a little stuck.If you have any ideas how to help then please let me know and I would be more than happy to try it and report back my findings right away. We have hitched our horse to the Ionic platform so I am personally invested into helping make Ionic work great for everyone.
Thank you in advanced for everything!