Esta página da Web foi automaticamente traduzida para sua conveniência. Não podemos garantir a precisão ou a confiabilidade do conteúdo traduzido. Se tiver dúvidas sobre a precisão do conteúdo traduzido, consulte a versão oficial em inglês da página da Web.
O que é uma GPU?
Uma unidade de processamento gráfico (GPU) é um processador especializado projetado para realizar muitos cálculos em paralelo, originalmente para renderizar imagens, vídeo e gráficos 3D. GPUs agora também aceleram outros trabalhos altamente paralelos, incluindo aprendizado de máquina, simulação científica e codificação de vídeo.
Em um jogo ou aplicação real-time 3D, a GPU processa os dados da cena para produzir os pixels que o jogador vê, renderizando a imagem dezenas de vezes por segundo.
Como uma GPU funciona?
Uma GPU obtém sua velocidade através do paralelismo. Em vez de depender de um pequeno número de núcleos de CPU poderosos para lidar com tarefas sequencialmente, uma GPU divide grandes cargas de trabalho em muitas operações menores que podem ser processadas em paralelo.
A GPU trabalha em conjunto com a CPU, que lida com tarefas como lógica de jogo e envia instruções para a GPU para gráficos e outras cargas de trabalho paralelas. Para uma análise lado a lado dos dois processadores, veja CPU vs. GPU.
Uma GPU depende de vários componentes e camadas de software chave:
- Cores: Unidades de processamento que executam muitas operações em paralelo. Sua arquitetura e nomenclatura variam por fabricante de GPU, como núcleos CUDA em GPUs NVIDIA e processadores de fluxo em GPUs AMD.
- Memória de vídeo (VRAM): Memória de banda larga dedicada que armazena texturas, malhas, dados de quadro e outros recursos perto da GPU. GPUs integradas geralmente compartilham a memória do sistema.
- Shaders: Programas que rodam na GPU para realizar tarefas como posicionamento de vértices, cálculo de cores de pixels e processamento de cargas de trabalho de propósito geral, incluindo aquelas tratadas por shaders de computação.
- Drivers e APIs gráficas: Camadas de software que permitem que os aplicativos se comuniquem com a GPU. APIs como DirectX, Vulkan, Metal e OpenGL fornecem interfaces para emitir comandos gráficos, enquanto os drivers traduzem esses comandos para hardware de GPU específico.
O que acontece quando uma GPU renderiza um quadro?
Renderizar um único quadro segue o pipeline gráfico, uma sequência de estágios que transforma dados de cena 3D em uma imagem 2D:
- Enviar: A CPU envia chamadas de desenho que especificam quais malhas, materiais e configurações de renderização usar.
- Processar vértices: Os shaders de vértice transformam os vértices de cada malha do espaço de cena 3D para as posições usadas para renderizar a imagem.
- Rasterizar: A GPU converte os triângulos resultantes em fragmentos que correspondem a pixels potenciais na tela.
- Sombrear pixels: Shaders de fragmento calculam a cor de cada fragmento usando informações como texturas, iluminação e materiais.
- Saída: A imagem resultante é escrita em um buffer de quadro e apresentada no display.
Quais são os tipos de GPUs?
As GPUs podem ser agrupadas em três tipos comuns com base em onde a GPU está localizada, como ela acessa a memória e como seus recursos de computação são entregues:
GPUs integradas compartilham recursos do sistema com a CPU, o que geralmente as torna mais eficientes em termos de energia e adequadas para dispositivos com espaço ou energia limitados.
GPUs discretas têm seu próprio hardware de processamento e memória dedicada, fornecendo mais desempenho gráfico e de computação ao custo de maior consumo de energia e calor.
GPUs virtuais fornecem recursos de computação de GPU remotamente, permitindo que os aplicativos usem hardware de GPU hospedado em um data center em vez de no dispositivo local.
Qual é a diferença entre uma GPU e uma placa de vídeo?
Os termos GPU e placa de vídeo são frequentemente usados como sinônimos, mas referem-se a coisas diferentes:
Toda placa de vídeo contém uma GPU, mas nem toda GPU está em uma placa de vídeo. GPUs integradas são construídas no mesmo chip ou pacote que a CPU e compartilham recursos do sistema em vez de usar uma placa de vídeo separada.
Para que serve uma GPU?
GPUs são usadas onde quer que uma carga de trabalho contenha muitos cálculos que podem ser realizados em paralelo:
- Jogos e 3D em tempo real: Renderizar quadros para jogos e experiências interativas em telefones, PCs, consoles e outros dispositivos.
- VR e AR: Renderizar visualizações imersivas e manter as altas e consistentes taxas de quadros necessárias para experiências confortáveis, particularmente em VR.
- IA e aprendizado de máquina: Acelere o treinamento e a inferência de modelos de aprendizado de máquina, que envolvem grandes números de operações matemáticas paralelas.
- Criação de vídeo e conteúdo: Acelere a codificação de vídeo, renderização, efeitos visuais e fluxos de trabalho acelerados por GPU em aplicações criativas.
- Simulação e Digital Twins: Executar simulações computacionais de física, partículas, iluminação e outras para visualização de engenharia, automotiva e industrial.
- Gráficos da Web: Use APIs como WebGL para permitir que os navegadores renderizem gráficos interativos 2D e 3D com aceleração por GPU.
GPU e Unity
No Unity, a GPU renderiza quadros de acordo com a configuração ativa Universal Render Pipeline (URP) ou High Definition Render Pipeline (HDRP). O módulo GPU Usage Profiler mostra quanto tempo de GPU diferentes partes de um quadro levam, ajudando os desenvolvedores a identificar gargalos de renderização. O GPU Resident Drawer usa instanciamento de GPU para reduzir chamadas de desenho e sobrecarga da CPU ao renderizar grandes quantidades de objetos.
Perguntas frequentes (FAQ)
O que significa quando um jogo é limitado pela GPU?
Um jogo é limitado pela GPU quando a GPU leva mais tempo para renderizar um quadro do que a CPU leva para prepará-lo. Exigências de renderização, como alta resolução, shaders complexos e sobreposição (overdraw), podem aumentar o tempo de quadro da GPU e limitar a taxa de quadros. Profiling ajuda a identificar se a CPU ou a GPU é o gargalo, e o guia da Unity para gerenciar o uso da GPU aborda técnicas comuns de otimização.
Um computador pode funcionar sem uma GPU?
Um computador pode funcionar sem uma GPU dedicada, mas a maioria dos computadores que exibem gráficos usa uma GPU integrada ou discreta. Alguns servidores operam sem uma GPU porque não precisam renderizar gráficos, e o renderização por software pode usar a CPU para gerar imagens em vez disso. No entanto, o renderização baseada em CPU é geralmente menos eficiente do que a aceleração por GPU para gráficos 3D em tempo real exigentes.
O que é um benchmark de GPU?
Um benchmark de GPU é um teste que mede o desempenho gráfico ou de computação usando métricas como taxa de quadros, tempo de quadro ou uma pontuação composta. Benchmarks sintéticos executam cargas de trabalho padronizadas para comparar GPUs, enquanto benchmarks do mundo real medem o desempenho em jogos ou aplicativos reais. Os resultados podem variar dependendo da resolução, configurações gráficas, drivers e da carga de trabalho específica.