From 14fe4a6892d96610f10a66e407c0bf66f1a7be08 Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Tue, 28 Aug 2012 09:39:17 +0200 Subject: [PATCH] use half the textures, take from non-visible tiles when needed --- src/org/mapsforge/android/glrenderer/MapRenderer.java | 4 +--- src/org/mapsforge/android/glrenderer/TextRenderer.java | 10 ++++++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/org/mapsforge/android/glrenderer/MapRenderer.java b/src/org/mapsforge/android/glrenderer/MapRenderer.java index 7bbf2195..67e49290 100644 --- a/src/org/mapsforge/android/glrenderer/MapRenderer.java +++ b/src/org/mapsforge/android/glrenderer/MapRenderer.java @@ -345,8 +345,6 @@ public class MapRenderer implements org.mapsforge.android.IMapRenderer { // Log.d(TAG, "--------------------------------<<"); } - private Object lock = new Object(); - private boolean updateVisibleList(double x, double y, int zdir) { byte zoomLevel = mLastZoom; float scale = mLastScale; @@ -1144,7 +1142,7 @@ public class MapRenderer implements org.mapsforge.android.IMapRenderer { mVBOs.add(new VertexBufferObject(mVboIds[i])); // Set up textures - TextRenderer.init(numTiles * 2); + TextRenderer.init(numTiles); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glDisable(GLES20.GL_DEPTH_TEST); diff --git a/src/org/mapsforge/android/glrenderer/TextRenderer.java b/src/org/mapsforge/android/glrenderer/TextRenderer.java index b22100d7..11e06c3d 100644 --- a/src/org/mapsforge/android/glrenderer/TextRenderer.java +++ b/src/org/mapsforge/android/glrenderer/TextRenderer.java @@ -188,6 +188,16 @@ public class TextRenderer { tex = null; } + if (tex == null) { + for (int i = 0; i < mTextures.length; i++) { + tex = mTextures[i]; + if (!tex.tile.isVisible) + break; + + tex = null; + } + } + if (tex == null) { Log.d(TAG, "no textures left"); return false;