Comment le cache fonctionne-t-il avec le rendu basé sur les tuiles?
Y a-t-il des conseils sur la façon d'améliorer le taux d'accès au cache pour cela? (par exemple, si les tuiles sont traitées horizontalement et que j'ai des segments verticaux de triangles avec la même texture, cela fonctionne-t-il moins bien pour le cache que si j'avais des triangles disposés horizontalement?)
texture
gpu
shader
optimisation
Felipe Lira
la source
la source
Réponses:
Qu'il s'agisse d'un GPU basé sur des tuiles ou non, cela n'affecte pas vraiment l'architecture du cache de texture. La disposition de la mémoire de la texture ressemblera à une saveur de l' ordre de Morton ou de la courbe de Hilbert dans tous les GPU.
En conséquence, il est plus efficace de rendre les triangles proches des triangles équilatéraux car le système de mémoire GPU récupère les lignes de cache des texels.
Donc, évidemment, sur les bordures de tuiles, il peut arriver que vous deviez chercher deux texels. Cela a un faible coût car les bordures de tuiles ne sont que «quelques» pixels.
On peut dire que les GPU de bureau se comportent de manière identique aux GPU basés sur des tuiles comme le montrent des expériences telles que les suivantes: http://www.g-truc.net/post-0597.html
La taille des tuiles diffère, mais les deux architectures traitent en fait des fragments dans une hiérarchie de tuiles de différentes tailles.
Lors du codage de GPU basés sur des tuiles, ma recommandation est de toujours avoir à l'esprit:
la source