Fehler im Sourcecode mit Plot()
-
Andreas21
- Beiträge: 390
- Registriert: 30.08.2004 09:05
- Computerausstattung: Desktop
Windows 10 Pro x64
CPU: AMD Ryzen 5 2600 3.40 GHz
Ram: 16GB RAM
Grafik: NVIDA Geforce 1060
PB: 5.72 X86/X64 - Wohnort: Heidelberg
Ich habe WinXP mit SP1 und einer Geforce FX5200
Ich habe mir mal den Code bei mir gestartet aber bekomme nur ein Schwartzes bild mit 100% CPU aus lasstung
Jetzt meine Frage:
Bin ich zu blöde oder ist da doch was nicht ok
Code: Alles auswählen
InitSprite()
InitMouse()
InitKeyboard()
OpenScreen(800,600,32,"")
Tim1.l
Tim2.l
Structure shoot
x.f
y.f
rx.w
ry.w
richtungx.f
richtungy.f
multi.f
farbe.l
EndStructure
NewList shoots.shoot()
For n=0 To 19
AddElement(shoots())
shoots()\x = 400
shoots()\y = 300
shoots()\farbe=Random($FFFFFF)
shoots()\richtungx = (MX-400)
shoots()\richtungy = (MY-300)
shoots()\multi = Sqr(Pow(speed,2)/(Pow(shoots()\richtungx,2)+Pow(shoots()\richtungy,2)))
shoots()\richtungx = shoots()\richtungx * shoots()\multi
shoots()\richtungy = shoots()\richtungy * shoots()\multi
Next
Tim1 = ElapsedMilliseconds()
For n= 0 To 1000000
StartDrawing(ScreenOutput())
ForEach Shoots()
Plot(Shoots()\x,Shoots()\y,Shoots()\Farbe)
Next
StopDrawing()
Next
Tim1 = ElapsedMilliseconds()-Tim1
Debug Tim1
Tim2 = ElapsedMilliseconds()
For n= 0 To 1000000
StartDrawing(ScreenOutput())
ForEach Shoots()
FrontColor(Red(shoots()\farbe), Green(shoots()\farbe), Blue(shoots()\farbe))
Plot(shoots()\x,shoots()\y) ;Circle(shoots()\x,shoots()\y,1,shoots()\farbe)
Next
StopDrawing()
Next
Tim2 = ElapsedMilliseconds()-Tim2
Debug Tim2
End
Zuletzt geändert von Andreas21 am 25.11.2004 16:26, insgesamt 1-mal geändert.
Windows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
weder noch. nach der hälfte der tests erscheint das debug fenster, am ende des programms geht der schwarze screen wieder weg.
wenn du nics version benutzt, bleibt der schwarze screen während des ganzen tests, erst am ende kommt der debugger.
das ist dafür, das der test wirklich die performance der routine testet, und nicht verfälscht durch syncs, was bei nem flipbuffers zwangsweise passieren würde. wenn du zu lange warten musst, kannst du auch bei beiden schleifen die 1000000 durch 100000 ersetzen, denke aber daran, dass zu erwähnen, wenn du dein ergebnis postest
PS: wenn du dir nics erbebnisse anguckst, siehst du, dass er fast 2minuten vor nem schwarzen screen gesessen hat
wenn du nics version benutzt, bleibt der schwarze screen während des ganzen tests, erst am ende kommt der debugger.
das ist dafür, das der test wirklich die performance der routine testet, und nicht verfälscht durch syncs, was bei nem flipbuffers zwangsweise passieren würde. wenn du zu lange warten musst, kannst du auch bei beiden schleifen die 1000000 durch 100000 ersetzen, denke aber daran, dass zu erwähnen, wenn du dein ergebnis postest
PS: wenn du dir nics erbebnisse anguckst, siehst du, dass er fast 2minuten vor nem schwarzen screen gesessen hat
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
-
Andreas21
- Beiträge: 390
- Registriert: 30.08.2004 09:05
- Computerausstattung: Desktop
Windows 10 Pro x64
CPU: AMD Ryzen 5 2600 3.40 GHz
Ram: 16GB RAM
Grafik: NVIDA Geforce 1060
PB: 5.72 X86/X64 - Wohnort: Heidelberg
Ok Danke 
P.S.
Der Code von Kooky am Anfang leuft bei mir auch Super
P.S.
Der Code von Kooky am Anfang leuft bei mir auch Super
Code: Alles auswählen
InitSprite()
InitMouse()
InitKeyboard()
OpenScreen(800,600,32,"")
Global speed.f
speed = 5
Structure shoot
x.f
y.f
rx.w
ry.w
richtungx.f
richtungy.f
multi.f
farbe.l
EndStructure
NewList shoots.shoot()
Repeat
ExamineKeyboard()
ExamineMouse()
If MouseButton(1)
AddElement(shoots())
shoots()\x = 400
shoots()\y = 300
shoots()\farbe=Random($FFFFFF)
shoots()\richtungx = (MouseX()-400)
shoots()\richtungy = (MouseY()-300)
shoots()\multi = Sqr(Pow(speed,2)/(Pow(shoots()\richtungx,2)+Pow(shoots()\richtungy,2)))
shoots()\richtungx = shoots()\richtungx * shoots()\multi
shoots()\richtungy = shoots()\richtungy * shoots()\multi
EndIf
ForEach Shoots()
Shoots()\x + Shoots()\richtungx
Shoots()\y + Shoots()\richtungy
Shoots()\rx = Shoots()\x
Shoots()\ry = Shoots()\y
If Shoots()\x < 0 Or Shoots()\x > 800 Or Shoots()\y < 0 Or Shoots()\y > 600
DeleteElement(Shoots())
NextElement(Shoots())
EndIf
Next
StartDrawing(ScreenOutput())
Plot(MouseX(),MouseY(),RGB(255,0,100))
ForEach Shoots()
Plot(Shoots()\x,Shoots()\y,Shoots()\Farbe) ;Circle(Shoots()\x,Shoots()\y,1,Shoots()\Farbe)
Next
Circle(400,300,10,$FF0010)
StopDrawing()
FlipBuffers()
Delay(10)
ClearScreen(0,0,0)
Until KeyboardPushed(#pb_key_escape)
EndWindows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22