Performance tips to speed up your machine
MapTiler Engine is a multi-threaded program. The modern CPUs have multiple cores and support Hyperthreading which provides multiple logical CPUs per core. This way MapTiler Engine can provide higher performance even on a dual-core computer. This article provides some tips that might help to improve the performance of the map rendering process.
Upgrade to a higher plan
The Free version is limited to 1 CPU, and MapTiler Engine Plus has a limit of 4 CPUs for rendering.
The Pro version is able to render on 16 CPUs. With such power, it is possible to render extremely large datasets (e.g. continents or the whole world).
For custom needs, we also offer the Enterprise plan, that can be fitted to more complex deployment scenarios. To learn more, please refer to the MapTiler Engine pricing page.
You can check the number of CPUs available in your subscription plan as well as the number of CPUs your machine has by going to Account -> License key.
Use faster storage
It’s highly recommended to use a fast local SSD drive to store the input data. MapTiler Engine is mainly CPU-intensive, but the storage speed comes right after it. Hence, avoid using HDDs, so you allow MapTiler Engine to fully utilize the potential of your machine’s CPU.
Also, processing input data from network shares is discouraged. In the vast majority of cases, the overhead of the network connection and protocols for reading the input data over the network introduces a bottleneck that severely impairs processing performance.
Optimize your workflow
Apart from buying more CPUs, you can also reach the speed gain by optimizing your workflow, especially for a large amount of data. MapTiler Engine is the most effective at reading 256x256 blocks of data.
For large raster datasets, a tile-based format (as opposed to scanline-based) will drastically speed up processing. A block size that is similar to the tile output size e.g. 256x256 or 512x512 will significantly speed up the processing time.
Both things can be done using command-line tools of the GDAL library, such as gdal_translate.
One of the formats that makes use of all the mentioned optimizations is the tiled GeoTIFF format. To convert your file using the gdal_translate utility, use this command in the terminal:
gdal_translate -of GTiff -co COMPRESS=DEFLATE -co TILED=YES \
-co BLOCKXSIZE=512 -co BLOCKYSIZE=512 \
input.tiff output.tiff
Useful links
Related guides
- Add a basemap from MapTiler Cloud to MapTiler Engine
- Add a basemap from MapTiler Server to MapTiler Engine
- Amazon S3 map hosting
- Coordinate reference systems
- Custom map with OpenLayers for Drupal CMS
- Custom Retina scale
- Custom watermark
- Disabled network adapters
- Estimated rendering time
- Folder vs. MBTiles vs. GeoPackage