Grafikkartenname mit directx7



  • hallo, ich möchte mit directx7 ausgaben welche Grafikkarte angeschlossen ist. Die Enumeration klappt ganz gut. Ich kann aber den Namen nicht ausgeben.

    z.B. ATI 3DRage Pro oder nVidia RivaTNT oder sonst was.

    Ich habe es mit LPSTR strName versucht. Dieses wird bei der Enumeration der Grafikkarte übergeben da steht nur "primary" drin. In der Doku habe ich nichts gefunden. Wer kann mir helfen.



  • Hi,

    EDIT: Ups DX7 🙂

    Wenn ich mich recht entsinne hat die Methode IDirect3D7::EnumDevices als ersten Parameter eine Callback Funktion. Diese erhält von D3D automatisch im ersten Parameter den Namen des Devices. Den musst Du für jedes enumerierte Device speichern.

    Ciao,
    Stefan

    [ Dieser Beitrag wurde am 22.02.2003 um 08:39 Uhr von Stefan Zerbst editiert. ]



  • Ich habe es jetzt mit beiden Funktionen versucht.

    DirectDrawEnumerateEx()
    EnumDevice()

    beide übegeben an die Callback-Funktion ein

    LPSTR strDesc
    und

    LPSTR strName

    in keinem Fall steht in diesen Einträgen der Name der Grafikkarte.

    Es stehen so Sachen wie "primary" "primary Driver (oder so)" "RGB Device" "Direct3DHAL Microsoft... (oder so)"



  • Hi,

    dann schau Dir mal die Samples aus dem SDK an und das Framework des 7'ner. Dort wird der Name so weit ich weiss auch mit ausgegeben.

    ciao,
    Stefan



  • Also, bei mir gibt ungefähr jedes Spiel mal primary, mal Radeon 8500 aus. In den D3D-Samples konnte ich typischerweise zwischen diesen beiden Adaptern wählen, obwohl es natürlich derselbe ist. Mit den aktuellen Treibern hingegen erscheint nur noch der korrekte Name. Ist das also vielleicht ein Treiber-Problem?



  • Das nehme ich jetzt auch an. Ich habe kein Beispiel im SDK gefunden das bei mir den Namen der Grafikkarte ausgibt. Nicht RGB Device oder Direct3DHAL sondern den Namen z.B. RIVA TNT2 oder so.


Anmelden zum Antworten