User Tools

Site Tools


Porting map project to Mobile

Documentation | Tutorials | Porting map project

Platform evaluation

Modern Tablets and Phones are very powerful devices. But whatever regardless of what producers may say about capabilities, they are simply not as powerful as desktop computers. It is all about power consumption: do not expect that a low powered device can really be compared to a workstation.

  1. Processors have a similar clock frequency to desktops. But if you perform low-level testing you can see that bit integer and floating-point calculations are just significantly slower than a typical desktop computer.
  2. Tablet and Phone storage is not SSD. Especially saving speed is much slower than on desktop.
  3. Graphic cards powered by GLES are powerful. But still much, much slower than a desktop. Geforce GTX 660 maximum power consumption is 140W while maximum power consumption of a whole Nexus 7 tablet (also powered by NVidia) is around 5W. Of course, mobile devices are more energy-efficient, but the power consumption just gives a hint that you cannot expect the same performance from a mobile device that you get from a workstation.

How to prepare data for mobile

  1. Complicated project = more processor time to display = shorter battery life\\Self-explanatory.
  2. Limit the amount of data to be displayed at once.\\Mobile devices have a smaller screen than a desktop. Displaying too much information at once could be problematic for a user and also slows down rendering speed. There are few things to consider at the first point.
    1. Use fewer layers. Try to present by default only the most important layer.
    2. Turn off layers based on the scale in a more aggressive way than on desktop.
    3. Avoid complicated rendering. A mobile worker will have a problem recognizing complicated symbols with sophisticated line styles or lots of custom symbols.
    4. TatukGIS on mobile is not a replacement for web maps. Presenting a full flagged topographical map is not what our mobile tools are created for. Their purpose is to simplify the project showing mobile workers only the most important information. This is not only faster but also more efficient for workers.
    5. Try to create a project composed of layers that are all already in the same projection as the map itself. TatukGIS perfectly re-projects data, but on-the-fly layer reprojection is a rather computationally intensive task (a shortening battery time and slowing down rendering). At the least, try to guarantee the most important and most complicated layers do not have to be re-projected.
    6. Carefully create sections. Try to ensure that every value rendered by QUERY will have one section and that the expression is without errors. For example, if you have the field MYFIELD with values 1..10 and you want only to render values 1..5, add a section for “MYFIELD >5” to cover all possibilities. Because we use some fuzzy logic to guess a matching section, this will greatly improve the speed.
    7. Avoid any layer covering a whole country if you work on a local district level. I much easier to deploy a smaller dataset and smaller datasets are always a bit faster.
    8. Test performance on different scales. For Android developers also test on different devices - performance between Android devices varies significantly and processor speed information is not everything. We observed that storage speed can be a real bottleneck on some devices. Installing a fast SD card (if applicable) can change the situation dramatically.
2019/09/27 13:15