¿Cómo funciona la memoria caché con el renderizado basado en mosaicos?
¿Hay algún consejo sobre cómo mejorar la proporción de aciertos de caché? (por ejemplo, si los mosaicos se procesan horizontalmente y tengo segmentos verticales de triángulos con la misma textura, ¿funciona peor para el caché que si tuviera un diseño de triángulos horizontalmente?)
texture
gpu
shader
optimisation
Felipe Lira
fuente
fuente
Respuestas:
Si se trata de una GPU basada en mosaico o no, no afecta realmente la arquitectura de caché de textura. El diseño de memoria de la textura se verá como el sabor del orden de Morton o la curva de Hilbert en todas las GPU.
Como resultado, es más eficiente renderizar triángulos que están cerca de triángulos equiláteros porque el sistema de memoria de la GPU obtiene líneas de caché de texels.
Entonces, obviamente, en los bordes de mosaico, puede suceder que tenga que buscar texels dos veces. Esto tiene un pequeño costo ya que los bordes de los mosaicos son solo "pocos" píxeles.
Podría decirse que las GPU de escritorio se comportan de manera idéntica a las GPU basadas en mosaicos, como lo demuestran los siguientes experimentos: http://www.g-truc.net/post-0597.html
El tamaño de los mosaicos difiere, pero ambas arquitecturas procesan fragmentos en una jerarquía de mosaicos de diferentes tamaños.
Al codificar GPU basadas en mosaicos, mi recomendación es tener siempre en cuenta:
fuente