Vertex Cache [DirectX9]
-
Mal eine Frage zum Sinn einen Vertex Cache zu programmieren.
Bei dem System das ich gerade verwende habe ich es so gemacht das die Objekte nach der Textur sortiert werden.Es wird also die Textur gesetzt und alle Objekte die diese Textur verwenden gerendert. Danach die zweite Textur gesetzt usw...
Man soll ja den Vertexbuffer möglichst voll machen. Nun ist das nicht gegeben wenn ich Objekte habe die klein sind und alle eine unterschiedlich Textur verwenden.
Ich würde eure Meinung dazu hören.
cu
-
H.L.T.O schrieb:
Ich würde keine eure Meinung dazu hören.
Ok. Dann halt nicht
-
-
man kann versuchen "texture atlases" zu machen, das ist ein texturbuffer in dem mehrere texturen zusammengelegt sind, dann kann man auch kleine objekte alle auf einmal zeichnen wenn es sein muss.
bei dir klingt das aber schon fast so als ob du jedes frame die vertexbuffer neu füllen würdest. wenn das so wäre, dann ist das das, was die meißten performanceeinbussen bringen würde
rapso->greets();
-
@rapso nein ich fülle es nicht pro Frame.
Das mit der großen Textur. Da hast du recht.
Mal eine andere Frage. Wie ermittle ich die optimale Cachgröße?
-
indem du verschiedene größen ausprobierst und die nimmst mit der besten framerate oder so.
rapso->greets();