Custom web fonts are a small file that most teams add without considering the loading behaviour they introduce by default. Left at browser defaults, text using a custom font is often invisible entirely until the font file finishes downloading — a behaviour called the flash of invisible text — which on a slow connection means a visitor stares at a blank area where text should be for a genuinely noticeable delay, even though the content itself was ready instantly.
The fix is controlling font-display behaviour explicitly rather than accepting the browser default. Setting fonts to swap means the browser shows text immediately in a fallback system font, then swaps to the custom font once it's loaded — visible text from the first moment, with a brief, usually unnoticeable font change once the download completes, rather than an invisible gap followed by a sudden appearance.
Preloading the specific font files actually used above the fold, rather than letting the browser discover the font request only after parsing the stylesheet that references it, removes a full round trip from the critical path. This is a small addition to the page's head that meaningfully affects when text becomes visible on a slow connection, and it's one of the more commonly missed items in performance audits precisely because the page looks correct once loaded — the cost is entirely in the delay nobody measured.
The number of font weights and styles loaded is worth auditing honestly, because each variant is a separate file download. A design using three weights of one typeface loads three separate font files; a design casually specifying five weights and two styles loads eight, and the difference in total download weight is rarely justified by a design distinction most visitors won't consciously register. Reducing to the weights actually used, deliberately rather than by accident, is a straightforward performance win most sites haven't done.