Grafikspeicher und Auslastung GPU/MCU/VPU auslesen

  • Guten Abend,

    ich möchte ein Tool schreiben mit dem ich die Auslastung verschiedener Komponenten auslesen kann, damit man direkt sehen kann, welche Komponente limitiert.

    CPU konnte ich hier schon finden, als ich das mit "WMI" gelesen habe konnte ich mir über msdn auch die Informationen organisieren, die mir Aufschluss über den Arbeitsspeicher geben.

    Das funktioniert soweit auch.

    Zum Grafikspeicher, erst einmal für Nvidia Karten, habe ich folgendes gefunden:
    http://www.geeks3d.com/20100531/progr…sage-in-opengl/
    http://developer.download.nvidia.com/opengl/specs/G…memory_info.txt

    Hier und auf Autoitskript habe ich dann auch udfs für opengl gefunden:
    Autoit

    Spoiler anzeigen
    [autoit]

    Func glGetIntegerv($pname, $params)
    DllCall("opengl32.dll", "none", "glGetIntegerv", "uint", $pname, "dword", $params)
    EndFunc ;==>glGetIntegerv

    [/autoit]


    Autoitskript

    Spoiler anzeigen
    [autoit]

    Func _glGetIntegerv($pname, ByRef $params)
    DllCall( 'opengl32.dll', 'none', 'glGetIntegerv', _
    'uint', $pname, _
    'ptr', DllStructGetPtr( $params))
    EndFunc

    [/autoit]

    Laut dem oben genannten Link, müsste ich das Ganze ja mit 0x9048 / 0x9049 und 0 callen, funktioniert nur nicht...
    Version[Autoit.de] -> Array mit [0, 0x904., 0], Version[Autoitskript.com] -> nichts, @error bei beiden 0
    Leider kenne ich mich allem was mit DLL.. zu tun hat absolut nicht aus.
    Jetzt habe ich weiter gesucht und das hier gefunden:
    http://www.opengl.org/wiki/FAQ#How_D…k_On_Windows.3F
    Könnte es sein, dass diese Funktion eine höhere Version, von Opengl, als 1.1 benötigt?

    Zur Auslastung der GPU / MCU / VPU finde ich einfach nichts...

    Ich würde mich über eine Antwort sehr freuen.

    Schöne Grüße
    Jason

  • Nach weiterem Suchen, http://msdn.microsoft.com/en-us/library/…7(v=vs.85).aspx die Funktion scheint nicht mit dabei zu sein und in der Info dazu steht auch "OpenGL 2.0" required. (Tja wer lesen kann ist klar im Vorteil)

    Jetzt habe ich gesucht und gesucht...
    http://www.swiftless.com/tutorials/opengl/window.html

    Damit soll es unter anderem evt möglich sein "... easy to use calls to OpenGL extensions, without us having to declare the dll entry points...". Hört sich auf jeden Fall so an, wenn man den Link zu opengl.org liest. Auf Autoit.de (also hier) habe ich auch diesen Thread gefunden Au3GLPlugin(AutoIt OpenGL Plugin) in dem die oder eine Glut.dll genutzt wird. Das Skript funktioniert bei mir nur absolut nicht...

    Edit:
    Achja, wglGetProcAddress soll ja benutzt werden um die Funktionen über 1.1 zu laden, ist nur nicht in der normalen Doku zur DLL vorhanden -> WinApi Funktion
    http://msdn.microsoft.com/en-us/library/…6(v=vs.85).aspx

    Edit2:
    Hier ist ein Beispiel mit Glut in cpp, nur leider verstehe ich es nicht direkt http://oglshow.googlecode.com/svn-history/r3…glut_viewer.cpp

    Ich würde mich über eine Antwort oder Hilfe wirklich freuen.

    Schöne Grüße
    Jason

    4 Mal editiert, zuletzt von Jason (27. September 2012 um 00:12)