Brave
Cross

O intervaloentre ver e entender

Tecnologia8 min de leitura

Site 3D pesa? Como o monólito da Brave Cross foi projetado para 60 fps no celular

Medimos a nossa própria home com o monólito 3D: 404 KB, 30 ms de bloqueio, CLS zero e um LCP alto que tem outra causa. O que pesa num site 3D e como tratar.

8 min · Brave Cross
Neste texto

Pesa quando é mal montado. Na medição de laboratório da Brave Cross em outubro de 2026, a home com o monólito 3D transferiu 404 KB, bloqueou a thread principal por 30 ms e não teve nenhum deslocamento de layout. Os 60 fps são meta de projeto, e o custo que sobrou é outro.

Por que um site 3D fica pesado?

O peso de um site 3D aparece em quatro lugares. O primeiro é o download: modelo, texturas e bibliotecas. O segundo é o bloqueio: decodificar geometria e compilar shaders na thread principal, com a página surda ao toque.

O terceiro é a estabilidade: um canvas que nasce sem espaço reservado empurra o texto para baixo. O quarto é o quadro a quadro. Segundo o guia de desempenho de renderização do web.dev (atualizado em dezembro de 2023), a maioria das telas atualiza 60 vezes por segundo, o navegador tem 16,66 ms por quadro e o seu código deveria terminar em cerca de 10 ms.

Os três primeiros aparecem nos Core Web Vitals. O web.dev define como bom um LCP de até 2,5 s, um INP de até 200 ms e um CLS de até 0,1, medidos no percentil 75 das visitas reais. Explicamos cada métrica em Core Web Vitals em 2026. O quarto, a fluidez, nenhuma dessas métricas mede.

Quanto pesa a home da Brave Cross, medida de verdade?

Rodamos o Lighthouse 12.8.2 na home da Brave Cross em 7 de outubro de 2026, com celular emulado, rede simulada e CPU quatro vezes mais lenta, numa única execução. É dado de laboratório: explica a arquitetura, não promete resultado.

404 KB

transferidos no primeiro carregamento, em 24 requisições

medição de laboratório da Brave Cross, out/2026

30 ms

de Total Blocking Time: a thread principal fica livre para responder

medição de laboratório da Brave Cross, out/2026

0

de Cumulative Layout Shift: nada pula na tela

medição de laboratório da Brave Cross, out/2026

9 KB

pôster em WebP que ocupa o lugar do monólito no primeiro quadro

medição de laboratório da Brave Cross, out/2026

36 KB

tamanho do monolith.glb, que só entra depois do primeiro quadro no celular

repositório da Brave Cross, out/2026

4,6 s

de LCP, acima do limite de 2,5 s, por causa da cortina de abertura

medição de laboratório da Brave Cross, out/2026

Dos 404 KB, os scripts somam 219 KB, as fontes 124 KB e o HTML 45 KB. O visitante vê o pôster enquanto o 3D chega por trás.

Onde a home perde pontos, e por quê?

A pontuação de performance foi 78 de 100, na faixa "precisa melhorar". O motivo não é o 3D. O elemento que o Lighthouse marca como LCP é o texto do herói, que entra desfocado por uma cortina de abertura de cerca de 1,2 s.

A cortina roda no compositor, pela Web Animations API, sem shader síncrono, e por isso não bloqueia nada. Mas ela adia de propósito o momento em que o texto aparece inteiro. Trocamos velocidade medida por uma entrada encenada, coerente com o que defendemos em A primeira dobra é o julgamento.

É uma escolha de projeto, e está na lista para revisar. Quem decide é o dado de campo, no percentil 75 das visitas reais.

O que "60 fps" exige, se o Lighthouse não mede fps?

O Lighthouse mede carregamento, não fluidez. Por isso não dizemos que o monólito "mede" 60 fps: ele foi projetado para 60 fps, e a prova está no painel de desempenho do navegador e num celular real, rolando a página. A meta exige quatro disciplinas.

Só transform e opacity no que se move. O guia de animações do web.dev recomenda restringir animações a essas duas propriedades para que fiquem na etapa de composição. Na Brave Cross, toda animação infinita segue essa regra.

Canvas adiado. O 3D não disputa o primeiro quadro. Primeiro vêm texto, pôster e layout; o modelo carrega depois. Os scripts de terceiros esperam uma interação ou 4 s.

Um só loop de animação. Cena, rolagem e efeitos obedecem a um único relógio. Dois loops concorrentes dividem os mesmos 16,66 ms e perdem quadros.

Geometria comprimida. Nos projetos de 3D com geometria pesada, exportamos do Blender em GLB com Draco; o monolith.glb, de 36 KB, vai ao ar sem Draco. A documentação do DRACOLoader do three.js avisa o custo: a geometria fica bem menor, mas o aparelho gasta tempo decodificando, o que o carregador distribui em Web Workers e faz em WASM quando o navegador permite. Comparamos as ferramentas em Three.js, Spline ou React Three Fiber.

Como otimizar um GLB sem perder o desenho?

As técnicas são abertas e documentadas. O glTF Transform traz comandos para comprimir geometria com Draco, comprimir geometria e animação com Meshopt, converter texturas para WebP ou para KTX com Basis (ETC1S e UASTC), e um comando optimize que combina etapas. Segundo o Khronos Group, o KTX 2.0 mantém a textura comprimida também na memória da GPU, reduzindo memória, banda e consumo de energia.

01

Medir antes

anote o tamanho de cada GLB e o que entra no primeiro carregamento

02

Limpar na origem

apague no Blender faces escondidas, modificadores e materiais que ninguém vê

03

Comprimir a geometria

use Draco ou Meshopt e confira o tempo de decodificação no celular

04

Comprimir as texturas

prefira KTX2 para o que fica na GPU e WebP para imagens simples

05

Adiar o canvas

mostre um pôster leve e carregue o 3D depois do primeiro quadro

06

Medir de novo

repita o Lighthouse e confirme os quadros no painel de desempenho

O que pesa num site 3DComo a Brave Cross tratouO que medir
Modelo GLBmonolith.glb de 36 KB, fora do primeiro quadro no celulartamanho na aba Rede e GLBs no primeiro carregamento
Primeira imagem do 3Dpôster WebP de 9 KB no lugar do canvaspeso de imagem e LCP
Bibliotecas e terceiros219 KB de scripts; terceiros só após interação ou 4 speso de scripts e Total Blocking Time
Shader e cortinacortina de 1,2 s no compositor, sem shader síncronoTotal Blocking Time e tarefas longas
Animação contínuaanimações infinitas só com transform e opacityquadros perdidos no painel de desempenho
Espaço do canvasCLS 0 na medição de laboratórioCumulative Layout Shift
Entrada encenadaLCP de 4,6 s, escolha em revisãoLCP de laboratório e de campo

Fonte: medição de laboratório da Brave Cross (Lighthouse 12.8.2, celular emulado) e dados do repositório, outubro de 2026. Limites de referência do web.dev, consultado em outubro de 2026.

Os arquivos que compõem o herói estão em Anatomia de um herói 3D.

Perguntas frequentes

Site 3D deixa o site lento no celular?

Não obrigatoriamente. Na medição de laboratório da Brave Cross em outubro de 2026, a home com um monólito 3D transferiu 404 KB e bloqueou a thread principal por 30 ms, porque nenhum GLB entra no primeiro quadro do celular. A lentidão vem de modelo e shaders carregados antes do conteúdo.

Quanto deve pesar um arquivo GLB para um site?

Não existe um número universal: depende de quantos modelos a cena tem e de quando cada um carrega. O monólito da home da Brave Cross tem 36 KB e entra depois do primeiro quadro. A regra prática é medir o que chega no primeiro carregamento e adiar o resto, comprimindo geometria com Draco ou Meshopt.

Draco ou Meshopt, qual usar?

Os dois comprimem geometria; o glTF Transform documenta que o Meshopt também comprime animação. A documentação do three.js avisa que a compressão Draco custa tempo de decodificação no aparelho. Teste os dois no seu modelo e meça o arquivo e o tempo de abertura num celular real.

Animação prejudica o Core Web Vitals?

Pode prejudicar o LCP, se adiar o conteúdo principal, e o CLS, se empurrar o layout. O web.dev considera bom um LCP de até 2,5 s e um CLS de até 0,1. Na home da Brave Cross o CLS é zero, mas a cortina de abertura leva o LCP de laboratório a 4,6 s, uma escolha em revisão.

Como medir os fps de um site?

O Lighthouse não mede fps: ele avalia carregamento. A fluidez se mede gravando a rolagem no painel de desempenho do navegador e contando os quadros perdidos, de preferência num celular real. O alvo vem do web.dev (dezembro de 2023): a 60 Hz, cada quadro tem 16,66 ms, e o código deve caber em cerca de 10 ms.

Quer um site 3D que abre rápido?

O 3D não precisa ser o vilão da performance. Com pôster leve, canvas adiado, animação no compositor e geometria comprimida, o peso fica sob controle; o que sobra são escolhas de encenação, a medir e rever. O panorama completo está no guia de site 3D, e o cuidado com quem pede menos movimento está em Animação sem enjoar.

Para aprender a construir com essa disciplina, a Brave Cross Education tem cursos de Front-End e Next.js. Se você quer um site 3D medido desde o primeiro quadro, fale com a Brave Cross.

  • site 3D pesado
  • site com animação lento
  • otimizar GLB Draco
  • Core Web Vitals animação

O que não cabe numa nota cabe numa conversa.

  1. 01Tecnologia

    Carreira em tecnologia no interior de Minas: trabalho remoto, salários e por onde começar

    Minas é o 2º estado em empregos de tecnologia, mas paga abaixo da média. Os polos do interior, o que o curso gratuito resolve e como quem mora longe de BH entra no mercado.

    8 min de leituraLer
  2. 02Tecnologia

    Curso de programação em Montes Claros: onde aprender, quanto se ganha e como vender para o mercado da região

    O que existe para aprender a programar em Montes Claros, o que o mercado mineiro paga e por que quem aprende aqui pode vender para a cidade e trabalhar remoto.

    8 min de leituraLer
  3. 03Tecnologia

    Ecossistema de inovação de Minas: San Pedro Valley, Uberlândia, Santa Rita do Sapucaí e o Norte de Minas

    Minas tem cerca de 1,3 mil startups, mas a inovação não mora só em BH. Um mapa dos polos, com dado e fonte, e o que eles abrem para quem constrói fora da capital.

    9 min de leituraLer