Как кеш работает с рендерингом на основе плиток?
Есть ли какие-нибудь советы, как улучшить коэффициент попадания в кеш? (например, если плитки обрабатываются горизонтально, и у меня есть вертикальные сегменты треугольников с одинаковой текстурой, будет ли это хуже для кеша, чем если бы я располагал треугольники горизонтально?)
texture
gpu
shader
optimisation
Фелипе Лира
источник
источник
Ответы:
Будь то графический процессор на основе тайлов или нет, на самом деле не влияет на архитектуру кеша текстур. Структура памяти в текстуре будет выглядеть как разновидность порядка Мортона или кривой Гильберта во всех графических процессорах.
В результате более эффективно визуализировать треугольники, близкие к равносторонним треугольникам, поскольку система памяти GPU извлекает строки кэша текселей.
Очевидно, что на границах тайлов может случиться так, что вам придется выбирать тексели дважды. Это имеет небольшую стоимость, так как границы листов составляют всего лишь «несколько» пикселей.
Возможно настольные графические процессоры ведут себя идентично графическим графическим процессорам, как показано в следующих экспериментах: http://www.g-truc.net/post-0597.html
Размер плиток различен, но обе архитектуры фактически обрабатывают фрагменты в иерархию плиток разных размеров.
При кодировании для графических процессоров на основе тайлов я рекомендую всегда иметь в виду:
источник