[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [marble] src/lib/marble/geodata/graphicsitem: Performance: At level 17 render buildings flat.
From:       Torsten Rahn <trahn () testo ! de>
Date:       2016-12-04 20:51:54
Message-ID: E1cDdlK-0000UE-Nk () code ! kde ! org
[Download RAW message or body]

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/BuildingGeoPolygonGraphicsItem.cpp

https://commits.kde.org/marble/2777cef9944b3423230b0c1e6980cfd20750cd30

diff --git a/src/lib/marble/geodata/graphicsitem/BuildingGeoPolygonGraphicsItem.cpp \
b/src/lib/marble/geodata/graphicsitem/BuildingGeoPolygonGraphicsItem.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<BuildingGeoPolygonGraphicsItem::NamedEntry> \
BuildingGeoPolygonGraphicsIt  
 void BuildingGeoPolygonGraphicsItem::paint(GeoPainter* painter, const \
ViewportParams* viewport, const QString &layer, int tileZoomLevel)  {
-    Q_UNUSED(tileZoomLevel);
+    // Just display flat buildings for tile level 17
+    if (tileZoomLevel == 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());


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic