Making a FiveM loading screen fast and light

11 min read5 sections · 4 questions answered
Short answer

Keep the loading screen’s own download small (ideally a few megabytes before the video), use compressed WebP images at 1920×1080, WebM video at 1080p/30 fps hosted on a CDN, one or two WOFF2 fonts, and minimal JavaScript. Avoid heavy blur and particle effects. Anything bundled in the resource is downloaded before the screen appears, so large files belong on a CDN.

A loading screen runs at the worst possible moment: while the game is loading hundreds of megabytes of the world on the same CPU, GPU and disk. A heavy page — a 4K video, dozens of fonts, animated particles — competes with that and can make joining slower and choppier. The good news is that a beautiful loading screen and a light one are not in conflict.

Why weight matters twice

  1. 1Download: files inside the loading screen resource are fetched before the screen can display. A 200 MB resource is a long black screen for every new player.
  2. 2Runtime: once shown, the page shares the machine with the game’s own loading. Heavy effects take CPU and GPU time the game wanted.

A practical budget

PartTargetHow
HTML + CSS + JS< 300 KBNo big frameworks for a static page; minify
Background image200–600 KB1920×1080 WebP at quality ~80
Logo< 150 KBSVG or compressed PNG/WebP
Fonts< 200 KB1–2 families, WOFF2, only used weights
Music3–6 MBMP3 128–192 kbps, trimmed
Video10–30 MBWebM VP9 1080p/30, on a CDN

Sizes are covered in detail in the image sizes guide and video backgrounds.

Effects to avoid

EffectProblemAlternative
backdrop-filter: blur()Unreliable in FiveM’s Chromium and expensiveA semi-transparent solid colour
Large filter: blur() layersHeavy GPU cost every frameA pre-blurred image
Canvas particle / snow effectsConstant CPU workA subtle CSS animation or a baked video
Animating width/height/top/leftForces layout every frameAnimate transform and opacity
Several autoplaying videosMultiple decoders at onceOne video, or images

The full list of what FiveM’s embedded Chromium does and does not handle well is in CEF limitations.

Where heavy media should live

Keep small, essential files (HTML, CSS, logo, font) in the resource so the screen appears instantly and never depends on an outside host. Put video and long music on a CDN with HTTPS and let them stream in after the page has appeared, behind a poster image. This combination shows something immediately and never blocks the join on a 50 MB file.

Measuring

  1. 1Open the loading screen in Chrome or Edge and open DevTools.
  2. 2In the Network tab, reload with the cache disabled: the total transferred size is what a new player downloads.
  3. 3Throttle to “Fast 4G” and watch how long until something meaningful appears.
  4. 4In the Performance tab, record ten seconds and look for long tasks and constant repaints.
  5. 5Fix the biggest item first — it is almost always the video or an uncompressed image.

Common questions

Can a loading screen make FiveM load slower?

Yes. Its files must download before it appears, and heavy effects use CPU and GPU time while the game is loading. A light page avoids both.

How big should a FiveM loading screen be?

Aim for the page, images and fonts under about 5 MB, with any video streamed from a CDN rather than bundled in the resource.

Why is my loading screen laggy?

Usually a 4K or 60 fps video, large blur effects, or a canvas animation. Drop the video to 1080p/30 fps and replace blurs with solid colours.

Should I put my loading screen video in the resource?

Not a large one. Every new player downloads resource files before the screen appears. Host big videos on a CDN.

Want a loading screen you never have to debug?

Build it in the browser, export once, and edit it whenever — no HTML, no re-uploads.

Start free

More guides