I’m trying to make a Meteor (126.96.36.199) site more performant on low-cpu devices, namely older mobile devices.
The app has frequent data updates being pushed out via DDP. The client usually has a view of 20-30 complex records, where at least one record gets updated every second during peak hours.
I’ve cut down the amount of data being sent over wire (via fields parameter of publish function), limited the logic that gets executed during (Blaze) rendering. It has helped, but still the updates slow the page down on older mobile devices.
I’ve ran chrome CPU profiler on the app, and every data update is followed by a spike of CPU activity. Here’s an example:
It looks to me that the vast majority of time is spent processing incoming data (left block, 80ms), while updating tracker dependencies (right block, 20ms) takes distant second place, and actual view updates are insignificant (tail end of right block, 2ms). Bulk of this time (~50% according to profiler) gets spent in
Any ideas what I could do to improve the situation here?
PS The situation is roughly the same with Meteor 1.2.1.