Application-Managed Von Ressourcen und Zuordnungsstrategien (Direct3D 9)

Verwaltete Vertexpuffer- oder Indexpufferressourcen können nicht dynamisch deklariert werden, indem D3DUSAGE _ DYNAMIC zum Erstellungszeitpunkt angegeben wird. Dies würde eine zusätzliche Kopie für jede Änderung des Vertexpufferinhalts erfordern. Dynamische Scheitelpunktpuffer sind für das Rendern dynamischer Geometrie und daten vorgesehen, die aus partitionierten Strukturen des binären Raumes oder anderen Sichtbarkeitsdatenstrukturen abgerufen werden. Dies kann erreicht werden, indem Puffer des gewünschten Formats vorab zugewiesen werden. Diese Ressourcen werden dann von einem Ressourcen-Manager innerhalb der Anwendung zur Unterstützung der Anwendungsanforderungen angepasst. Die Gesamtanzahl dynamischer Scheitelpunktpuffer ist klein, da eine Anwendung gleichzeitig nur wenige verschiedene Scheitelpunktschritte verwendet und weil ein anderer Scheitelpunktpuffer nur für eindeutige Schrittschritte erforderlich ist. Stellen Sie bei der Verwaltung dynamischer Ressourcen auf diese Weise sicher, dass hohe Anforderungen an die Ressourcen die Leistung der Anwendung nicht erheblich beeinträchtigen.

Wenn Sie Ressourcen verwenden, die sowohl von Direct3D als auch von Anwendungen verwaltet werden, ordnen Sie anwendungsseitig verwaltete Ressourcen im D3DPOOL _ DEFAULT-Speicher zu, bevor Sie direct3D-verwaltete Ressourcen erstellen. Dadurch kann der Speicher-Manager die genaue Anzahl des verfügbaren Arbeitsspeichers beibehalten.

Direct3D-Ressourcen