Ganho de desempenho usando matrizes de atributos intercalados no OpenGL4.0

Eu trabalho com OpenGL4.X. Recentemente eu liisto Apple OpenGLES2 doc onde se afirma que o uso de matrizes de atributos intercalados melhora o desempenho em dispositivos móveis IOS e é o caminho recomendado (em vez de usar blocos de atributos).

Para aqueles que não entenderam o que quero dizer, aqui está um exemplo:

Bloco de atributos em uma única matriz de atributos:

 float vertices[]{
 //Triangle vertices:

  v0x , v0y , v0z ,
  v1x , v1y , v1z ,
  v2x , v2y , v2z ,

  //Triangle UVs:

  uv0s , uv0t ,
  uv1s , uv1t ,
  uv2s , uv2t ,

  //Triangle Normals:
  n0x , n0y , n0z ,
  n1x , n1y , n1z ,
  n2x , n2y , n2z 

}

Matriz de Atributos Intercalados:

 float vertices[]{


  v0x , v0y , v0z ,
  uv0s , uv0t ,          ////vertex 1 attributes
  n0x , n0y , n0z ,

  v1x , v1y , v1z ,
  uv1s , uv1t ,         ///vertex 2 attributes
  n1x , n1y , n1z ,

  v2x , v2y , v2z ,
  uv2s , uv2t ,         ///vertex 3 attributes
  n2x , n2y , n2z 

}

Então, minha pergunta é: Isso também é verdade para o OpenGL executado em GPUs de desktop? Se sim, então quão grande o ganho de desempenho pode teoricamente ser?

questionAnswers(4)

yourAnswerToTheQuestion