AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi TDXDraw (DirectDraw DirectX 7) und Semi-Transparenz
Thema durchsuchen
Ansicht
Themen-Optionen

TDXDraw (DirectDraw DirectX 7) und Semi-Transparenz

Ein Thema von hoika · begonnen am 23. Jun 2011 · letzter Beitrag vom 23. Jun 2011
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#1

TDXDraw (DirectDraw DirectX 7) und Semi-Transparenz

  Alt 23. Jun 2011, 10:16
Hallo #,

ich arbeite mit obiger Komponete (DXDraws.pas usw.)
Ich möchste dabei Semitransparenz benutzen.
Die Methode DrawAlpha funktioniert zwar,
ist aber grottenlahm.

Das liegt daran, dass sie die Grafiken aus der GK zieht,
lokal (per Prozessor) bearbeitet
und wieder zurückschiebt.
Es kommen also keine GK-Befehle um Einsatz.

Ich habe hier mehrere Programme, die die Komponente benutzen,
die will und kann ich nicht alle auf neueres DirectX umstellen.

Gibt es eine andere Möglichkeit für Semi-Transparenz ?
Hat jemand einen Tip / ein paar Links für mich.


Danke
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Daniela.S
Daniela.S

Registriert seit: 1. Mär 2008
Ort: Niederösterreich
224 Beiträge
 
Delphi XE4 Enterprise
 
#2

AW: TDXDraw (DirectDraw DirectX 7) und Semi-Transparenz

  Alt 23. Jun 2011, 10:34
Soweit ich mich noch erinnern kann und du richtig geschrieben hast, verwenden die Klassen von Horiyuki wüste ASM Routinen, die die Transparenz berechnen. Die Klassen sind schon recht alt und nur bis Delphi 7 verfügbar. Auf der GPU wird hier nichts berechnet und ist auch so ohne weiteres nicht möglich. Es gibt glaub ich in den Komponenten die Möglichkeit auf Systemspeicher umzuschalten. Wenn das Bild auf der Grafikkarte liegt, dann muss die auch noch zuerst übertragen werden. Eventuell wird es ein wenig schneller hier den Systemspeicher zu verwenden? Man könnte die ASM Routinen auch noch an MMX oder SSE anpassen, wird aber auch keinen immensen Geschwindigkeitsvorteil bringen.

Da ein Projekt von mir auch darauf angewiesen war, habe ich damals die Struktur der Klassen nachgebaut, aber auf DirectX9 mit 3D Funktionen die eine 2D Oberfläche imitieren, umgeschrieben. Somit wurden alle Berechnungen auf die GPU ausgelagert. Vorteil war den eigentlich Code kaum ändern zu müssen. Das ist aber auch schon Jahre her und inzwischen haben die kaum noch was damit gemeinsam.
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz