Existem (pelo menos) dois fatores em jogo aqui. As GPUs podem utilizar um cache de vértice pós-transformação quando as primitivas indexadas são renderizadas. O tamanho desse cache varia e é utilizado durante uma chamada de empate individual (não entre várias chamadas, pelo que eu saiba, portanto, não importa com que frequência você altere os dados do buffer nesse contexto).
Se você organizar seus dados para aproveitar esse cache (um exemplo de algoritmo está aqui ), poderá ver melhorias de desempenho. No entanto, essa organização tem mais a ver com a ordenação de seus índices, para que cada índice triplique a reutilização do maior número possível de vértices vistos recentemente. Provavelmente isso tem pouca influência no seu cenário específico, a menos que seus triângulos, através do buffer de índice, também estejam espalhados aleatoriamente no buffer ... nesse caso, você provavelmente está soprando o cache com frequência. Não estava claro para mim na sua pergunta se era esse o caso ou não, então achei que vale a pena mencionar.
O mais provável de ser um problema é que as GPUs também armazenam em cache os acessos de memória aos dados dos vértices durante um sorteio. O tamanho desse cache também é de tamanho bastante confiável e é concebível que você possa obter uma alta frequência de falta nesse cache nos núcleos individuais que processam esses índices em dados de vértices muito mal localizados.
Quanto a saber se isso causa um problema de desempenho suficiente para ser uma bandeira vermelha em seu aplicativo, e em particular (parece) reprojetar seu algoritmo para organizar melhor os dados à custa da legibilidade do algoritmo ... isso não é algo que eu possa responder, você terá que traçar alguns cenários e ver.
Pessoalmente, eu iria errar ao lado do código legível e de manutenção, pois acho que qualquer cache ausente que você causará não será significativo o suficiente para que os usuários percebam.