Testando a taxa de leitura DMA e conferindo o caminho USB
Como medir a taxa de leitura de uma placa DMA, como é um resultado saudável e as quatro coisas que tomam a maior parte da sua banda.
Resposta curta
Rode a ferramenta de teste de leitura do seu firmware a partir do segundo PC, com a placa na porta de dados e nada mais naquele controlador USB. Um resultado saudável fica na casa das dezenas a poucas centenas de MB/s, dependendo da classe da placa e do firmware. Qualquer coisa muito abaixo disso quase sempre é falha no caminho USB: cabo só de carga, header do painel frontal, hub ou link em USB 2.
Nesta página6
Por que medir a taxa de leitura antes de mexer em qualquer coisa?
Quase todo relato de “meu ESP está travando” tem uma de duas causas. Ou a taxa de leitura está muito abaixo do que o hardware consegue entregar, ou a falta de um mapa de memória faz o leitor trabalhar muito mais do que precisaria. Dá para medir as duas em minutos, enquanto ficar chutando entre elas é o jeito de gastar dinheiro na camada errada. Comprar uma placa maior para resolver qualquer um dos dois problemas é a versão cara desse erro.
Como fazer um teste de leitura limpo
O teste precisa ser limpo, porque um benchmark feito com uma webcam e um HD externo dividindo o mesmo controlador mede a sua webcam, não a sua placa.
- Ligue primeiro o PC de jogo e deixe ele chegar à área de trabalho
- Confirme que o cabo vai da porta de dados da placa até uma porta USB 3 traseira do segundo PC
- Desconecte do segundo PC todo dispositivo USB que o teste não precisa
- Feche o jogo e qualquer software de captura ou de transmissão no PC de jogo
- No segundo PC, rode a ferramenta de teste de leitura que veio com o seu firmware
- Anote o número, depois dê um boot a frio no PC de jogo e rode o teste mais uma vez para ter um segundo dado
O que o seu resultado significa?
Os números absolutos variam conforme a classe da placa, o firmware e a ferramenta, então trate isto como faixas, e não como metas: o que importa é em qual faixa você caiu.
| Faixa | O que costuma significar | O que fazer |
|---|---|---|
| Muito abaixo do esperado, MB/s de um dígito | O link negociou USB 2, ou o cabo é só de carga | Troque o cabo, mude de porta e confirme no Gerenciador de Dispositivos que o link aparece como USB 3 |
| Baixo mas não absurdo, instável de uma rodada para outra | Disputa num controlador compartilhado, um hub, um dock ou um cabo no limite | Vá direto numa porta traseira e tire os outros dispositivos daquele controlador |
| Razoável, mas o ESP ainda trava | A taxa de leitura está boa; quem está sondando mal é o leitor | Gere um mapa de memória — este é o sintoma clássico de MMAP faltando |
| Dentro da faixa e estável | As camadas de USB e da placa estão saudáveis | Pare de mexer no hardware; o que sobrou é configuração de firmware ou de software |
Se duas rodadas discordarem muito, a instabilidade já é um resultado em si, e ela aponta para o cabo ou para o controlador, não para a placa.
O que mais tira banda de você?
Estão na ordem em que aparecem nos nossos chamados de suporte.
- Um cabo USB-C só de carga ou fininho, que não sustenta as taxas de dados do USB 3
- Um header USB do painel frontal em vez de uma porta traseira da placa-mãe
- Um hub, dock ou cabo de extensão em qualquer ponto do caminho
- Outros dispositivos famintos por banda dividindo o mesmo controlador USB
Dica
Quando uma placa maior ajuda de verdade?
Uma placa maior raramente ajuda, e mesmo assim só depois que o caminho USB estiver comprovadamente limpo e o mapa de memória no lugar. Se um link USB 3 direto e estável, com um cabo bom e um MMAP válido, ainda ficar aquém, o seu limite é a folga do FPGA. Aí sim uma classe mais alta é um upgrade real para os recursos que você quer. Até lá, uma 100T num cabo ruim é mais lenta do que uma 35T num cabo bom.
Perguntas frequentes sobre a taxa de leitura
A taxa de leitura afeta o risco de detecção?
Não diretamente, ainda que padrões de leitura muito agressivos sejam, em princípio, um sinal comportamental. Na prática, a relação com que as pessoas se importam, a de que ler mais rápido é mais seguro, não existe. A taxa de leitura afeta o quanto o seu overlay fica fluido.
Devo fazer overclock de alguma coisa?
Não, porque não há nada a ganhar e um link USB no limite já é a falha mais comum de todas. Nesse tipo de setup, estabilidade vale mais que banda, sempre.
Por que a minha taxa de leitura caiu depois de uma atualização do Windows?
A causa de sempre é o driver do controlador USB do segundo PC ter voltado para uma versão antiga. Confira de novo o driver FTDI e a velocidade negociada da porta antes de achar que a placa piorou.
Com qual ferramenta eu devo medir?
Use a ferramenta de teste de leitura que veio com o seu pedido de firmware e rode a partir do segundo PC. Não compare o seu resultado com um número que alguém postou usando outra ferramenta, porque ferramentas medem coisas diferentes e os números absolutos delas não são intercambiáveis.
Uma taxa de leitura mais baixa pode estar de bom tamanho?
Pode. Um setup só com radar exige muito menos do link do que um overlay de ESP completo, então um número que limita o overlay ainda pode servir para radar. Avalie a taxa em função dos recursos que você realmente usa, e não do número mais alto que já viu citado.
Fontes
As faixas são medições nossas, tiradas de placas na nossa bancada e de chamados de suporte, e não de uma especificação publicada.
Leia em seguida
Ainda travado? Abra um ticket no Discord
Todos os guias