aber stößt man bei mehreren texturlayern nicht auch auf das problem, dass nicht so viele texturen in den vram passen und dadurch dann traffic entsteht? da finde ich die frage, wie man sowas dann noch sortieren soll wirklich berechtigt...
wie macht DX das eigentlich, wenn wirklich nich alle texturlayer in den vram passen?
- "Layer" sind häufig solche Sachen wie Helligkeit oder Reflektivität. D.h. 8 Bit Texturen reichen und normalerweise auch eine geringere Auflösung als die Haupttextur.
- Man sollte für die meisten Texturen DDS mit Kompression benutzen. Bei den meisten Spielen, die ich kenne ist 2k x 2k die größte Texturauflösung und wird nur für wirklich wichtige Sachen benutzt. Selbst wenn man 32 bit braucht, sind es komprimiert "nur" 4MB.
- Man kann hute von 64MB VRAM als minimum ausgehen.
Ich habe übrigens gerade mal die BF2 Demo angeschaut, zugegebenermassen auf einem 256MB VRAM Rechner, aber alle jemals ins VRAM geladenen Sachen zusammen sind geringer als die VRAM Grösse.
Wenn nötig, fängt DX mit swappen in den Hauptspeicher an. Sagen wir z.B. alle paar hundert Meter hast Du ne andere Terraintextur und Du wanderst sehr lange, und schmeisst nicht manuell die alten Texturen raus (z.B. indem Du sie mit neuen überschreibst), so wird irgendwann der Video Speicher voll sein. Dann packt DX das in den Hauptspeicher. Wenn Du das nie mehr brauchst, isses ok. Wenn Du nach 5 Minuten wieder zurückkommst, wird es eben in dem Frame einmal wieder über den Bus geschickt.