Multiple-Monitor-Vorgänge (Direct3D 9)
Wenn ein Gerät in Vollbildvorgängen erfolgreich zurückgesetzt (IDirect3DDevice9::Reset) oder erstellt wurde (IDirect3D9::CreateDevice), wird das Direct3D-Objekt, das das Gerät erstellt hat, als Besitzer aller Adapter auf diesem System markiert. Dieser Zustand wird als exklusiver Modus bezeichnet, und das Direct3D-Objekt besitzt den exklusiven Modus. Der exklusive Modus bedeutet, dass geräte, die von einem anderen Direct3D-Objekt erstellt wurden, weder Vollbildvorgänge annehmen noch Videospeicher zuweisen können. Wenn ein Direct3D-Objekt den exklusiven Modus annimmt, werden außerdem alle Geräte außer dem, das im Vollbildmodus ausgeführt wurde, in den Zustand "Verloren" versetzt. Weitere Informationen finden Sie unter Verlorene Geräte (Direct3D 9).
Zusammen mit dem exklusiven Modus wird das Direct3D-Objekt über das Fokusfenster informiert, das vom Gerät verwendet wird. Der exklusive Modus wird freigegeben, wenn das endgültige Vollbildgerät, das sich im Besitz dieses Direct3D-Objekts befindet, entweder in den Fenstermodus zurückgesetzt oder zerstört wird.
Geräte können in zwei Kategorien unterteilt werden, wenn ein Direct3D-Objekt den exklusiven Modus besitzt. Die erste Kategorie von Geräten weist die folgenden Merkmale auf.
- Sie werden von demselben Direct3D-Objekt erstellt, das das Gerät im Vollbildmodus erstellt hat.
- Sie verfügen über das gleiche Fokusfenster wie das Gerät im Vollbildmodus.
- Sie stellen einen anderen Adapter als jedes Vollbildgerät dar.
Geräte in dieser Kategorie haben keine Einschränkungen hinsichtlich ihrer Fähigkeit, zurückgesetzt oder erstellt zu werden, und sie werden nicht in den Zustand verloren versetzt. Geräte dieser Kategorie können sogar in den Vollbildmodus versetzt werden.
Geräte, die nicht in die erste Kategorie fallen – Geräte, die von einem anderen Direct3D-Objekt erstellt wurden, mit einem anderen Fokusfenster erstellt wurden und für einen Adapter mit einem Gerät erstellt wurden, das bereits im Vollbildmodus ausgeführt wurde – können nicht zurückgesetzt werden und verbleiben in verlorenem Zustand, bis der exklusive Modus verloren geht. Daher kann eine Anwendung mit mehreren Monitoren mehrere Geräte im Vollbildmodus platzieren, aber nur, wenn alle diese Geräte für unterschiedliche Adapter sind, von demselben Direct3D-Objekt erstellt wurden und dasselbe Fokusfenster gemeinsam nutzen.
Zugehörige Themen