Há vantagens de desempenho em usar texturas com poder de duas em GPUs modernas integradas e discretas?
A maioria das GPUs modernas suporta texturas sem energia de duas (NPOT) e as manipula bem. Queda de desempenho é muito pouco. Mas há alguns problemas a serem considerados:
Ao usar a textura NPOT, ocupa mais espaço na RAM, assim como a textura POT do próximo tamanho. Tecnicamente, você desperdiça o espaço que poderia ser usado para colocar algo lá;
As texturas NPOT podem ser tratadas visivelmente mais lentas (no OpenGL 2.1, tive uma queda de desempenho de até 30%) em comparação com o POT do próximo tamanho;
GPUs mais antigas e GPUs on-board / on-chip não são tão avançadas, geralmente suportam texturas NPOT, mas o suporte é bastante lento e desajeitado;
GPUs ainda mais antigas podem se recusar a aceitar / exibir texturas NPOT;
Pode haver artefatos de borda causados pela interpolação do mapa mip; sua textura de 25 x 25 pode ter uma margem preta onde os pixels foram adicionados para preenchê-lo no tamanho de 32 x 32.
PS: Não sei ao certo sobre dispositivos móveis; pode haver ainda mais restrições em relação às texturas de POT.
Quais são as vantagens das texturas sem poder de duas, se houver?
Tanto quanto eu sei, existem apenas 2 vantagens:
- Eles ocupam menos espaço no disco rígido se não estiverem embalados (quando as áreas vazias embaladas oferecem muito pouco acréscimo)
- Você pode economizar tempo escrevendo o conversor NPOT -> POT. Você precisará de um para a versão de lançamento, mas o uso de texturas NPOT para projetar e criar protótipos de interfaces / modelos é bom.
Existem grandes populações de usuários de desktop que não possuem placas que suportam texturas que não sejam de duas?
Tanto quanto eu sei e testei no PC - Sim. Isso inclui uma porcentagem maior de GPUs de queda de velocidade / bugs menores e uma porcentagem menor de placas que não suportam NPOT.