From kde-commits Sun Dec 04 20:51:54 2016 From: Torsten Rahn Date: Sun, 04 Dec 2016 20:51:54 +0000 To: kde-commits Subject: [marble] src/lib/marble/geodata/graphicsitem: Performance: At level 17 render buildings flat. Message-Id: X-MARC-Message: https://marc.info/?l=kde-commits&m=148088472330047 Git commit 2777cef9944b3423230b0c1e6980cfd20750cd30 by Torsten Rahn. Committed on 04/12/2016 at 20:45. Pushed by rahn into branch 'master'. Performance: At level 17 render buildings flat. This makes the 2D->3D transition more smooth and reduces the amount of drawing calls. M +9 -1 src/lib/marble/geodata/graphicsitem/BuildingGeoPolygonGraphi= csItem.cpp https://commits.kde.org/marble/2777cef9944b3423230b0c1e6980cfd20750cd30 diff --git a/src/lib/marble/geodata/graphicsitem/BuildingGeoPolygonGraphics= Item.cpp b/src/lib/marble/geodata/graphicsitem/BuildingGeoPolygonGraphicsIt= em.cpp index bee2e30..7df35dc 100644 --- a/src/lib/marble/geodata/graphicsitem/BuildingGeoPolygonGraphicsItem.cpp +++ b/src/lib/marble/geodata/graphicsitem/BuildingGeoPolygonGraphicsItem.cpp @@ -209,7 +209,15 @@ QVector Bu= ildingGeoPolygonGraphicsIt = void BuildingGeoPolygonGraphicsItem::paint(GeoPainter* painter, const View= portParams* viewport, const QString &layer, int tileZoomLevel) { - Q_UNUSED(tileZoomLevel); + // Just display flat buildings for tile level 17 + if (tileZoomLevel =3D=3D 17) { + if (layer.endsWith(QLatin1String("/frame"))) { + AbstractGeoPolygonGraphicsItem::paint(painter, viewport, layer= , tileZoomLevel ); + } + return; + } + + // For level 18, 19 .. render 3D buildings in perspective if (layer.endsWith(QLatin1String("/frame"))) { Q_ASSERT(m_cachedOuterPolygons.isEmpty()); Q_ASSERT(m_cachedInnerPolygons.isEmpty());