Jawaban:
Ada (setidaknya) dua faktor yang berperan di sini. GPU dapat menggunakan cache vertex post-transform ketika primitif terindeks di-render. Ukuran cache ini bervariasi, dan digunakan selama panggilan undian individual (tidak lintas beberapa panggilan, sejauh yang saya ketahui, jadi tidak masalah seberapa sering Anda mengubah data buffer dalam konteks itu).
Jika Anda mengatur data Anda untuk memanfaatkan cache ini (contoh algoritma ada di sini ), Anda dapat melihat peningkatan kinerja. Namun, organisasi ini lebih berkaitan dengan memesan indeks Anda sehingga setiap indeks triple menggunakan kembali sebanyak mungkin simpul yang baru dilihat. Ini mungkin memiliki sedikit pengaruh pada skenario spesifik Anda, kecuali jika segitiga Anda, melalui buffer indeks Anda, juga tersebar secara acak di buffer ... dalam hal ini Anda mungkin sering meniup cache. Tidak jelas bagi saya dalam pertanyaan Anda apakah ini masalahnya, jadi saya pikir itu layak untuk disebutkan.
Apa yang lebih mungkin menjadi masalah adalah bahwa GPU juga menyimpan memori cache akses ke data titik selama undian. Ukuran yang cache juga cukup unreliably berukuran dan itu dibayangkan bahwa Anda bisa mendapatkan frekuensi rindu tinggi dalam cache pada inti individu memproses indeks tersebut menjadi data vertex sangat buruk lokal.
Seperti apakah atau tidak itu akan menyebabkan cukup masalah kinerja menjadi bendera merah dalam aplikasi Anda, dan khususnya (sepertinya) merekayasa ulang algoritma Anda untuk mengatur data dengan lebih baik dengan mengorbankan keterbacaan algoritma. ... itu bukan sesuatu yang bisa saya jawab, Anda harus membuat profil beberapa skenario dan melihat.
Saya pribadi akan melakukan kesalahan di sisi kode yang dapat dibaca dan dikelola, karena saya pikir setiap cache yang hilang akan menyebabkan tidak akan cukup signifikan bagi pengguna untuk memperhatikan.