AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

DirectX LayeredWindow

Ein Thema von EWeiss · begonnen am 2. Aug 2011 · letzter Beitrag vom 2. Aug 2011
Antwort Antwort
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#1

AW: DirectX LayeredWindow

  Alt 2. Aug 2011, 19:05
Wo stammt das her? Was ist das im Hintergrund? Woher weisst du, dass es ein Layered Windows ist? Was für ein OS? Wie ist dessen GUI konfiguriert? Welche Grafikkarte? (Manch kleinere Modelle müssen für zu hohe Featuresets von DX auf Softrendering zurückgreifen, was ggf. einen Einfluss haben könnte)... Die Informationslage ist einfach sehr dünn bei dir
Und letztendlich kannst du es doch einfach auch mal konkret ausprobieren! Dann dürften sich deine Fragen vom Anfang doch recht eindeutig lösen lassen - ein Layer für ein Fenster zu machen, und sei es erstmal mit einem Testbutton drauf, sollte recht fix gehen denke ich doch.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: DirectX LayeredWindow

  Alt 2. Aug 2011, 19:43
Wo stammt das her? Was ist das im Hintergrund? Woher weisst du, dass es ein Layered Windows ist? Was für ein OS? Wie ist dessen GUI konfiguriert? Welche Grafikkarte? (Manch kleinere Modelle müssen für zu hohe Featuresets von DX auf Softrendering zurückgreifen, was ggf. einen Einfluss haben könnte)... Die Informationslage ist einfach sehr dünn bei dir
Und letztendlich kannst du es doch einfach auch mal konkret ausprobieren! Dann dürften sich deine Fragen vom Anfang doch recht eindeutig lösen lassen - ein Layer für ein Fenster zu machen, und sei es erstmal mit einem Testbutton drauf, sollte recht fix gehen denke ich doch.
Ich wollte das im Vorfeld klären warum soll ich mir die Arbeit mit DX machen wenn ich nachher feststellen muss das es nicht geht.
Das im Hintergrund ist Milkdrop2 das Fenster davor ist von meinem VMPiano das ist garantiert Layered (sonst könntest du Milk dahinter gar nicht sehen).
Ich habe es aber mal mit meiner DLL getestet (Normales Layered Window)

Theoretisch würde es ohne Flackern gehn das problem ist nur das man ein Layered Window nicht als Parent(Child) einfügen kann.
Das Layered Window wird dann sofort beendet ... und somit hat sich das hier auch erledigt da es für mich
anders nicht wirklich einen Sinn macht(das Fenster läßt sich nicht ONTOP halten).

bsp. Milkdrop2 im VollBildschirm (ist in DirectX geschrieben)

Hier noch ein Bild von TuneClipper
Aber wie schon gesagt das ist kein Parent sondern ein überlagertes Layered Window.
Und es flackert auch hier nichts.

gruss

Geändert von EWeiss (11. Jul 2019 um 15:40 Uhr)
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#3

AW: DirectX LayeredWindow

  Alt 2. Aug 2011, 20:01
Hier sieht man auch, dass du in der Tat Aero an hast. Das macht einen großen Unterschied, da dann Windows intern die DX-Surfaces auch der GDI durchreicht, und sowas dann geht. Merkte ich bei einem Progrämmchen, dass Screenshots eines D3D Spiels gemacht hat, und zwar einfach via GetDC(hwnd): Unter Win7/Aero ging das, unter WinXP gabs ein schwarzes Bild. Ich frag sowas ja nicht umsonst.

Dass es im Vollbildmodus dann nicht mehr geht ist auch verständlich, da dann das D3D Device volle Kontrolle bekommt, und Aero quasi "suspended" ist, welches sonst die Windowed-Targets umleitet und ich sich selbst als Surface einbindet und darstellt (und somit der API zur Verfügung stellen kann). Mich würde daher mal interessieren, wie sich dein Layer ohne Aero, bzw. unter WinXP verhält. Theoretisch müsste zumindest letzteres mindestens Flackern.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: DirectX LayeredWindow

  Alt 2. Aug 2011, 20:03
Hier sieht man auch, dass du in der Tat Aero an hast. Das macht einen großen Unterschied, da dann Windows intern die DX-Surfaces auch der GDI durchreicht, und sowas dann geht. Merkte ich bei einem Progrämmchen, dass Screenshots eines D3D Spiels gemacht hat, und zwar einfach via GetDC(hwnd): Unter Win7/Aero ging das, unter WinXP gabs ein schwarzes Bild. Ich frag sowas ja nicht umsonst.

Dass es im Vollbildmodus dann nicht mehr geht ist auch verständlich, da dann das D3D Device volle Kontrolle bekommt, und Aero quasi "suspended" ist, welches sonst die Windowed-Targets umleitet und ich sich selbst als Surface einbindet und darstellt (und somit der API zur Verfügung stellen kann). Mich würde daher mal interessieren, wie sich dein Layer ohne Aero, bzw. unter WinXP verhält. Theoretisch müsste zumindest letzteres mindestens Flackern.
Danke für deine ausführlichen Informationen
Kann das gerne mal testen für dich wenn da Interesse besteht.

Sage gleich bescheid.

PS:
Nein Flackert nicht während das Movie läuft. (WinXP)
Nur einmal kurz wenn es beendet. (kann aber auch an meinen Augen liegen)

gruss

Geändert von EWeiss ( 2. Aug 2011 um 20:14 Uhr)
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#5

AW: DirectX LayeredWindow

  Alt 2. Aug 2011, 21:16
Ui, dann habe ich das unterschätzt! Danke dir. Dann wär's ja zumindest im Windowed-Mode wirklich eine Alternative!
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: DirectX LayeredWindow

  Alt 2. Aug 2011, 23:12
Ui, dann habe ich das unterschätzt! Danke dir. Dann wär's ja zumindest im Windowed-Mode wirklich eine Alternative!
Jo..
aber witklich weiterhelfen tut das auch nicht da im VollBild wie schon
besprochen das DXFenster immer im vordergrund ist.
Da Mediaportal immer im VollBild läuft (Standart) wird das dann auch nix.

gruss
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz