summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/WebCore/platform/graphics/android/TilesManager.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/Source/WebCore/platform/graphics/android/TilesManager.cpp b/Source/WebCore/platform/graphics/android/TilesManager.cpp
index 5a9a164..0e91dc7 100644
--- a/Source/WebCore/platform/graphics/android/TilesManager.cpp
+++ b/Source/WebCore/platform/graphics/android/TilesManager.cpp
@@ -55,11 +55,14 @@
// We need n textures for one TiledPage, and another n textures for the
// second page used when scaling.
// In our case, we use 300x300 textures. On the tablet, this equates to
-// at least 5 * 3 = 15 textures. We also enable offscreen textures to a maximum
-// of 101 textures used (i.e. ~70Mb max, accounting for the double buffer textures)
-#define EXPANDED_TILE_BOUNDS_X 1
-#define EXPANDED_TILE_BOUNDS_Y 2
-#define MAX_TEXTURE_ALLOCATION 3+(5+EXPANDED_TILE_BOUNDS_X*2)*(3+EXPANDED_TILE_BOUNDS_Y*2)*2
+// at least 24 textures. That is consuming almost 50MB GPU memory.
+// 24*300*300*4(bpp)*2(pages)*3(triple buffering in Surface Texture) = 49.4MB
+// In order to avoid OOM issue, we limit the bounds number to 0 for now.
+// TODO: We should either dynamically change the outer bound by detecting the
+// HW limit or save further in the GPU memory consumption.
+#define EXPANDED_TILE_BOUNDS_X 0
+#define EXPANDED_TILE_BOUNDS_Y 0
+#define MAX_TEXTURE_ALLOCATION 3+(6+EXPANDED_TILE_BOUNDS_X*2)*(4+EXPANDED_TILE_BOUNDS_Y*2)*2
#define TILE_WIDTH 300
#define TILE_HEIGHT 300