The font cache evicts inactive font data too aggressively when not under memory pressure
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 24 Oct 2012 05:12:25 +0000 (05:12 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 24 Oct 2012 05:12:25 +0000 (05:12 +0000)
https://bugs.webkit.org/show_bug.cgi?id=100194

Reviewed by Sam Weinig.

Increasing the number of inactive font data objects the cache may hold increases the hit
rate, leading to improved page load performance. When memory pressure is detected,
MemoryPressureHandler evicts all inactive objects, regardless of the limits we are
increasing here.

* platform/graphics/FontCache.cpp:
(WebCore): Increased the maximum number of inactive font data objects in the cache from 50
to 225, and the number of objects to evict once the limit is met from 20 to 25.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@132308 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/FontCache.cpp

index 27fb203..4cab16d 100644 (file)
@@ -1,3 +1,19 @@
+2012-10-23  Dan Bernstein  <mitz@apple.com>
+
+        The font cache evicts inactive font data too aggressively when not under memory pressure
+        https://bugs.webkit.org/show_bug.cgi?id=100194
+
+        Reviewed by Sam Weinig.
+
+        Increasing the number of inactive font data objects the cache may hold increases the hit
+        rate, leading to improved page load performance. When memory pressure is detected,
+        MemoryPressureHandler evicts all inactive objects, regardless of the limits we are
+        increasing here.
+
+        * platform/graphics/FontCache.cpp:
+        (WebCore): Increased the maximum number of inactive font data objects in the cache from 50
+        to 225, and the number of objects to evict once the limit is met from 20 to 25.
+
 2012-10-23  Takashi Sakamoto  <tasak@google.com>
 
         [Shadow DOM] Needs @host rule for ShadowDOM styling
index 3fea6c2..f60883a 100644 (file)
@@ -293,8 +293,8 @@ static FontDataCache* gFontDataCache = 0;
 const int cMaxInactiveFontData = 250;
 const int cTargetInactiveFontData = 200;
 #else
-const int cMaxInactiveFontData = 50; // Pretty Low Threshold
-const int cTargetInactiveFontData = 30;
+const int cMaxInactiveFontData = 225;
+const int cTargetInactiveFontData = 200;
 #endif
 static ListHashSet<RefPtr<SimpleFontData> >* gInactiveFontData = 0;