Memory-acess-valiation
Übersicht

TodeskopBetreff: Memory-acess-valiation |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich habe ein großes schreckliches problem...
wenn ich meine selbst gemachte umgebungs-Demo starte kommt nach ca. 5min Memory-acess-valiation....... Und zwar immer an der stelle Renderworld. Woran kann dies liegen.. Ich bitte und danke für schnelle Antworten... |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ohne hellseherische Fähigkeiten können wir das nicht wissen.
~VERSCHOBEN~ Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde. |
||
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 |
Darthshoot |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich will auch mal probieren zu helfen auch wenns jetzt vielleicht total dumm ankommt... aber ich machs trotzdem mal ^^ *g*
Da Fehlt irgendeine Datei? Wenn ich ne executable mache und was net da is was geladen wird, kommt dieser Fehler. Wird nach 5 Minuten irgendwas geladen, was du net im Ordner hast? |
||
Todeskop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also ich habe alles im ordner wolld ihr den code hier ist er:
Code: [AUSKLAPPEN] Graphics3D 1024,768,32,2
AppTitle "Todeskop´s 1st Demo" SetBuffer BackBuffer() SeedRnd MilliSecs() Text GraphicsWidth()/2,GraphicsHeight()/2,"loading...",True,False Flip Dim baum(201) Dim baum2(201) Dim baum3(201) Dim grass(201) camera = CreateCamera() CameraRange camera,1,1500000 EntityType camera,1 EntityRadius camera,4 CameraFogRange camera,100,25000 CameraFogColor camera,7,141,206 snd=LoadSound("Document 1.wav") Type CloudField Field mesh# Field PosX# Field PosY# Field PosZ# Field alpha# End Type Global qut = 750 For i = 0 To qut Cloud.Cloudfield = New CloudField Cloud\mesh = CreateCloud("cld2.png") ScaleEntity Cloud\mesh,35050,35050,35050 PositionEntity Cloud\mesh,Rnd(-400000,400000),Rnd(90000,100000),Rnd(-400000,400000) EntityAlpha Cloud\mesh,0.3 Next Dim cosinus(640) position = 0 For c = 0 To 640 cosinus(c) = Cos((115*3.14159265358 * c) / 320) * 32 + 32 Next Dim div10(320) For i=0 To 320 div10(i)=i/10 Next Dim f3(255),f45(255),f5(255) For i=0 To 255 f3(i)=3*i f45(i)=4.5*i f5(i)=5*i Next mywater=CreateTexture(32,32,9) ; used 4 texture on water mywater2=CreateTexture(32,32,9) ; used 4 watershade blend on ground Gosub water water=CreateTerrain(64) ScaleTexture mywater,0.01,0.01 ScaleTexture mywater2,20,20 EntityTexture water, mywater,0 ScaleEntity water,50000*32,50000*32,50000*32 PositionEntity water,-800000,4000,-600000 EntityAlpha water,0.6 EntityFX water,17+8 EntityType water,4 terrain=LoadMesh("lowterrain.3ds") PositionEntity terrain,0,27000,0 ScaleEntity terrain,400,350,400 EntityType terrain,2 EntityFX terrain,16 PositionEntity camera,63006,11860,-8218.2 wasserboden=CreatePlane(2) kies=LoadTexture("IM000105.jpg",256) EntityType wasserboden,3 EntityFX wasserboden,16+8 CreateListener(camera) EntityTexture wasserboden,mywater2,0,1 EntityTexture wasserboden,kies,0,2 ;bäume baum(0)=LoadMesh("baum.3ds") tex1=LoadTexture("baum.jpg",260) EntityTexture baum(0),tex1 baum2(0)=LoadMesh("baum2.3ds") tex2=LoadTexture("baum2.jpg",260) EntityTexture baum2(0),tex2 Himmel=LoadMesh("himmel.3ds") EntityOrder Himmel,10 ScaleEntity himmel,1000,1000,1000 baum3(0)=LoadMesh("baum3.3ds") grass(0)=LoadSprite("graß.png",4+2+256) ScaleEntity grass(0),1500,1500,1500 SpriteViewMode grass(0),4 EntityFX grass(0),16+1 tex3=LoadTexture("baum3.jpg",260) EntityTexture baum3(0),tex3 ScaleEntity baum(0),100,100,100 ScaleEntity baum2(0),100,100,100 ScaleEntity baum3(0),100,100,100 EntityType baum(0),5 EntityRadius baum(0),1 EntityType baum2(0),5 EntityRadius baum2(0),1 EntityType baum3(0),5 EntityRadius baum3(0),1 EntityType grass(0),5 EntityRadius grass(0),160 PositionEntity baum(0),Rnd(-200000,200000),Rnd(10000,15004),Rnd(-200000,200000) PositionEntity baum2(0),Rnd(-200000,200000),Rnd(10000,15040),Rnd(-200000,200000) PositionEntity baum3(0),Rnd(-200000,200000),Rnd(10000,15004),Rnd(-200000,200000) schiff=LoadMesh("schiff.3ds") ScaleEntity schiff,40,30,30 PositionEntity schiff,0,15000,0 EntityType schiff,6 For i = 0 To 200 baum(i) = CopyEntity(baum(0)) baum2(i) = CopyEntity(baum(0)) baum3(i) = CopyEntity(baum(0)) grass(i) = CopyEntity(grass(0)) PositionEntity baum(i),Rnd(-150000,150000),Rnd(30000,40000),Rnd(-150000,150000) PositionEntity baum2(i),Rnd(-150000,150000),Rnd(30000,40000),Rnd(-150000,150000) PositionEntity baum3(i),Rnd(-1500000,1500000),Rnd(30000,40000),Rnd(-150000,150000) Next zoom#=1 sound=Load3DSound("water1.wav") ChannelVolume ChannelID, 0.5 ambi#=90 va=1 PlaySound snd HidePointer While Not KeyDown(1) PositionEntity Himmel,EntityX(camera),EntityY(camera)-3000,EntityZ(camera) If EntityY(camera)<3999 Then CameraFogMode camera,1 Else CameraFogMode camera,0 EndIf If Not EntityCollided(schiff,4) TranslateEntity schiff,0,-100,0 If Not EntityCollided(camera,2) TranslateEntity camera,0,-10,0 If va=1 Then ambi#=ambi#+0.05 If ambi#=230 Then va=0 ElseIf va=0 Then ambi#=ambi#-0.05 If ambi#=20 Then va=1 EndIf For Cloud.Cloudfield = Each CloudField PointEntity Cloud\mesh,camera If cloud\alpha <= 0.6 cloud\alpha = cloud\alpha + 0.02 EntityAlpha cloud\mesh,cloud\alpha dist# = EntityDistance#(camera,Cloud\Mesh) If dist < 20 EntityAlpha Cloud\mesh,dist/35 If dist < 20 RotateEntity cloud\mesh,1,1,1 If KeyDown(2) Then EntityAlpha cloud\mesh,0 : cloud\alpha = 0 Next If MouseDown(2) Then zoom#=zoom#+0.1 If Not MouseDown(2) zoom#=1 If KeyHit(3) Then WireMode = Not WireMode WireFrame WireMode End If If KeyDown(57) And KeyDown(17) MoveEntity camera,0,0,1000 If KeyDown(17) And MouseDown(1) MoveEntity camera,0,0,1000 If wiremode=1 AmbientLight 0,255,0 If wiremode=0 AmbientLight ambi#,ambi#,ambi# CameraZoom camera,zoom# If KeyDown(30) MoveEntity camera,-1,0,0 If KeyDown(32) MoveEntity camera,1,0,0 If KeyHit(29) TranslateEntity camera,0,50,0 If EntityDistance(camera,water)<20 EmitSound(sound,water) Mx#=MouseXSpeed() My#=MouseYSpeed() Mz#=MouseZSpeed() TurnEntity camera,My#,-Mx/2,0 MoveMouse GraphicsWidth()/2,GraphicsHeight()/2 If KeyHit(31)=1 And speed#<0 speed#=speed-5 If KeyDown(17) And speed#<3 Then speed=speed+5 If speed>10 Then speed=10 If speed>0 Then speed=speed-0.3 If KeyDown(31)=1 And speed#<1 Then speed=speed-0.6 If speed<0 Then speed=speed+0.3 If speed<-3 Then speed=-3 MoveEntity camera,0,0,speed# Collisions 1,2,2,2 Collisions 1,3,2,2 Collisions 5,2,2,1 Collisions 5,4,2,1 Collisions 5,3,2,1 Collisions 1,6,2,2 Collisions 6,4,2,2 Collisions 7,3,2,3 loeschen() schwerkraft() loeschen3() schwerkraft3() loeschen2() schwerkraft2() loeschen4() schwerkraft4() Gosub water UpdateWorld RenderWorld Flip Wend End Function CreateCloud(path$) m = CreateMesh() b = LoadBrush(path,2) s = CreateSurface( m,b ) v0 = AddVertex(s,-1,1,0,0,1) v1 = AddVertex(s,1,1,0,1,1) v2 = AddVertex(s,1,-1,0,1,0) v3 = AddVertex(s,-1,-1,0,0,0) AddTriangle s,v0,v1,v2 AddTriangle s,v0,v2,v3 EntityFX m,16+1+32 Return m End Function Function schwerkraft() For i=0 To 200 If baum(i)<>0 If Not EntityCollided(baum(i),2) TranslateEntity baum(i),0,-10000,0 End If End If Next End Function Function loeschen() For i = 0 To 200 If baum(i)<>0 If EntityCollided(baum(i),4) FreeEntity baum(i) baum(i) = 0 End If End If Next End Function Function schwerkraft3() For i=0 To 200 If baum2(i)<>0 If Not EntityCollided(baum2(i),2) TranslateEntity baum2(i),0,-10000,0 End If End If Next End Function Function loeschen2() For i = 0 To 200 If baum2(i)<>0 If EntityCollided(baum2(i),4) FreeEntity baum2(i) baum2(i) = 0 End If End If Next End Function Function schwerkraft2() For i=0 To 200 If baum3(i)<>0 If Not EntityCollided(baum3(i),2) TranslateEntity baum3(i),0,-10000,0 End If End If Next End Function Function loeschen3() For i = 0 To 200 If baum3(i)<>0 If EntityCollided(baum3(i),4) FreeEntity baum3(i) baum3(i) = 0 End If End If Next End Function Function schwerkraft4() For i=0 To 200 If grass(i)<>0 If Not EntityCollided(grass(i),2) TranslateEntity grass(i),0,-10000,0 End If End If Next End Function Function loeschen4() For i = 0 To 200 If grass(i)<>0 If EntityCollided(grass(i),4) FreeEntity grass(i) grass(i) = 0 End If End If Next End Function .water wave1% = wave1% + 4 wave2% = wave2% + 2 If wave1% >= 320 Then wave1% = 0 If wave2% >= 320 Then wave2% = 0 SetBuffer TextureBuffer(mywater) LockBuffer For y% = 0 To 319 Step 10 y10=div10(y) d = cosinus(y + wave2) + cosinus(Y + wave2) For x% = 0 To 319 Step 10 x10=div10(x) f = 1 + Abs(((cosinus(x + wave1) + cosinus(x + y) + d) / 8) - 16) rr=105-f3(f) If rr<0 Then rr=0 gg=185-f45(f) If gg<0 Then gg=0 bb=195-f5(f) If bb<0 Then bb=0 WritePixelFast x10,y10,((rr Shl 16) Or (gg Shl 8) Or bb) Next Next UnlockBuffer CopyRect 0,0,32,32,0,0, TextureBuffer(mywater), TextureBuffer(mywater2) SetBuffer BackBuffer() Return ~Edit~ der sagt noch als fehlermeldung: 0x009954fe 0x000000040 coudn´t be written... |
||
![]() |
darth |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich les mir immer seitenlange codes von anderen durch... das macht extrem spass!
trotzdem hab ichs mal getan... in anbetracht der tatsache, dass es erst nach 5min auftaucht, sollte der fehler wahrscheinlich nicht im ganzen erstellblock liegen (es sei denn er braucht 5min dazu -.-) also hab ich den mal weggelassen. aber jetzt kommts: ich finde einfach so keinen fehler... ich kann bloss vermuten. du löschts VIELLEICHT (... keine tests etc ...) etwas, das du nachher wieder zeichnen lassen möchtest (freeentity zb) wäre das möglich? |
||
Diese Signatur ist leer. |
Todeskop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
vielleicht hängts mit den buffern zusammen da dieser mal geunlockt wird
und so... aber ich gucke mal..... Ps: ich finde es besondes komisch das es die fehlermeldung immer Bei RENDERWORLD bringt....und dazu nen ganzen speicherfehler(wie oben beschrieben).... ~edit~ Könnte es auch sein das es an meinen Speicher liegt.....??? |
||
![]() |
Axe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würd den Code ja gerne mal durchtesten, aber mir fehlen die ganzen Dateien. Kannst du die mal schnell zippen und hochladen (oder schick mir die Zip als Mailanhang an mail@axe.de.nr)? | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nun, der Code ist sicher nicht gedacht so zu funktionieren oder?
CamRange 1 - 1,5 Mio? Setz das Mal auf 15000 (totales Max) runter. Denn sonst kannst du unter Garantie davon ausgehen das der Tiefenbuffer austickt (-> Dinge erscheinen vor anderen obwohl sie das garnicht dürften und so) Hinzu kommt das Aufgrund von eben dieser Sichtweite auch einfach dein Meshbuffer austickt, denn du schiebst die ganze Zeit Mesh Clone wieder in in den Sichtbereich so wie ich das sehe. Renderworld MAV deuten normalerweise eindeutig darauf hin, das man mit AddVertex / AddTriangle / CopyEntity / AddMesh zuviele vertices / triangles auf eine Surface gepackt hat. Das passiert recht schnell, denn bei Triangles ist auf so manch einer Karte bei 16 * 1024 Triangles Schluss. (auf higher end karten ist es 64*1024). Für Vertices gilt immer 64*1024. Es gibt allerdings auch eine zweite Variante die zu interessanten Fehlern führen könnte: Deine Emitsound Routine. "Wenn ich zu nahe am wasser bin, dann emitsound, egal ob der alte schon läuft oder net" Alles in allem interessanter Code. Hat hier im FAQ Bereich einen Guide wie man Code strukturiert. kannst ja deinen Mal anhängen als mahnendes Beispiel wie er NICHT aussehen sollte. (wenn ich Ctrl-F brauche um die Mainloop zu finden ist der Code schlecht bis X formatiert). Vielleicht lehrt dich dieser MAV jedoch, den Code das nächste Mal so zu strukturieren, dass du auch eine Chance hast den Bug zu finden. Noch häufiger werden dich die Leute wohl kaum darauf aufmerksam machen. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Todeskop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ähh sorry geht schlecht ist 30MB groß... | ||
![]() |
Axe |
![]() Antworten mit Zitat ![]() |
---|---|---|
naja, wenn es um das Empfangen geht ist es für mich kein Problem hab DSL6000 Flat. | ||
Todeskop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ne aber ich kann höchstens 20MB verschicken aber hast du icq darüber könnten wa das eben machen | ||
Todeskop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich habe rausgefunden das dieses sinuserstellen-als textur der fehler war ich finde sie aber super schön die textur und will ungern eine andere nehmen also meine frage was ist an dem teil des codes falsch:
Code: [AUSKLAPPEN] Dim cosinus(640)
position = 0 For c = 0 To 640 cosinus(c) = Cos((115*3.14159265358 * c) / 320) * 32 + 32 Next Dim div10(320) For i=0 To 320 div10(i)=i/10 Next Dim f3(255),f45(255),f5(255) For i=0 To 255 f3(i)=3*i f45(i)=4.5*i f5(i)=5*i Next mywater=CreateTexture(32,32,9) mywater2=CreateTexture(32,32,9) ;_________________ Code: [AUSKLAPPEN] .water
wave1% = wave1% + 4 wave2% = wave2% + 2 If wave1% >= 320 Then wave1% = 0 If wave2% >= 320 Then wave2% = 0 SetBuffer TextureBuffer(mywater) LockBuffer For y% = 0 To 319 Step 10 y10=div10(y) d = cosinus(y + wave2) + cosinus(Y + wave2) For x% = 0 To 319 Step 10 x10=div10(x) f = 1 + Abs(((cosinus(x + wave1) + cosinus(x + y) + d) / 8) - 16) rr=105-f3(f) If rr<0 Then rr=0 gg=185-f45(f) If gg<0 Then gg=0 bb=195-f5(f) If bb<0 Then bb=0 WritePixelFast x10,y10,((rr Shl 16) Or (gg Shl 8) Or bb) Next Next UnlockBuffer CopyRect 0,0,32,32,0,0, TextureBuffer(mywater), TextureBuffer(mywater2) SetBuffer BackBuffer() Return ;____________________________________________________ danke für eure hilfe ~edit~ ups doppelpost sorry nicht bemerkt das ich da schon einen hatte... |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group