Open Bug 1284993 Opened 8 years ago Updated 2 years ago

Determine correct font loading timeout/delay values for modern platforms

Categories

(Core :: Layout: Text and Fonts, task, P3)

All
Unspecified
task

Tracking

()

People

(Reporter: bugs, Unassigned)

References

(Blocks 1 open bug)

Details

We currently timeout after 3000ms when downloading fonts for display:block and display:auto and 100ms for all other display modes on all platforms (desktop & mobile:) gfx.downloadable_fonts.fallback_delay gfx.downloadable_fonts.fallback_delay_short We also delay async font loading by 8000ms on all platforms: gfx.font_loader.delay Review these preferences and determine if these values are correct, and change them if needed.
Blocks: 1283300
(In reply to Jet Villegas (:jet) from comment #0) > We currently timeout after 3000ms when downloading fonts for display:block > and display:auto and 100ms for all other display modes on all platforms > (desktop & mobile:) > > gfx.downloadable_fonts.fallback_delay > gfx.downloadable_fonts.fallback_delay_short I don't think these are really dependent on the platform. They're related to controlling the user experience given that font resources may take an unpredictable amount of time to become available, regardless of the user's platform. Network speed and latency, congestion, server load, all sorts of factors come into play.... these values are chosen in terms of how they relate to user experience rather than system performance. (It's true that as system -- and especially network -- performance improves, users will see the fallbacks happening less often, but that doesn't really affect the determination of suitable timeout values.) See https://tabatkins.github.io/specs/css-font-display/ for further discussion of these, including potentially allowing authors to adjust them (though AFAIK we don't yet support that). > We also delay async font loading by 8000ms on all platforms: > gfx.font_loader.delay It might make sense to reduce this on higher-performance platforms; we should do some startup testing to evaluate this.
Here is a blog post from Ilya about Google's evaluation of the 3000ms timeout when they decided to include that into Chrome and follow the Firefox approach: https://www.igvita.com/2014/01/31/optimizing-web-font-rendering-performance/#timeouts "picking a 10 second timeout would impact ~0.3% of font requests, and a 3 second timeout would raise that to ~1.1%. Based on this data, the conclusion was to make Chrome mirror the Firefox behavior."
Priority: -- → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.