¿Existen ventajas de rendimiento al apegarse a las texturas de potencia de dos en las GPU modernas integradas y discretas?
La mayoría de las GPU modernas admiten texturas sin potencia de dos (NPOT) y las manejan bien. La caída del rendimiento es bastante pequeña. Pero hay pocos problemas a considerar:
Cuando se usa la textura NPOT, se necesita más espacio en la RAM, al igual que la textura POT del siguiente tamaño. Técnicamente solo desperdicias el espacio que podría usarse para poner algo allí;
Las texturas NPOT pueden manejarse notablemente más lentamente (en OpenGL 2.1 tuve una caída de rendimiento de hasta el 30%) en comparación con POT del siguiente tamaño;
Las GPU más antiguas y las GPU integradas / en chip no son tan avanzadas, a menudo admiten texturas NPOT, pero el soporte es bastante lento y torpe;
Incluso las GPU más antiguas pueden negarse a aceptar / mostrar texturas NPOT;
Podría haber artefactos de bordes causados por la interpolación de mip-map, su textura de 25x25 podría tener una franja negra donde se agregaron píxeles para rellenarla en un tamaño de 32x32.
PD: No estoy seguro acerca de los dispositivos móviles, podría haber aún más restricciones con respecto a las texturas POT.
¿Qué ventajas tienen las texturas sin potencia de dos, si las hay?
Hasta donde sé, solo hay 2 ventajas:
- Ocupan menos espacio en el disco duro si no están empaquetados (cuando las áreas vacías empaquetadas agregan muy poco)
- Puede ahorrar tiempo escribiendo NPOT -> Convertidor POT. Necesitará uno para la versión de lanzamiento, pero usar texturas NPOT para diseñar y crear prototipos de interfaces / modelos está bien
¿Hay grandes poblaciones de usuarios de escritorio que no tienen tarjetas que admitan texturas sin potencia de dos?
Hasta donde yo sé y probado en PC - Sí. Eso incluye un porcentaje mayor de GPU de errores de caída de velocidad / menor y un porcentaje menor de tarjetas que no manejarán NPOT en absoluto.