[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