Grafikkarten Speicher
Übersicht

blitzgamer2000Betreff: Grafikkarten Speicher |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Jedes Bild, das ich mit Loadimage Lade wird doch im Grafikkartenspeicher gespeichert oder?
Was passiert wenn der Speicher voll ist? Wie groß ist das Bild im speicher, wenn es sich um eine Bmp datei handelt? |
||
Online Space Shooter V.1 90%
RPG Game V.1 40% RPG Map Editor V.3 100% |
![]() |
Spikespine |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo.
Schau dir mal den Befehl ql:AvailVidMem an. Er ermittelt den zur verfügung stehenden Grafikspeicher. Damit kannst du natürlich auch den Grafikspeicherverbrauch deiner Bilder anschauen, indem du die Differenz aus dem Grafikspeicher nach und vor dem Laden bildest. |
||
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Welches Format das Bild hat ist für die GraKa vollkommen egal.
Dort werden die Bilder immer nur in einem PixelArray gespeichert. Ob das nun ein BMP,PNG oder JPG war, kann man dann nichtmehr erkennen. |
||
![]() |
Der Wanderer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Der Verbrauch ist Höhe*Breite*BytesProPixel.
wobei BytesProPixel typischerweise 3 (RGB) oder 4 (ARGB) ist. Wenn nicht genug Speicher da ist, wird vermutlich geswapped. Wobei ich auch vermute, dass die Bilder nicht im Graka speicher liegen, denn dann wird es schwierig mit Effekten, dafür müsste man von Graka wieder lesen, und das ist elend langsam bei AGP, wobei schreiben auf Graka sehr schnell ist. Aber wie es in Blitz genau gemacht ist weiss ich nicht. |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
1. bilder landen nicht im Grafikspeicher. Nur Texturen und auch diese landen beim Laden nur dort, wenn sie mit der VRAM Flag geladen werden (in diesem Falle verbleiben sie auch die ganze Zeit dort, was texturen sonst nicht tun).
Ansonsten ist eine Textur nur im Grafikspeicher wenn sie gerendert wird (oder bei einem vorherigen Rendern gebraucht wurde und seither nichts anderes den Speicher brauchte) Ansonsten sind Texturen im SystemRAM, denn DX sendet nur die Texturen in den VRAM die dort gebraucht werden. 2. Wenn mehr VRAM zum rendern benötigt wird, als vorhanden ist, dann bekommst du einen Memory Access Violation. 3. Grösse im Grafikspeicher: Wie schon bemerkt, immer Höhe * Breite * Farbtiefe des Grafikcontexts (also 2 oder 4 byte). Eine 512x512 Textur ist bei 32Bit 1MB VRAM gross. Hoffe das hilft dir und beantwortet alle deine Fragen |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
AMY |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ Dreamora
bei 2tens liegst du falsch. Wenn du zu wenig VRam hast wird der normale RAM benutzt. Und wenn der normale RAM voll ist wird es in der Windows auslagerungsdatei ausgelagert. die unter c:\pagefile.sys zu finden ist. (versteckte systemdatei) |
||
Projekte: www.amyscbi.de
I never comment my sourcecode. What's HARD to write must be HARD to read! |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das wird zum halten der Texturen benutzt.
Aber zum Rendern der Szene müssen die Texturen explizit in den VRAM passen, sonst gibts MAV weil die GPU nur auf Daten im VRAM zugreifen kann. Aber mit Blitz 1.97 sollte das dank DDS support nu wirklich kein Problem mehr sein ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group