[WK2] allow up to 64MB tile textures for 1 frame update
authorSeojin Kim <seojin.kim@samsung.com>
Sun, 9 Sep 2012 10:26:39 +0000 (19:26 +0900)
committerSeojin Kim <seojin.kim@samsung.com>
Sun, 9 Sep 2012 10:26:39 +0000 (19:26 +0900)
[Title] [WK2] allow up to 64MB tile textures for 1 frame update
[Issue #] N_SE-9731
[Problem] lockup when try to Reply the mail in gmail desktop site.
[Cause] Too many layers are created in gmail desktop site, and moreover, contents forcely triggers relayout and paint infinitely.
Sometimes, it creates so many graphics layers, and in turn, it creates too many tiles, and consequently causes out of shared memory space.
[Solution] set texture memory limit up to 64MB
[Developer] seojin.kim

Source/WebKit2/WebProcess/WebPage/efl/LayerTreeHostEfl.cpp

index d7bccdd..6b372ba 100644 (file)
@@ -632,6 +632,10 @@ PassOwnPtr<WebCore::GraphicsContext> LayerTreeHostEfl::beginContentUpdate(const
         }
     }
 
+    // Allow upto 4 atlases (= 64MB)
+    if (m_updateAtlases.size() >= 4)
+        return PassOwnPtr<WebCore::GraphicsContext>();
+
     static const int ScratchBufferDimension = 2000;
     m_updateAtlases.append(UpdateAtlas(ScratchBufferDimension, flags));
     return m_updateAtlases.last().beginPaintingOnAvailableBuffer(handle, size, offset);