Closed Bug 1736868 Opened 3 months ago Closed 3 months ago

A gfxFontCache::gfxFontCache timer wakes up idle content processes every 60s


(Core :: Layout: Text and Fonts, defect)




95 Branch
Fission Milestone Future
Tracking Status
firefox-esr78 --- wontfix
firefox-esr91 --- wontfix
firefox93 --- wontfix
firefox94 --- wontfix
firefox95 --- fixed


(Reporter: florian, Assigned: jfkthame)


(Blocks 1 open bug)


(Keywords: power)


(1 file)

Here's a profile of a preallocated content process being woken up twice by the this gfxFontCache timer:

It looks like this timer was added in bug 703100 (10 years ago!). This was probably fine when we had few content processes (or maybe this was even before e10s), but now that we have potentially many content processes with Fission, this repeating timer causes lots of wake ups.

Could this timer be stopped when the cache is empty?

It's more visible on a longer profile:

Severity: -- → S3
Component: Graphics: Text → Layout: Text and Fonts
No longer blocks: 1689164

Restoring the block of bug 1689164. This gfxFontCache timer bug is affecting Fission's preallocated processes, but doesn't need to block the Fission MVP release.

Blocks: 1689164
Fission Milestone: --- → Future

This avoids periodically waking up an otherwise-idle process once we've expired all the
cached-word entries.

Also reduce the font and shaped-word expiration times somewhat, so that processes will tend to
become idle sooner. In practice if we don't reuse a given record within seconds, it's probably
not critical to performance; the caches are primarily there for when the same font is used for
many elements of a page, or a page is reflowed several times during load.

Assignee: nobody → jfkthame
Pushed by
Pause the word-cache expiration timer when all caches are empty. r=lsalzman
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → 95 Branch

Setting status-firefox94=wontfix because it's too late to uplift to Beta 94.

You need to log in before you can comment on or make changes to this bug.