Como o cache funciona com a renderização baseada em bloco?
Existem dicas sobre como melhorar a taxa de acertos do cache? (por exemplo, se os blocos são processados horizontalmente e eu tenho segmentos verticais de triângulos com a mesma textura, isso funciona pior para o cache do que se eu tivesse o layout dos triângulos horizontalmente?)
texture
gpu
shader
optimisation
Felipe Lira
fonte
fonte
Respostas:
Se é uma GPU baseada em bloco ou não, não afeta realmente a arquitetura do cache de textura. O layout da textura da memória será semelhante a algum tipo de ordem de Morton ou curva de Hilbert em todas as GPUs.
Como resultado, é mais eficiente renderizar triângulos próximos de triângulos equilaterais porque o sistema de memória GPU busca linhas de texels em cache.
Então, obviamente, nas bordas dos blocos, pode acontecer que você precise buscar texels duas vezes. Isso tem um custo pequeno, já que as bordas dos blocos são apenas "poucos" pixels.
Indiscutivelmente, as GPUs de desktop se comportam de forma idêntica às GPUs baseadas em blocos, conforme demonstram as experiências a seguir: http://www.g-truc.net/post-0597.html
O tamanho dos blocos diferem, mas ambas as arquiteturas processam fragmentos em uma hierarquia de blocos de tamanhos diferentes.
Ao codificar para GPUs baseadas em blocos, minha recomendação é sempre ter em mente:
fonte