Details
-
Suggestion
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
5.8.0
-
None
-
Windows 10 (MacBookPro 10,1 and Lenovo Y550P)
Description
Setting of the osm plugin (possible other plugins too) for a map cause freeze of the ui relative to the cache size (size of the existing images in cache directory). I did some experiments with code:
Plugin { id: osmPlugin name: "osm" PluginParameter { name: "osm.mapping.cache.disk.cost_strategy"; value: "bytesize" } PluginParameter { name: "osm.mapping.cache.disk.size"; value: 1073741824 } } Map { id: map anchors.fill: parent center: QtPositioning.coordinate(59.91, 10.75) zoomLevel: 10 } Timer { running: true interval: 500 onTriggered: { console.time("Time") map.plugin = osmPlugin console.timeEnd("Time") } }
Results are:
Cache size (MB) | Time (ms) for MacBookPro 10,1 | Time (ms) for Lenovo Y550P |
---|---|---|
0 | 715 | 1221 |
20 | 821 | 2259 |
100 | 1188 | 2457 |
200 | 1911 | 3352 |
300 | 3177 | 4718 |
400 | 4590 | 5793 |
Ich have noticed that earlier initialization of the OpenSSL (for example calling of the QSslSocket::supportsSsl()) on application start maked the times about 400 ms shortly. Despite of this the time it takes to initialize the plugin in the map leads to freeze of the ui (even when cache is empty).
I suppose that growing of the time relative to size of the cache is associated with indexing of the tiles. Maybe it is possible to be done asynchronously.
Attachments
Issue Links
- relates to
-
QTBUG-60042 Add SQLite implementation for QtLocation tileCache
- Reported
Gerrit Reviews
For Gerrit Dashboard: QTBUG-59665 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
190362,2 | Make QGeoTiledMappingManagerEngine initialize TileCache in other thread | 5.9 | qt/qtlocation | Status: NEW | 0 | 0 |