Skip to content

Light version: pages open quickly, without the 3D graphics. You are seeing the light version because the 3D graphics would be slow on this device. The content is the same.

Turn on 3D

Preparing the graphics. This can take a moment on the first visit.

Henry Lõiv

Web design & development

Quick Answer

Why does a small GLB file use so much memory?

3D & WebGL 2 min read

Download size and GPU memory are different budgets. A small JPEG inside a GLB can become a large decoded texture during rendering. Compressing geometry does not automatically reduce texture memory. 1

Count pixels, not just download megabytes

A 4096 × 4096 texture with four 8-bit channels needs 64 MiB for its base level. A conventional full mipmap chain adds roughly a third, bringing the example to about 85 MiB. This is an illustrative calculation, not a precise measurement for every format or device.

Color, normal and other material maps can repeat that cost. A five-megabyte download therefore does not establish that the model has a small working-memory footprint on a phone.

Change one asset first

Choose a large texture and reduce its pixel dimensions in a test copy. Compare the same view’s quality and memory behavior on a real device. If the result still looks good, reducing dimensions can be more useful than lowering JPEG quality again.

KTX2/Basis can provide suitable GPU texture compression, but it requires a correctly configured loader and detection of the target device’s support. 2

Avoid changing geometry, textures and render resolution simultaneously. A controlled comparison helps distinguish download savings, memory savings and frame-time improvements instead of treating them as one metric.

Related reading

How this 3D portfolio is built · Test a lower pixel ratio on mobile

Sources

  1. Three.js: texture memory usage
  2. Three.js: KTX2Loader and GPU texture compression

Fact checked:

Let’s talk about your project

Tell me about your project

Tell me what you’d like to build or improve. You don’t need a finished brief — we’ll work out the scope and next steps together.

01 How can I help?
02 How many pages do you need?
03 Which extras do you need? Choose all that apply
04 When does it need to be ready?
05 Project details
06 Your contact details

Enquiry received

Thank you!

Your enquiry has been received. I usually reply by email within 2 working days.