Mehrere Overlays mit DirectDraw (MultiMonitor)

Jeehaa

Grünschnabel
Hi,

ich habe eine Frage zu DirectDraw, Surfaces und wie man mit mehreren Monitoren umgeht.
Ich würde gerne je Monitor ein DiretDraw Objekt erzeugen und dann auf jedem Monitor ein Overlay Fesnter anzeigen.
Für den ersten Monitor funktioniert das auch noch.
Wenn ich dann für das zweite DirectDraw Objekt UpdateOverlay ausführe, dann bekomme ich einen Fehler --> DDERR_GENERIC
Ich weiß nicht warum. Ist es nicht zulässig zwei Overlay gleichzeitig anzuzeigen?

Ich denke die Frage ist an DirectDraw Experten gerichtet. Wenn etwas mehr Kontext oder QUelltext benötigt wird kann ich dies gerne liefern.

Vielen Dank
 
Hast du die CAPS geprüft, ob deine Hardware das kann (mehrere Overlays)?

IDirectDraw::GetCaps hat unter anderem dwMaxVisibleOverlays.

Zusätzlich kann es Größenbeschränkungen geben (auch über die CAPS abfragbar), so dass Position/Breite/Höhe ein Vielfaches einer angegebenen Konstante sein müssen.
 
Hallo Jeehaa

Gibt es einen speziellen Grund wieso du ein so völlig altes System verwenden möchtest? Auf vielen Systemen wird dies nämlich nicht mehr laufen, auf meinem Windows 8 Rechner zum Beispiel ist es gar nicht mehr möglich DirectDraw zu verwenden.

Viele Grüsse
Cromon
 
Die Caps werde ich mal prüfen. Was ist die Alternative zu DirectDraw? Direct3D? Die Lösung soll natürlich auch kompaitbel mit den neuesten Betriebssystems ein, ergo Win8
 
Laufen tun auf Win8 beide (Direct3d und DirectDraw).
Worauf Cromon vermutlich rauswollte: Die ganzen Grafiktreiber haben die Hardwareunterstützung von DirectDraw ziemlich zurückgefahren, da ist kaum noch etwas beschleunigt.

Overlays gibt es meines Wissens nach aber nur in DirectDraw.

Was willst du denn machen?
 
Das Ziel ist es ein Overlay über alle angeschlossenen Bildschirme zu legen. Mit einem Hinweistext für den Benutzer. Einzelne transparente Fenster sind eigentlich keine Alternative, da dies den Ablauf des Rests meines Programms beeinflussen würde und zu große Umbauten zur Folge hätte
 
Zurück