Ursachen für MAV

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Eingeproggt

Betreff: Ursachen für MAV

BeitragSa, Aug 18, 2007 18:55
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab schon wieder ein Problem Sad

Auf meinem PC läuft alles perfekt und wenn ich es jemandem anderen geb, hat er dauernd MAVs....
Ich hab leider keine Ahnung, warum.

Ich weiß, dass MAVs kommen, wenn
- Image does Not exist
- Array Index out of Bounds
- Bei WritePixelFast und ReadPixelfast außerhalb der Buffergröße
- Integer divided by zero ist glaub ich auch noch ein MAV

Wo noch? Ich find keine möglichen Fehlerquellen mehr...
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Xeres

Moderator

BeitragSa, Aug 18, 2007 18:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn der Jemand anders die Exe ausführt ohne den Ordner in dem sie liegt geöffnet zu haben...?
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Abrexxes

BeitragSa, Aug 18, 2007 19:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Falscher Zugriff auf Banks und Dims etc
 

flashmaxel

BeitragSo, Aug 19, 2007 8:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Texturen nicht quatratisch oder keine relativen Pfade verwendet?
Real C programmers never die; they cast to void.
 

Dreamora

BeitragSo, Aug 19, 2007 9:19
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn man mehr Texturen im aktuellen Screen anzeigen will, als in den VRAM passen. Gibt nen MAV mit Fehlerverweis auf RenderWorld()
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Eingeproggt

BeitragSo, Aug 19, 2007 14:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab vergessen zu sagen, dass ich in 2D arbeite. Kann der von Dreamora beschriebene Fehler auch bei 2D-Graphik eintreten, wenn sie nicht in den VRAM passt?

Ansonsten schonmal danke, ich hab einiges zum Testen / Überprüfen....
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9
 

FWeinb

ehemals "ich"

BeitragSo, Aug 19, 2007 14:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei manchen Graphik Karten Kanst du nur "Normale" Formate für eine Textur nehmen ich glaube Grade nVidia ist da sehr kleinlich da müssen doch alle Texturen immer Rechteckig sein also 32x32 64x64 128x128 Usw.
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs
 

Dreamora

BeitragSo, Aug 19, 2007 14:42
Antworten mit Zitat
Benutzer-Profile anzeigen
In 2D gelten einige der Dinge die hier genannt wurden nicht.
Die meisten Textureinschränkungen und Probleme entfallen, weil 2D keine Hardware Beschleunigung hat und drum auch nicht an Hardware Beschränkungen scheittert.

Was den VRAM betrifft, da bin ich mir nicht sicher ob die DirectDraw Surfaces nicht dennoch in den VRAM passen müssten.
Jedoch hast du in pure 2D weniger solcher Probleme weil du garkeine so grossen Grafiken verwenden kannst (oder überhaupt willst), dass du da an Problemgrenzen stösst, denn 500x500 grosse Bilder kannst du dir höchstens für den Hintergrund und ein paar ähnlich grosse Bilder leisten. (Im gezeichneten Zustand meine ich, was du lädst, ist irrelevant, da DX die Bilder im RAM hält und im VRAM ohnehin nur das endet, was effektiv notwendig ist)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

DrFreak339

BeitragSo, Aug 19, 2007 17:00
Antworten mit Zitat
Benutzer-Profile anzeigen
also das problem mit nvidia karten und nicht x^2 dimensionierten bildern in 2d-modus hatte ich auch. wenn ein bild zB 400x400 oder so war, gabs IMMER nen mav mit "image does not exist" -> bild auf zB 512x512 machen, denn gehts.. Sad
 

Dreamora

BeitragSo, Aug 19, 2007 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Spontan: Du hattest ne 6600GT? Smile (die sind ein extremer Problemfall, neue Treiber sollten das aber eigentlich beheben)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

DrFreak339

BeitragSo, Aug 19, 2007 17:45
Antworten mit Zitat
Benutzer-Profile anzeigen
ne, 6150 onboard, die wohl verbuggteste graka aller zeiten.. und: ich hatte die neusten treiber installiert
 

Dreamora

BeitragSo, Aug 19, 2007 18:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Urgs, ok damit hast du gewohnen ... Onboard Karten.
Naja die 6150 ist als Konkurrenz zur Intel GMA 950 angesetzt worden ... und ist auch ähnlich grottig ...
ABER: immerhin befolgt sie die DX7 spezifikationen, die schreiben nämlich ganz klar quadratisch und 2er Potenz vor (ist auch effizienter sie quadratisch zu haben, wie sicher viele mit GF5200 und Radeon 9000, 9100, 9200 bestätigen werden Smile )
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

DrFreak339

BeitragSo, Aug 19, 2007 19:44
Antworten mit Zitat
Benutzer-Profile anzeigen
naja.. sie befolgt nich alles, was DX7 vorschreibt, wie ich in dem "Devil Shadow System"-thread beschrieben hab -> zB keine cubemaps+enbm auf einer mesh. wahrscheinlich hat die graka noch mehr bugs, die mir eben noch nicht aufgefallen sind (und auch nicht mehr auffallen werden, da ich in den PC inzwischen ne x1300 pro eingebaut hab)

Eingeproggt

BeitragSo, Aug 26, 2007 21:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Dieser VidMem lässt mich nicht in Ruhe (und damit verbundene MAVs)

Also ich hab den Fehler bei meinem Freund noch nicht finden können, hab aber nen neuen Verdacht...

Hab es heute Abend geschafft, meinem PC einen MAV bei "LoadImage" zu entlocken. Schlicht und einfach, weil das Bild zu groß war, denk ich mal. Jetzt muss ich also (das muss ich sowieso Smile ) schauen, möglichst oft FreeImage und so zu benutzen... Leider hatte ich in diesem Thread Probleme damit: https://www.blitzforum.de/foru...ugem%FCllt

Damals tröstete ich mich, dass es auf diesen 1 MB nicht so ankommt, aber jetzt würd ich ihn doch gern wegkriegen.
(Für all die, die sich jetzt wundern, ob ich da meinem VRAM vergewaltige... Ja, ich teste die Grenzen mal gründlich aus und bin scheinbar an sie gestoßen.)

EDIT: Jetzt kapier ich gar nix mehr... 420MB AvailVidMem und trotzdem MAV bei "LoadImage"? (Der Pfad existiert wirklich, und wenn nicht würds den MAV ja erst beim Zeichnen geben)
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Eingeproggt

BeitragMo, Sep 03, 2007 11:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Sry, dass das ein Doppelpost wird, hatte eigentlich auf Antowrten gehofft. Nunja, ich hab "Neuigkeiten" in meinem Fall:
Mein Freund hat das Spiel nochmal getestet und jetzt gings. Der einzige Unterschied zu vorher ist nach seinen Angaben eine andere WinXP-Version. Kann das die Ursache sein? Ich mein BB läuft doch auf allen XP's?
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9
 

Dreamora

BeitragMo, Sep 03, 2007 11:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Bilder enden erst im RAM, net im VRAM, wie alles was geladen wird und nicht ne Textur mit TextureFlag 256 ist.

Speziell bei Bildern ist es so das sie primär im RAM sind und nur im VRAM, im Unterschied zu den Texturen.

Ausnahme ist hier nur die BlitzPlus Flag die es gibt bei LoadImage, die da ein wenig mehr Spielraum einräumt.

Und wie kommst du auf 1MB? Das wär dann 256x256 oder? weil die Grösse eines JPGs interessiert niemanden. 32Bit BMP Datei gibt dir die wahre Grösse an, sonst nix.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Eingeproggt

BeitragMo, Sep 03, 2007 11:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Auf den einen MB kam ich damals, weil ich nach jedem Neu-Laden mir den AvialVidMem anzeigen ließ. Der wurde trotz Freeimage, Delete, CloseFile,... bei jedem Mal um ca. 1 MB weniger.
(Hintergrundanwendungen waren eig nur WMP und alles, was Windows halt so treibt)

Aber wenn alles im Ram gehalten wird, wundert mich das schon etwas Question

Wie siehts mit dem Thema WinXP aus?

Danke zwischendurch mal Smile

EDIT: Das mit dem BMP ist mir bewusst. Die Graphiken sind dann riesengroß aufgebläht, aber passen alle noch locker in meinen RAM bzw VRAM.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9
 

Dreamora

BeitragMo, Sep 03, 2007 11:53
Antworten mit Zitat
Benutzer-Profile anzeigen
AvailVidMem ist auch mit Vorsicht zu geniessen.
Nur weil du etwas freigibst, wird der VRAM nicht gelöscht. Das macht keinen Sinn.
Er wird nur als "nicht mehr genutzt" geflagt, sprich wenn später VRAM gebraucht wird, wird einfach drüber geschrieben.

Explizit die Karte locken um den Speicher zu löschen wäre sehr Performance schädigend, da ja nicht nur gelöscht werden muss, wenn du "free ..." machst, sondern auch dann wenn DX merkt dass die Textur / DXSurface garnimmer gebraucht wird.


WinXP ist hier eher von Vorteil.
Unter Vista hast du das Problem das der Desktop 3D ist, unter den abbandoned OS (Win98, ME) hast du das Problem, dass ihr Speichermanager für RAM grottig ist *weswegen der für XP ja von 2K her kommt* womit du prinzipiell schonma Probleme hast wenn du viel lädst und wieder frei gibst. Speziell bei nicht konstanter Grösse der Daten.


Und warum wundert es dich?
DXSurfaces die im RAM gehalten werden, müssen da rein passen. Die Auslagern lässt DX glaub nicht zu (bin ich mir net ganz sicher). Wenn du also mehr versuchst im RAM zu lagern (viele haben den Irrglauben man braucht in 2D zb 4000x3000 Pixel Bilder, vergessen dabei aber wieviel RAM die brauchen sprich dass sie bei vielen garnicht gehen können!) als in den RAM passt kann es schonmal zu entsprechenden Effekten kommen.
4000x3000 setzt nämlich ein System voraus, dass aus dem 3D Zeitalter kommt, kein 2D System. Die haben selten mehr als 8-16, bestenfalls 32MB VRAM. Und dort passt das Bild nicht rein.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group