Bug report #17984
Very slow rendering of layouts with grids in other CRS than project
Status: | Closed | ||
---|---|---|---|
Priority: | Normal | ||
Assignee: | - | ||
Category: | Map Composer/Printing | ||
Affected QGIS version: | master | Regression?: | Yes |
Operating System: | Ubuntu 17.10 | Easy fix?: | No |
Pull Request or Patch supplied: | No | Resolution: | fixed/implemented |
Crashes QGIS or corrupts data: | No | Copied to github as #: | 25880 |
Description
[FEEDBACK]
Working with a map layout with grids in a different coordinate system than the project, results in very slow updates, for example when panning the map contents.
Tried with project in national crs SWEREF99TM and in UTM33, with lat/long grid in WGS-84 as well as grids in UTM and SWEREF99TM.
This also affects the time it takes to open a layout. More complex layouts with several grids will take a very long time to open.
Turning the grids "off" while working with the layout is a workaround.
Also (may be separate issue), some layouts open without labels for the grids. When selecting the grid in the "Item Properties" the labels are drawn as they are supposed to.
Associated revisions
[layouts] Use correct transform context for map grids
Fixes #17984
History
#1
Updated by Klas Karlsson over 6 years ago
Not sure if it helps but the terminal output shows a lot of text like below repeatedly during redraw.
Warning: No QgsCoordinateTransformContext context set for transform Stacktrace (piped through c++filt): /usr/bin/qgis.bin(+0xc84e)[0x562b0b0c684e] /usr/bin/qgis.bin(+0xcd5a)[0x562b0b0c6d5a] /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0x9561a)[0x7f7e3e26761a] /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(QMessageLogger::warning(char const*, ...) const+0xae)[0x7f7e3e2683ee] /usr/lib/libqgis_core.so.2.99.0(QgsCoordinateTransform::transformCoords(int, double*, double*, double*, QgsCoordinateTransform::TransformDirection) const+0x302)[0x7f7e3ff2724c] /usr/lib/libqgis_core.so.2.99.0(QgsCoordinateTransform::transform(QgsPointXY const&, QgsCoordinateTransform::TransformDirection) const+0xd3)[0x7f7e3ff25473] /usr/lib/libqgis_core.so.2.99.0(QgsCoordinateTransform::transform(double, double, QgsCoordinateTransform::TransformDirection) const+0x66)[0x7f7e3ff255a6] /usr/lib/libqgis_core.so.2.99.0(QgsLayoutItemMapGrid::yGridLinesCrsTransform(QgsRectangle const&, QgsCoordinateTransform const&, QList<QPair<double, QPolygonF> >&) const+0x308)[0x7f7e402f0720] /usr/lib/libqgis_core.so.2.99.0(QgsLayoutItemMapGrid::calculateCrsTransformLines() const+0xf7)[0x7f7e402e95b7] /usr/lib/libqgis_core.so.2.99.0(QgsLayoutItemMapGrid::drawGridCrsTransform(QgsRenderContext&, double, QList<QPair<double, QLineF> >&, QList<QPair<double, QLineF> >&, bool) const+0xfc)[0x7f7e402e8948] /usr/lib/libqgis_core.so.2.99.0(QgsLayoutItemMapGrid::draw(QPainter*)+0x414)[0x7f7e402ea094] /usr/lib/libqgis_core.so.2.99.0(QgsLayoutItemMapItemStack::drawItems(QPainter*)+0xac)[0x7f7e402fa8a0] /usr/lib/libqgis_core.so.2.99.0(QgsLayoutItemMap::paint(QPainter*, QStyleOptionGraphicsItem const*, QWidget*)+0x5c6)[0x7f7e402d58d4] /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x44bd32)[0x7f7e3f4cdd32] /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x45a906)[0x7f7e3f4dc906] /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x45bd7b)[0x7f7e3f4ddd7b] /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x45ca37)[0x7f7e3f4dea37] /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x421fe1)[0x7f7e3f4a3fe1] /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(QGraphicsEffectSource::draw(QPainter*)+0x58)[0x7f7e3f542138] /usr/lib/libqgis_core.so.2.99.0(QgsLayoutEffect::draw(QPainter*)+0x8e)[0x7f7e40287b7e]
#2
Updated by Nyall Dawson over 6 years ago
- % Done changed from 0 to 100
- Status changed from Open to Closed
Applied in changeset qgis|6f364fdba57ea35b9a29cc4f7e5e44ba528ab049.
#3
Updated by Giovanni Manghi over 6 years ago
- Resolution set to fixed/implemented