AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi PC auf Vista Kompatibilität testen (Pixel Shader 2.0)
Thema durchsuchen
Ansicht
Themen-Optionen

PC auf Vista Kompatibilität testen (Pixel Shader 2.0)

Ein Thema von Alex_kfm · begonnen am 23. Jan 2007 · letzter Beitrag vom 26. Jan 2007
Antwort Antwort
Seite 1 von 2  1 2      
Alex_kfm

Registriert seit: 6. Sep 2006
37 Beiträge
 
Delphi 2007 Professional
 
#1

PC auf Vista Kompatibilität testen (Pixel Shader 2.0)

  Alt 23. Jan 2007, 13:36
Hallo,

ich habe das Forum rauf- und runter durchsucht, doch für mein Problem keine Lösung gefunden. Daher muss ich euch jetzt mal belästigen.

Ich würde gern ein kleines Tool zur Ermittlung der Vista-Tauglichkeit eines PCs erstellen. Das Programm soll nicht kompliziert sein und nur für jeden entscheidenden Punkt OK oder nicht OK ausgeben. Ein PC ist Vista kompatibel wenn er:

- min. 1 GHz CPU (besser 2 GHz)
- min 512 MB RAM
- DirectX 9 kompatible Grafikkarte mit Unterstützung für Pixel Shader 2.0 und 32 Bit pro Pixel.

… hat, recht grob gesagt. Mein Problem ist die Überprüfung der Grafikkarte. Ich habe die WMI Bibliothek durchsucht und auch die Online-Hilfe zu Delphi durchforstet, nirgends eine Möglichkeit den unterstützen Level des Pixel Shaders auszulesen. Zudem habe ich von DirectX keine Ahnung.

Hat jemand eine Idee, wie ich an diese Info kommen kann? Ich fand bisher keine konkrete Info, wie und wo man diese Info auslesen kann.

Gruß und Danke,
Alex
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#2

Re: PC auf Vista Kompatibilität testen (Pixel Shader 2.0)

  Alt 23. Jan 2007, 13:45
Zitat von Alex_kfm:
Ich habe die WMI Bibliothek durchsucht und auch die Online-Hilfe zu Delphi durchforstet, nirgends eine Möglichkeit den unterstützen Level des Pixel Shaders auszulesen. Zudem habe ich von DirectX keine Ahnung.
Hi

Also um das ganze ueber DirectX zu loesen brauchts nicht viel. Eigentlich lediglich die Header fuers IDirect3D9-Interface. Das enthaelt naemlich die Funktion MSDN-Library durchsuchenGetDeviceCaps, die dir eine Struktur namens MSDN-Library durchsuchenD3DCAPS9 fuellt, in der es wiederum eine Eigenschaft MSDN-Library durchsuchenPixelShaderVersion gibt. Dort steht dann drinnen, welche PS-Version die Grafikkarte maximal unterstuetzt.

Dem ist allerdings noch hinzuzufuegen: PS2.0 ist die Anforderung fuer Aero, nicht fuer Vista. Generell laesst sich Vista wahrscheinlich auf der selben Hardware[*] wie XP installieren.

greetz
Mike
[*]Von der Festplattenkapazitaet abgesehn
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Alt 23. Jan 2007, 13:45     Erstellt von sakura
Dieser Beitrag wurde von sakura gelöscht. - Grund: Ich war zu blöd richtig zu lesen :roll:
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: PC auf Vista Kompatibilität testen (Pixel Shader 2.0)

  Alt 23. Jan 2007, 13:47
Dx bietet die möglichkeit die Eigenschaften der Karte abzufragen, damit musst du abfragen welche Shaderversion die Karte kann. Schau dich mal im DxSDK um, ich glaube da war ein C-Beispile dabei um die Eigenschaften auszulesen

// oder das Tool von Ms oder von ATI nehmen
André
"A programmer is just a tool which converts caffeine into code", daran wirds wohl liegen, dass ich Abends nie pennen kann

Zitat von Luckie:
Nicht nur dass ihr offtopic geworden seid, jetzt werdet ihr selber im Offtopic noch offtopic
  Mit Zitat antworten Zitat
RobertP

Registriert seit: 19. Aug 2006
181 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: PC auf Vista Kompatibilität testen (Pixel Shader 2.0)

  Alt 23. Jan 2007, 14:12
Btw son Programm gibts schon von Microsoft
Robert
  Mit Zitat antworten Zitat
Alex_kfm

Registriert seit: 6. Sep 2006
37 Beiträge
 
Delphi 2007 Professional
 
#5

Re: PC auf Vista Kompatibilität testen (Pixel Shader 2.0)

  Alt 23. Jan 2007, 14:13
Hallo JasonDX,

erst einmal vielen Dank für die schnelle und ausführliche Hilfe. Das hört sich schon einmal gut an. Zwei Fragen hab ich da aber noch. Ich bin noch Delphi Anfänger, entschuldige also die etwas „grundlegenden“ Fragen

- Woher bekomme ich die Header fürs IDirect3D9-Interface, die C-Header aus dem Microsoft SDK werden wohl nicht gehen…
- Hast du vielleicht ein Delphi Beispiel parat, wo man den Aufruf von solchen DirectX Aufrufen mal sehen kann?

Bei den Anforderungen hast du natürlich recht, ich meinte auch die Kompatibilität mit Aero.

Gruß,
Alex
  Mit Zitat antworten Zitat
Alex_kfm

Registriert seit: 6. Sep 2006
37 Beiträge
 
Delphi 2007 Professional
 
#6

Re: PC auf Vista Kompatibilität testen (Pixel Shader 2.0)

  Alt 23. Jan 2007, 14:16
Zitat von MrPayne:
Btw son Programm gibts schon von Microsoft
Stimmt, von ATI auch. Doch ich will nur eine kleine Anwendung ohne überladene Informationen. Wie ne Ampel: Passt, passt evtl., passt nicht.
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#7

Re: PC auf Vista Kompatibilität testen (Pixel Shader 2.0)

  Alt 23. Jan 2007, 14:31
Zitat von Alex_kfm:
Woher bekomme ich die Header fürs IDirect3D9-Interface, die C-Header aus dem Microsoft SDK werden wohl nicht gehen…
Nein, da hast du Recht, mit den C-Headern kann man unter Delphi nicht allzuviel anfangen. Es gibt aber Leute, die sich die Muehe gemacht haben, die Header zu uebersetzen. Eine Version davon findest du hier.
Zitat von Alex_kfm:
Hast du vielleicht ein Delphi Beispiel parat, wo man den Aufruf von solchen DirectX Aufrufen mal sehen kann?
Nein, leider nicht. Die DX-Quellcodes die ich hier hab sind entweder C oder C#, aber es sollte eigentlich ziemlich dem entsprechen:
Delphi-Quellcode:
function SupportsPS2(): boolean;
var
  D3D: IDirect3D9;
  Caps: D3DCAPS9;
begin
  D3D := Direct3DCreate9(D3D_SDK_VERSION);
  if (Failed(D3D.GetDeviceCaps(0, D3DDEVTYPE_HAL, Caps))) then
    result := false
  else
    result := (Caps.PixelShaderVersion and $FFFF) >= $0200;
  D3D.Release();
end;
greetz
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
RainerO

Registriert seit: 25. Sep 2006
Ort: Duisburg
17 Beiträge
 
Delphi 2007 Professional
 
#8

Re: PC auf Vista Kompatibilität testen (Pixel Shader 2.0)

  Alt 23. Jan 2007, 14:32
Hi,

ich hab da noch ein wenig Code gefunden, der das Shadermodell abfragt, leider weiss ich nicht genau, wo der herkommt, kann also keinen Dank einfügen. Wenn ich mich recht erinnere (ich hab den code benutzt, um auf Kundenrechnern die Hardware zu testen), kann es ein paar fehler geben, die nicht abgefragt werden, muss also getestet werden. Code mit Beispiel im Anhang.

ciao

ups - das mit dem Anhang muss ich noch üben..
Angehängte Dateien
Dateityp: zip shadertest_188.zip (42,3 KB, 15x aufgerufen)
Rainer Osselmann
  Mit Zitat antworten Zitat
RainerO

Registriert seit: 25. Sep 2006
Ort: Duisburg
17 Beiträge
 
Delphi 2007 Professional
 
#9

Re: PC auf Vista Kompatibilität testen (Pixel Shader 2.0)

  Alt 23. Jan 2007, 14:41
Ergänzung - ein Prob war auf jeden Fall, wenn auf dem PC KEIN direkt3d9 installiert war
Rainer Osselmann
  Mit Zitat antworten Zitat
Alex_kfm

Registriert seit: 6. Sep 2006
37 Beiträge
 
Delphi 2007 Professional
 
#10

Re: PC auf Vista Kompatibilität testen (Pixel Shader 2.0)

  Alt 24. Jan 2007, 10:30
Hallo JasonDX und RainerO,

euch beiden noch einmal einen besonders herzlichen Dank. Ihr habt mich auf den richtigen Weg gebracht. Es scheint zu funktionieren, werde jetzt erst einmal zusehen, dass ich die Abrage auf möglichst vielen PCs teste.. bei den meisten meiner alten PCs und natürlich im VMware gibts eine Pixel Shader Version 0.0

Das mit dem DirectX 9 ist klar. Ich werde mal zusehen, dass ich vorher abfrage, ob die richtige DirectX Version überhaupt installiert ist. Weiss jemand zufällig auf die Schnelle, wie man das am sinnvollsten macht? Ich könnte ja auf das Vorhandensein der d3dx9.dll prüfen, doch das scheint mir eine wenig saubere Methode zu sein.

Gruß und Danke,
Alex
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:25 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