Bagaimana cara kerja cache dengan rendering berbasis ubin?
Apakah ada tips tentang cara meningkatkan rasio hit cache untuk itu? (misalnya, jika ubin diproses secara horizontal dan saya memiliki segmen vertikal segitiga dengan tekstur yang sama, apakah itu berfungsi lebih buruk untuk cache daripada jika saya memiliki tata letak segitiga keluar secara horizontal?)
texture
gpu
shader
optimisation
Felipe Lira
sumber
sumber
Jawaban:
Apakah itu GPU berbasis ubin atau tidak, tidak terlalu memengaruhi arsitektur cache tekstur. Tata letak memori tekstur akan terlihat seperti beberapa rasa orde Morton atau kurva Hilbert di semua GPU.
Akibatnya, lebih efisien untuk membuat segitiga yang dekat dengan segitiga sama sisi karena sistem memori GPU mengambil garis cache dari texels.
Jadi jelas pada batas ubin, mungkin Anda harus mengambil texels dua kali. Ini memiliki biaya kecil karena batas ubin hanya "beberapa" piksel.
GPU desktop yang dapat diperdebatkan berperilaku identik dengan GPU berbasis ubin sebagai percobaan seperti yang ditunjukkan berikut ini: http://www.g-truc.net/post-0597.html
Ukuran ubin berbeda tetapi kedua arsitektur sebenarnya memproses fragmen menjadi hierarki ubin dengan ukuran berbeda.
Saat mengkodekan GPU berbasis ubin, rekomendasi saya adalah selalu mengingat:
sumber