---
id: "canvas.desempenho-e-memoria"
titulo: "Desempenho e memória do Canvas"
resumo: "O que o Canvas faz para um quadro grande continuar utilizável — e o que você pode observar quando um cartão sai da tela."
idioma: "pt-br"
tipo: "conceito"
categoria: "telas"
aplicavelDesde: "0.0.16"
capabilities: ["canvas.cards.body-energy", "canvas.performance.instrumentation"]
estadoEditorial: "aprovado"
nivelEvidencia: "artefato-distribuido"
refFonte: "27574c339b58316408f6be2d62169d59041d07bf"
revisaoFonte: "2026-09-24"
revisor: "mantenedor (v1, 2026-10-03)"
rota: "/docs/pt-br/canvas/desempenho-e-memoria/"
fonte: "pt-br/canvas/desempenho-e-memoria.md"
caminhoPublico: "docs/publica/pt-br/canvas/desempenho-e-memoria.md"
hashFonte: "sha256:6cfed6075fd81a7c9f523f05bec19af306c8a8402060fb0392e5d10905824700"
hashDestaPagina: "sha256:6cfed6075fd81a7c9f523f05bec19af306c8a8402060fb0392e5d10905824700"
traducaoAssistidaPorIA: false
traducaoDesatualizada: false
corpoRetido: false
---
Um quadro com muitos cartões custa caro: cada terminal é um processo e um buffer, cada editor é uma árvore de elementos na tela. Esta página explica o que o app faz para o quadro continuar utilizável — e o que isso significa para você.

> **Nada aqui é uma configuração.** Não existe um ajuste de desempenho do Canvas para ligar, desligar ou calibrar. É política interna do app.

## A ideia: energia por cartão

Cada cartão tem um **nível de energia**, calculado a partir de onde ele está em relação à área visível, do estado de janela (normal ou minimizado) e de limites internos:

| Nível | O que significa |
|---|---|
| **Ativo** | Na área visível e desenhando por completo. |
| **Quente** | Montado e pronto, com a pintura suspensa enquanto está fora de vista. |
| **Suspenso** | O cartão foi **minimizado**: o corpo sai da tela, mas o conteúdo **continua vivo**. |
| **Estacionado** | O cartão continua fora da área visível **depois do tempo de histerese**: mesmo efeito do suspenso, por outro motivo. |
| **Despejado** | O conteúdo foi destruído na tela; a **sessão continua viva** no processo principal. |

O ponto central: **a sessão nunca morre por causa de energia**. Um terminal fora da tela continua recebendo o que o processo escreve; uma conversa continua a mesma. O que muda é quanto trabalho de tela o cartão dá.

## Quais cartões podem ser suspensos

> **Só cartões de terminal.** Notas, arquivos, conversas e navegadores **nunca** são suspensos nem despejados: o corpo deles fica sempre montado. O texto de uma nota não desaparece por causa de desempenho.

## Os limites internos

- Há um **teto de 50 corpos** suspensos ou estacionados ao mesmo tempo. Passando disso, os mais antigos passam a ser despejados.
- Há um **teto de 20 contextos gráficos** de terminal ao mesmo tempo.
- A **histerese** — o tempo que um cartão precisa ficar fora de vista antes de ser suspenso — é da ordem de um minuto.
- A **volta** de um cartão suspenso é limitada por quadro, e sob pressão crítica de memória ela é **adiada**: os cartões ficam onde estão em vez de voltar todos de uma vez.

> **Estes números são política interna e podem mudar entre versões.** Eles não são um contrato, e não existe hoje uma forma de configurá-los pela interface.

## O que você observa

- **Cartão fora da tela volta com o conteúdo dele.** O buffer do terminal é preservado enquanto o cartão está suspenso ou estacionado; ao voltar, a tela é redesenhada a partir dele.
- **Não há aviso na tela sobre suspender ou despejar.** Não existe indicador de "este cartão foi suspenso" nem notificação sobre isso. Como isso só acontece com cartões fora de vista, você normalmente não percebe.
- **Minimizar não é fechar.** Um cartão minimizado tem o conteúdo mantido, oculto, e continua rodando.

> **Cuidado com um defeito conhecido.** Um terminal pode **voltar preto** depois de sair da área visível ou de ser minimizado. Se você encontrar um terminal preto ao voltar para um cartão, use **Recarregar** no menu do cartão: ele religa uma tela nova ao **mesmo** processo, e o trabalho continua de onde estava. Não feche o cartão nesse estado — fechar encerra a sessão.

## O que já foi medido

Estas medições são do projeto e servem para dar ordem de grandeza — **não** são promessa de desempenho na sua máquina:

- **Antes**: um quadro com muitos cartões chegou a ter quadros de até **495 ms** em produção durante o arrasto do quadro.
- **Depois do escalonamento** (os cartões voltam em ondas, não todos no mesmo quadro): o pior quadro caiu para **139 ms**, e o custo fixo de cerca de 100 ms por atualização de posição **continua em aberto**.
- **Abrir um menu com 25 cartões** caiu de 183 ms para 58 ms.
- **Criar uma nota e conseguir digitar nela** levou **262 ms**.

> **A régua do projeto é contar quadros lentos, não a média.** A meta é 60 quadros por segundo (33 ms por quadro), e o que se mede é **quantos quadros passam de 33 ms e de 100 ms**. A média esconde exatamente o que a pessoa sente.

## Sobre a instrumentação

O Canvas tem uma **instrumentação de desempenho** interna, acessível apenas pela janela de desenvolvimento do aplicativo — **não há interface de produto para ela**. Ela mede renderizações, o tempo até o editor de nota aceitar a primeira tecla e latências de estacionamento, e pode ser ligada sem recompilar.

Se você não é quem está mexendo no código do app, isso não muda nada na sua experiência: é ferramenta de diagnóstico.

## Limites que valem saber

- **Um quadro grande continua sendo um quadro grande.** Os limites reduzem o custo, não eliminam o fato de que cada terminal é um processo.
- **O estado do quadro cresce com o uso.** Cada workspace guarda o seu arranjo, e isso não é apagado sozinho.
- **Sem LOD por zoom.** Não existe hoje um comportamento de "simplificar o cartão quando o zoom está afastado"; os cartões são desenhados como são.
