DXGI_STATUS_OCCLUDED tritt nie auf

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
Benutzeravatar
Krishty
Establishment
Beiträge: 8295
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

DXGI_STATUS_OCCLUDED tritt nie auf

Beitrag von Krishty »

Hi,

Ist es normal, dass IDXGISwapChain::Present() immer S_OK zurückgibt? Selbst, wenn ich das Fenster verdecke oder die Client-Area voll aus dem Bildschirmbereich rausbewege? Es wird mir niemals als verdeckt gemeldet, egal, was ich tue … kann das jemand reproduzieren? (DirectX SDK February 2010, DXGI 1.1 unter Vista x64)

Gruß, Ky
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: DXGI_STATUS_OCCLUDED tritt nie auf

Beitrag von Aramis »

Hast du mal getestet inwieweit AERO darauf einen Einfluss hat? Prinzipbedingt dürfte bei AERO ein Fenster nicht durch andere 'verdeckt' sein können.
Benutzeravatar
Krishty
Establishment
Beiträge: 8295
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: DXGI_STATUS_OCCLUDED tritt nie auf

Beitrag von Krishty »

Aramis hat geschrieben:Hast du mal getestet inwieweit AERO darauf einen Einfluss hat? Prinzipbedingt dürfte bei AERO ein Fenster nicht durch andere 'verdeckt' sein können.
Mir fiel das erstmals letzte Nacht ohne Aero (Camel-Case ;) ) auf, da dachte ich: „Okay, ohne DWM läuft DXGI vielleicht beschnitten …“. Heute habe ich es nochmal mit Aero probiert, und wieder nichts.

Prinzipiell können Anwendungen auch unter Aero verdeckt sein – z.B. wird das Compositing automatisch deaktiviert, sobald eine andere Anwendung maximiert wird. Ich weiß nicht mehr, in welchen Fällen genau der Occluded-State eintritt – aber ich weiß genau, dass ich es bei meinem letzten DXGI-(1.0-)Projekt sehr einfach provozieren konnte. Jetzt hingegen bekomme ich immer nur S_OK, so sehr ich mich auch bemühe, das Fenster zu verdecken.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Antworten