Ein Problem daß ich nicht kenne

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

Chester

Betreff: Ein Problem daß ich nicht kenne

BeitragDo, Okt 14, 2004 17:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi@all
Also wie ihr ja wisst habe ich bei SkyWalk2 einige Propleme mit anderen PC's
Das heißt, das bei meinem Bruder und denen aus dem Forum das Game nicht funtzt, obwohl ich ohne Probleme bin!?! Ich Chat hieß es ich sollte es mal ausprbieren, de Exe ohne Debugger zu Kompillieren, was bei meinem Bruder zu einem "SChweren Physikalischen Fehler" auslößte, und das System heruntergefahren wurde. Also hier der Größte und wichtigste Teil meines Codes(ich hoffe mir kann jemand Helfen:

----------

Mfg

Chester

Ich bedanke mich schonmal voraus!

Edit: Falls hier einer Lust hat den Code durchzulesen
  • Zuletzt bearbeitet von Chester am Di, März 17, 2009 18:00, insgesamt einmal bearbeitet

Holzchopf

Meisterpacker

BeitragDo, Okt 14, 2004 17:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm also das ist nich der ganze Code, ja? Dann kann es ja sein, dass du evtl. mit WritePixelFast ausserhalb des Bildschirmes zeichnest... dies führt nämlich nur auf einigen Rechnern zum Absturz, andere ignorieren dies ganz einfach.
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Chester

BeitragDo, Okt 14, 2004 19:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein Ich benutzte kein WritePixelFast. das ist eigentlich der gesamte Code
In dieser Version hatte ich nur ein paar CreateImages rausgewmacht, die man sowieso für das Level(das einzige, das bisher existiert) nicht benötigt.

Holzchopf

Meisterpacker

BeitragDo, Okt 14, 2004 21:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm dann bau mal folgendes in deinen Code ein - und zwar direkt hinter der Stelle, wo Bilddateien etc. geladen werden:
Prüfe jede Variable, welche ein Handle auf eine Bild-/ Tondatei ist, ob dieses doch nicht 0 ist, falls doch beendest du das Spiel "sachte" mit nem RuntimeError "Datei konnte nicht geladen werden."

Wenn dann deine Kollegen diese Meldung kriegen, hast du den Übeltäter Wink

Richtiger Luxus wärs dann, wenn noch stehen würde welche Datei denn nun nicht geladen werden konnte. Aber dieser Aufwand lohnt sich nicht, wenn noch nicht sicher steht, dass es an einer Fehlenden Mediendatei liegt.

MfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm
 

furbolg

BeitragFr, Okt 15, 2004 0:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Er kann sich ja quasi die LoadTeile überladen:

Code: [AUSKLAPPEN]

function MyLoadImage%(Tex$)
tmp = LoadImage(Tex$)
if tmp = 0 then
RunTimeError("Image " + Tex$ + " couldn't loaded")

return tmp
end function


Hab ich bei mir auch so, sehr nützlich um Fehler zu finden Wink
 

David

BeitragFr, Okt 15, 2004 0:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Hö? Funktionen kann man in BB nicht überladen.
Oder was meinst du mit Überladen??? Shocked

grüße
http://bl4ckd0g.funpic.de

Flori-D

BeitragFr, Okt 15, 2004 12:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich konnte da jetzt nich so den Fehler finden,aba maln Tipp
rück den Code ein.Das iss Übersichtlicher.


Mfg Flori-D
BB is Macht!

Homepage: www.flori-d.de
 

Gerhard

BeitragFr, Okt 15, 2004 20:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht solltest du nicht mehrfach Bilder mit 800 mal 10000 (!) Pixel createn...

Chester

BeitragFr, Okt 15, 2004 21:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie soll ich es sonst machen? ohne CreateImage?

Holzchopf

Meisterpacker

BeitragFr, Okt 15, 2004 21:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hehe, LOL, hab mir den Code gar nicht so genau angeguckt (ehrlich gesagt überhaupt nicht).

Ok ok, dann rechnen wir mal aus...
1. Du initialisiert den 32 Bit Farbmodus. Das heisst jeder Pixel im Bild (nicht nur die, die auf dem Bildschirm sichtbar sind) belegt 32Bit, also 4Bytes.

2. Du erstellst 3 Bilder in der Grösse 800Pixel mal 10000Pixel

3. Jetzt die Rechnung:
Ein Bild:
800 * 10'000 = 8'000'000 Pixel!
Du hast drei deren Bilder:
8'000'000 * 3 = 24'000'000 Pixel!
Und jeder Pixel benötigt 4 Byte Grafikspeicher:
24'000'000 * 4 = 96'000'000 Byte
= 93'750 KByte
= 91.55 MByte beanspruchter Grafikspeicher

Sorry, aber es gibt noch zu viele Karten die noch nicht soviel Speicher hergeben. Musst dir also ne bessere Methode einfallen lassen.

(Wenigstens wissen wir jetzt, was passiert wenn der Grafikspeicher ausgeht Rolling Eyes )

MfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Chester

BeitragFr, Okt 15, 2004 21:27
Antworten mit Zitat
Benutzer-Profile anzeigen
habe keine Lust jetzt groß zu rechnen, und was ist mit 16 Bit Auflösung?

Edit: Mein Bruder hat aber 128 MB Grafik Speicher Exclamation

BladeRunner

Moderator

BeitragFr, Okt 15, 2004 21:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Chester: erstens belegen auch noch andre Sachen Vram, daher wird der reele Verbrauch über 92MB liegen.
zweitens wandeln eigentlich alle neueren Karten intern sowieso alles auf 4 byte um- am Speicherverbrauch andert sich bei 16bit also nix.
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

Holzchopf

Meisterpacker

BeitragFr, Okt 15, 2004 21:38
Antworten mit Zitat
Benutzer-Profile anzeigen
( 45,78MB )

Aber du solltest daran denken, dass noch andere Grafiken im Speicher sind;
deshalb mach am besten einen kleinen Test: lass dir mittels AvailVidMem VOR DEM LADEN DER GRAFIKEN ausgeben wie viel Speicher noch auf der GraKa frei ist, dass selbe dann noch nach dem Laden der Grafiken. Differenz errechnen - und schon hast du die exakte Menge an Bytes, die dein Spiel an Grafikkartenspeicher benötigt.

Kann also gut sein, dass dein Bruder noch andere Programme am laufen hatte, welche die restlichen Bytes noch beanspruchten - und PENG war das System hinne Rolling Eyes
Grösstes anzunehmendes Unglück: Evtl. hats ja mal deinem Bruder (aber schon vorher) mal ein Paar Memory Blocks geröstet. Wodurch er dann "plötzlich" weniger Totalen Videospeicher hatte.
( Kann man ja mit TotalVidMem prüfen, wie viel da gesamthaft zu haben wäre Wink )

MfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Chester

BeitragFr, Okt 15, 2004 21:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Nicht das ich wüsste, noch, riechts nicht verschmort.

D2006

Administrator

BeitragFr, Okt 15, 2004 21:50
Antworten mit Zitat
Benutzer-Profile anzeigen
IMHO wird allerdings der RAM beansprucht, wenn der VRAM voll ist.
Ist also trotzdem unerklärlich der Fehler. MfG
 

Dreamora

BeitragFr, Okt 15, 2004 21:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Nur wenn die Leute AGP karten haben. Soll aber noch Leute mit TNT2 / GeForce 1 geben die PCI haben, welches dieses auslagern noch net so drauf hatte
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

furbolg

BeitragSa, Okt 16, 2004 0:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Willst du das Bild für Collisionen nehmen (ala Worms ?) Dann empfehle ich dir ein Byte Array Smile

eXceptION

BeitragMo, Okt 25, 2004 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo... das ist meine erste post... schuldige mein deutsch, ich komme aus norwegen... Wink

...einige karten unterstützen nur 'bilder' mit mässungen (höhe / breite) die durch 8 geteilt werden können...

...die meisten karten funktionieren sofwieso besser (schneller und effektiver) mit solche grössen...

aber am besten funktionieren bilder (immer, jede karte (!) ) die genau 256x256 sind...

800x10000 ist pervers...!

----

ich hatte eben ein project wo ich mit ein bild zu tun hatte die 2304x16 war... es war einen font (ibm iso oem) (dos font) 9x16 pixel (80x25 modus) pro char. 256 stk. die ich auf ein einselner zeile gezeichnet habe (mit'ne dos-font grabber die ich in pascal gemacht habe)...

es hat in blitz nur funktioniert wenn ich in vollbild modus war, so ich habe eben dass bild 'verkleinert'... das heisst ich habe 8 zeilen pro. 32 charactere daraus gemacht... danach hat es geklappt... (ich habe übrigens auch ein bild mit die 8x8 charactere (80x50 modus))

off topic: wenn ihr interessiert seid, zeig mir mal wie ich die bilder zu dem server senden kann, so dass ich sie hier pasten kann... habe leider keine homepage oder was ähnliches... Crying or Very sad
Norweger...

Spreche aber verdammt gut 8086

Chester

BeitragMo, Okt 25, 2004 21:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Gute Idee, aber leider zu spät,
1. ich programmiere vorerst an SkyWalk2 nicht mehr weiter
2. habe ich es jetzt mit ner Dim Map gemacht

eXceptION

BeitragMo, Okt 25, 2004 21:43
Antworten mit Zitat
Benutzer-Profile anzeigen
tut mir leid dass ich zu spät bin... bin gerade eben registriert, und habe gerade eben die frage gesehen...

viel glück mit deine neue project Smile
Norweger...

Spreche aber verdammt gut 8086

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group