Frage

Das ist meine Frage ... Es gibt eine Möglichkeit zu überprüfen, wenn die Anwendung in DXGI (DX10 / 11) Vollbild ist weg. Für Vollbild geht meine ich, dass das System die Modusänderung durchgeführt hat. Denn ich brauche es für meine Anwendung Deadlock zu verhindern und das Timing anzupassen. (Ich habe einen multithreaded Motor und die Gegenwart ist nicht auf dem Meldungsverteilschleife Gewinde auf modenÄnderung verursacht Deadlock zufällig)) Eigentlich mache ich es 1 Sekunde warten weiterhin Nachrichten auf dem Nachrichtensystem Thread zu verarbeiten und es funktioniert, aber ich möchte etwas mehr DETERMINISTIC, die mir sagt: „Hey, die Modusänderung abgeschlossen ist, Sie befinden sich nun im Vollbild-Modus“. : D

Jede Idee?

War es hilfreich?

Lösung

Gibt es einen Grund, warum Sie nicht die Rendering- und Meldungsverteilschleife Fäden als dem selben Thread ausgeführt werden kann?

Nach der Dokumentation gibt es nichts, was Sie die Änderung sagt abgeschlossen ist.

Seltsam, aber verlässt sich DXGI auf den Antworten zurück von internen Sendmessage Anrufe bekommen (die über das Nachrichtensystem in einem Multithread-Umgebung auftreten). So sehe ich nicht, wie Sie Ihre Nachricht Pumpe verzögern behebt Probleme. Alles, was es tun wird, ist eine zusätzliche Sekunde, bevor Sie fortfahren warten machen DXGI seine Sachen zu tun. Ein Deadlock in der Regel bedeutet, dass Sie etwas tun, dass die Nachricht Pumpe verursacht für den Rendering Thread zu blockieren warten, etwas zu tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top