[Erledigt] Grafikspeicher auslesen mit AvailVidMem() und ...

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Commander Keen

Betreff: [Erledigt] Grafikspeicher auslesen mit AvailVidMem() und ...

BeitragFr, Sep 09, 2016 17:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Print"Graphikspeicher insgesamt: " + TotalVidMem() / 1024 + " KB"
Print "Graphikspeicher frei : " + AvailVidMem() / 1024 + " KB"
WaitKey


BlitzMax meldet, die Befehle nicht zu kennen Sad. Gibt dafür eine Alternative wie ich die aktuelle Grafikkspeicher aus lesen kann?
Commander Keen
  • Zuletzt bearbeitet von Commander Keen am Di, Sep 13, 2016 10:41, insgesamt einmal bearbeitet

BladeRunner

Moderator

BeitragFr, Sep 09, 2016 21:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich fürchte es gibt da kaum Möglichkeiten. Unter DX gibt es zwar eine Möglichkeit sich GPU-Memory und Nutzung anzeigen zu lassen, aber leider gibt das meist ungenaue und oft sogar falsche Daten zurück, weil die meisten Grafikkarten da einfach nur Murks melden. Das Problem hatte übrigens Blitzbasic auch, es nutzt nämlich eben diese DX-Funktionen.
OpenGL sieht gar nicht erst eine Abfrage vor, womit du dir bestenfalls unter Windows eine Krücke basteln könntest, von der Du nie wüsstest ob sie denn wirklich das Richtige zeigt.

Daher meine Frage: Wofür würdest Du diese Anzeige denn brauchen - oder glaubst sie zu benötigen?

IdR. ist der Bedarf den deine Anwendung hat recht statisch und lässt sich vorher schon ermitteln, bzw. gut schätzen:
Jede Grafik die Du einlädst, wird unkomprimiert in einer Power-of-Two-Textur abgelegt.
Ein Bild von 260*125 Pixeln hätte also 512 (260 aufgerundet zur nächsten 2er-Potenz)*128(ebenso)*4 (RGBA mit je 8 Bit) Byte Speicherbedarf.
Je nach Treiber könnte es noch sein dass die Textur Quadratisch ausgelegt wird, also dann 512*512*4 Byte braucht. Ich würde immer vom Maximalverbrauch ausgehen.
Damit kannst Du abschätzen wieviel Du einladen kannst bevor die GPU (selbstständig, ohne dein zutun) die Grafikdaten zu streamen beginnt, was einen Performance-Verlust bedeutet.

Also: Meist musst Du dich nicht wirklich kümmern, daher wäre der konkrete Anlass wissenswert.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Commander Keen

BeitragDi, Sep 13, 2016 10:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Dake für die Antwort und habe zur Kentniss genommen.
Commander Keen

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group