[Webkit-unassigned] [Bug 227376] New: [GPU Process] RemoteResourceCacheProxy::didFinalizeRenderingUpdate() is broken

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jun 24 14:00:44 PDT 2021


https://bugs.webkit.org/show_bug.cgi?id=227376

            Bug ID: 227376
           Summary: [GPU Process]
                    RemoteResourceCacheProxy::didFinalizeRenderingUpdate()
                    is broken
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Canvas
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: sabouhallawa at apple.com
                CC: dino at apple.com

In this function 'unusedFontCount' is always equal to zero because m_fontIdentifierToLastRenderingUpdateVersionMap.size() is always equal to m_numberOfFontsUsedInCurrentRenderingUpdate. In other words all the cached fonts are always considered be used by the current RenderingUpdate.

So this function makes an early return through the if-statement:

    if (unusedFontCount < minimumFractionOfUnusedFontCountToTriggerRemoval * totalFontCount && unusedFontCount <= maximumUnusedFontCountToSkipRemoval)
        return;

except in one case which is totalFontCount == 0. In this case, the body of this function will be executed but it will do nothing because m_fontIdentifierToLastRenderingUpdateVersionMap is empty.

This means all the fonts are cached always in GPUP. They are removed only under memory pressure through WebPage::releaseMemory() which calls RemoteResourceCacheProxy::releaseMemory().

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20210624/5965129a/attachment-0001.htm>


More information about the webkit-unassigned mailing list