Ursprünglich diehnt der VertexCache ja dazu einen batzen zu sammeln und dann auf einmal zu rendern. Damit die Grafikkarte auch etwas zu tun bekommt und nicht immer pausen einlegt.
Aber, pro renderdurchgang kann ja immer nur eine World Matrix genutzt werden. Daher muss man nicht nur nach den Materialien sortieren, sondern auch nach dessen Animationsstatus (sprich World Matrix). Man kann natürlich auch sagen das man nur Statische Objekte durch einen Vertex Cache rendert. Z.B. die komplette Level Geometrie. Das sind viele Daten und liegen meist nicht in einem VB sondern in mehreren, weil man das Level ja in einen Baum einsortiert hat. Dann könnte man die Vertice alle im Cache sammeln und dann auf einen rutsch rendern. Für das Level kommt ja eigentlich keine World-Matrix zum einsatz.
Es stellt sich dann nur die Frage ob ein Vertex Cache wircklich die benötigte Performance bringt. Da man ja schon recht viel über den Bus schieben muss.
Bei beweglichen Objekten, wie z.B. den Spielern, wird sich ein Vertex Cache wohl nicht lohnen. Es ändert sich einfach zu viel und durch die Skelett-Animation hat man dann auch gleich einen ganzen Satz an Matrizen.