Application-Managed Ressourcen und Zuordnungsstrategien (Direct3D 9)
Verwaltete Vertexpuffer- oder Indexpufferressourcen können nicht als dynamisch deklariert werden, indem bei der Erstellung D3DUSAGE_DYNAMIC angegeben wird. Dies erfordert eine zusätzliche Kopie für jede Änderung des Scheitelpunktpufferinhalts. Dynamische Vertexpuffer sind zum Rendern von dynamischer Geometrie und Daten vorgesehen, die aus partitionierten Strukturen des binären Raums 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 bereitgestellt. Die Gesamtzahl der dynamischen Scheitelpunktpuffer ist klein, da eine Anwendung nur wenige verschiedene Scheitelpunkte gleichzeitig verwendet und ein anderer Scheitelpunktpuffer nur für eindeutige Schritte erforderlich ist. Stellen Sie bei der Verwaltung dynamischer Ressourcen auf diese Weise sicher, dass hochfrequente 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, weisen Sie anwendungsseitig verwaltete Ressourcen in D3DPOOL_DEFAULT Arbeitsspeicher zu, bevor Sie von Direct3D verwaltete Ressourcen erstellen. Dadurch kann der Speicher-Manager eine genaue Anzahl des verfügbaren Arbeitsspeichers beibehalten.
Zugehörige Themen