Voltar ao blog
Formatos

Formato PVR: o guia completo para compactação de textura PowerVR

16 minutos de leitura

O formato PVR (PowerVR) é um formato de contêiner de textura proprietário da Imagination Technologies, projetado especificamente para GPUs PowerVR e amplamente adotado em dispositivos iOS e plataformas móveis. Como formato de textura nativo para iOS e muitos sistemas embarcados, o PVR suporta algoritmos PVRTC (PowerVR Texture Compression) junto com outros formatos de compactação como ETC e ASTC, tornando-o uma escolha versátil para desenvolvimento de jogos móveis. Sua decodificação acelerada por hardware e uso eficiente de memória o tornam essencial para aplicativos móveis onde o desempenho e a duração da bateria são essenciais.

O que é o formato PVR?

PVR é um formato de contêiner desenvolvido pela Imagination Technologies para armazenar texturas compactadas otimizadas para GPUs PowerVR. Originalmente criado para seus processadores gráficos móveis, o formato tornou-se o padrão de fato para aplicativos iOS e é amplamente suportado em plataformas móveis. O PVR serve como um wrapper para vários formatos de compactação de textura, principalmente o PVRTC, que fornece compactação eficiente acelerada por hardware para dispositivos móveis.

A força do formato reside no suporte nativo à compactação PVRTC, que foi projetada especificamente para as restrições dos dispositivos móveis - largura de banda de memória, energia da bateria e capacidades de processamento limitadas. O PVRTC oferece excelentes taxas de compressão, mantendo uma qualidade visual aceitável, tornando-o ideal para jogos e aplicativos móveis onde o desempenho é fundamental.

Além do PVRTC, os arquivos PVR modernos também podem conter ETC, ASTC e dados de textura não compactados, tornando-os um contêiner flexível que pode se adaptar a diferentes recursos do dispositivo. Essa flexibilidade, combinada com sua profunda integração com ferramentas de desenvolvimento iOS e amplo suporte de hardware, torna o PVR um formato essencial para desenvolvedores móveis direcionados ao iOS e outras plataformas baseadas em PowerVR.

Principais recursos do formato PVR

Aceleração de hardware

Suporte de hardware de GPU nativo para formatos PVRTC em GPUs PowerVR sem sobrecarga de CPU

Suporte multiformato

Suporta PVRTC, ETC, ASTC e formatos não compactados em um único contêiner

Otimizado para celular

Projetado especificamente para restrições de dispositivos móveis e eficiência da bateria

Suporte completo para Mipmap

Armazenamento de cadeia mipmap nativo e gerenciamento eficiente de nível de detalhe

Formatos de compactação suportados

O formato de contêiner PVR oferece suporte a vários algoritmos de compactação, cada um otimizado para diferentes casos de uso:

PVRTC (compressão de textura PowerVR)

Formato de compactação proprietário projetado especificamente para GPUs PowerVR, disponível em variantes de 2bpp e 4bpp.

O PVRTC oferece excelentes taxas de compactação (4:1 a 8:1) com aceleração de hardware em GPUs PowerVR. Ideal para aplicativos iOS e dispositivos móveis baseados em PowerVR.

ETC (compressão de textura Ericsson)

Formato de compactação padrão para dispositivos móveis, amplamente compatível com plataformas Android e iOS.

O ETC1 fornece compactação RGB na proporção de 4:1, enquanto o ETC2 adiciona suporte para compactação com canais alfa. Formato padrão para compactação de textura Android.

ASTC (compressão de textura escalável adaptativa)

Formato de compactação moderno que suporta vários tamanhos de bloco e níveis de qualidade.

ASTC oferece excelentes taxas de qualidade/compressão com tamanhos de bloco flexíveis de 4x4 a 12x12 pixels. Compatível com dispositivos iOS e Android mais recentes.

ETC2/EAC

Versão aprimorada do ETC com qualidade aprimorada e suporte ao canal alfa.

O ETC2 melhora o ETC1 com melhor qualidade, enquanto o EAC fornece compactação para mapas normais e texturas de canal único.

EAC (Compressão Alfa ETC)

Compressão dedicada para dados de textura alfa e de canal único.

O EAC fornece compactação eficiente para canais alfa e texturas de canal único, como mapas normais ou mapas de altura.

Formatos não compactados

Formatos padrão não compactados para requisitos de alta qualidade.

Suporte para RGB, RGBA e vários formatos não compactados quando os artefatos de compactação são inaceitáveis.

Estrutura do arquivo PVR

Os arquivos PVR seguem um formato estruturado com três componentes principais:

Cabeçalho PVR (52 bytes)

Contém metadados de arquivo, informações de versão, dimensões de textura e especificações de formato

Metadados de textura

Informações adicionais, incluindo contagem de mipmap, contagem de superfície, sinalizadores de compactação e detalhes de formato de pixel

Dados de textura compactados

Dados reais de pixels compactados organizados por níveis de mipmap e superfícies de textura

Detalhes de compressão PVRTC

O PVRTC vem em duas variantes principais, cada uma otimizada para diferentes requisitos de qualidade e tamanho:

PVRTC 2bpp (2 bits por pixel)

Taxa de compressão mais alta (8:1) com qualidade inferior. Adequado para texturas e fundos com poucos detalhes.

Melhor para: Texturas de fundo, elementos de UI, superfícies com poucos detalhes, aplicativos com restrição de memória

PVRTC 4bpp (4 bits por pixel)

Taxa de compressão mais baixa (4:1) com qualidade superior. Escolha padrão para a maioria das texturas móveis.

Melhor para: Texturas de personagens, superfícies detalhadas, texturas de uso geral, aplicativos iOS

Fluxo de trabalho de desenvolvimento de textura PVR

A criação e otimização de texturas PVR envolve vários estágios principais:

1

Preparação da imagem de origem

Prepare imagens de origem de alta qualidade com dimensões apropriadas (de preferência potência de dois para dispositivos mais antigos)

2

Seleção de formato

Escolha o formato de compactação apropriado com base na plataforma de destino e nos requisitos de qualidade

3

Compressão de Textura

Use PVRTexTool ou ferramentas semelhantes para compactar imagens de origem no formato PVR

4

Otimização de Qualidade

Ajuste as configurações de compactação e analise os resultados para equilibrar a qualidade e o tamanho do arquivo

5

Integração de aplicativos

Integre arquivos PVR ao seu aplicativo com carregamento e tratamento de erros adequados

Principais vantagens do formato PVR

Excelente compressão

PVRTC fornece taxas de compressão de 4:1 a 8:1 com decodificação acelerada por hardware

Qualidade otimizada para celular

Projetado especificamente para condições de visualização móvel e características de exibição

Flexibilidade de formato

Suporta vários formatos de compactação em um único contêiner para ampla compatibilidade

Suporte de hardware nativo

Suporte direto a GPU em dispositivos baseados em PowerVR sem sobrecarga de descompressão de CPU

Integração iOS

Integração profunda com ferramentas de desenvolvimento iOS e suporte próprio em estruturas Apple

Casos de uso comuns

Desenvolvimento de jogos iOS

Formato de textura nativo para aplicativos iOS com desempenho ideal em todos os dispositivos iOS

Jogos para celular

Ideal para jogos móveis visando eficiência da bateria e otimização de desempenho

Jogos multiplataforma

Perfeito para jogos compatíveis com iOS e Android com suporte ao formato substituto

Aplicativos WebGL

Formato compatível para aplicativos Web destinados a dispositivos móveis por meio de WebGL

Sistemas Embarcados

Amplamente utilizado em sistemas embarcados e displays automotivos com GPUs PowerVR

PVR versus outros formatos

Entendendo como o PVR se compara a outros formatos de compactação de textura:

PVR versus DDS

O PVR é otimizado para plataformas móveis, enquanto o DDS é voltado para jogos de desktop com formatos BCn

PVR versus KTX

PVR tem integração mais forte com iOS, enquanto KTX oferece melhor padronização entre plataformas

PVR x ASTC

PVR com PVRTC tem suporte legado mais amplo, enquanto ASTC oferece melhor qualidade e flexibilidade

PVR x ETC

PVR oferece melhor suporte para iOS, enquanto ETC é o padrão Android com suporte de hardware mais amplo

Ferramentas e recursos de desenvolvimento

SDK do PowerVR

SDK oficial da Imagination Technologies com ferramentas abrangentes de desenvolvimento PVR

Ferramenta PVRTex

Ferramenta oficial para criação e otimização de texturas PVR com capacidade de conversão de formato

Suporte PVR da unidade

Suporte integrado para compactação PVR nas configurações de importação de textura do Unity

PVR do motor irreal

Suporte ao formato PVR nativo no Unreal Engine para iOS e desenvolvimento móvel

Ferramenta de compressão de textura Arm Mali

Ferramenta alternativa para compactação de textura PVR e comparação de formatos

Melhores práticas para desenvolvimento de PVR

Use dimensões de potência de dois para compatibilidade ideal com GPUs e dispositivos iOS mais antigos

Escolha PVRTC 4bpp para a maioria das texturas, a menos que restrições de memória exijam compactação de 2bpp

Teste texturas compactadas em dispositivos de destino reais para avaliar a qualidade visual e o desempenho

Considere ASTC como uma alternativa para dispositivos iOS mais recentes quando for necessária qualidade superior

Use configurações mipmap apropriadas para otimizar o desempenho em diferentes distâncias de visualização

Valide arquivos PVR no hardware alvo no início do desenvolvimento para evitar problemas de compatibilidade

Considere os recursos do dispositivo ao escolher entre compactação PVRTC, ETC e ASTC

Migração e alternativas modernas

Para novos projetos, considere estes caminhos de migração e alternativas modernas:

Migrando de ASTC para PVR

Use PVRTexTool para converter texturas ASTC em PVRTC para compatibilidade com dispositivos iOS mais antigos

Migrando de ETC para PVR

Converta texturas ETC para o formato PVRTC para otimização específica do iOS e melhor integração

Migrando de DDS para PVR

Use ferramentas de conversão de textura para migrar texturas de desktop para o formato PVR otimizado para dispositivos móveis

Mudando para formatos modernos

Considere ASTC para novos projetos direcionados a dispositivos mais recentes, mantendo o PVR como uma opção alternativa

Conclusão

O formato PVR continua sendo uma ferramenta essencial no desenvolvimento de jogos móveis, especialmente para aplicativos iOS e dispositivos baseados em PowerVR. Sua compressão PVRTC acelerada por hardware oferece um excelente equilíbrio entre qualidade visual e desempenho para plataformas móveis onde a duração da bateria e a eficiência de renderização são essenciais.

Embora formatos mais recentes, como ASTC, ofereçam melhor qualidade e flexibilidade, o suporte legado do PVR, a integração com iOS e o desempenho comprovado o tornam uma escolha confiável para desenvolvedores móveis. Compreender quando e como usar o formato PVR é crucial para otimizar aplicações móveis e garantir a melhor experiência do usuário em diversos ecossistemas de dispositivos.

Leitura adicional e recursos

Expanda seu conhecimento com estes recursos confiáveis:

Experimente nossas ferramentas