Ovale <etwas komisch

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Kryan

Betreff: Ovale <etwas komisch

BeitragSa, Mai 01, 2004 18:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm, schaut es euch mal selber an:
Code: [AUSKLAPPEN]

Graphics 640,480
SetBuffer BackBuffer()
time1=MilliSecs()

Oval 100,100,80,50,0
zeit1=MilliSecs()-time1

Oval2 100,200,80,50
zeit2=MilliSecs()-zeit1

Oval3 100,300,80,50
zeit3=MilliSecs()-zeit2

Oval4 100,400,80,50
zeit4=MilliSecs()-zeit3

Text 1,1,zeit1
Text 1,20,zeit2
Text 1,40,zeit3
Text 1,60,zeit4
Flip
WaitKey
End


Function Oval2(x,y,w,h)
  For I=1 To 360
   Plot x+(Sin(I)*w/2)+(w/2),y+(Cos(I)*h/2)+(h/2)
  Next
End Function

Function Oval3(x,y,w,h)                                                           
   rgb=a*$1000000 + ColorRed()*$10000 + ColorGreen()*$100 + ColorBlue()                                                                             
  For I=1 To 360                                             
   WritePixel x+(Sin(I)*w/2)+(w/2),y+(Cos(I)*h/2)+(h/2),rgb     Next                                                                                     
End Function
                                                                                             
Function Oval4(x,y,w,h)
 LockBuffer
   rgb=a*$1000000 + ColorRed()*$10000 + ColorGreen()*$100 + ColorBlue()
  For I=1 To 360
   WritePixelFast x+(Sin(I)*w/2)+(w/2),y+(Cos(I)*h/2)+(h/2),rgb
  Next
  UnlockBuffer
End Function



Und ich dachte WritePixelFast wäre schneller als WritePixel
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

Edlothiol

BeitragSa, Mai 01, 2004 19:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Schon, aber Lockbuffer ist dafür soviel ich weiß umso langsamer. Wahrscheinlich sind es zu wenig Pixel, als dass es sich lohnen würde. Vielleicht ist es aber auch irgendetwas anderes, dieser kleine Unterschied ist schon etwas komisch Confused

Hubsi

BeitragSa, Mai 01, 2004 19:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Deine Berechnung der Zeit ist ja auch mehr als seltsam Wink
Vor Aufruf der Funktion:Code: [AUSKLAPPEN]
startzeit=MilliSecs()
und danach:Code: [AUSKLAPPEN]
zeit1=MilliSecs()-startzeit
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Kryan

BeitragSa, Mai 01, 2004 19:14
Antworten mit Zitat
Benutzer-Profile anzeigen
was is daran komisch??
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!

simi

BeitragSa, Mai 01, 2004 19:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo, Hubsi hat recht muss so sein:
Code: [AUSKLAPPEN]

Graphics 640,480
SetBuffer BackBuffer()
time1=MilliSecs()

Oval 100,100,80,50,0
zeit1=MilliSecs()-time1
 
time1=MilliSecs()

Oval2 100,200,80,50
zeit2=MilliSecs()-time1

time1=MilliSecs()

Oval3 100,300,80,50
zeit3=MilliSecs()-time1

time1=MilliSecs()

Oval4(100,400,80,50)
zeit4=MilliSecs()-time1

Text 1,1,zeit1
Text 1,20,zeit2
Text 1,40,zeit3
Text 1,60,zeit4
Flip
WaitKey
End


Function Oval2(x,y,w,h)
   rgb=a*$1000000 + ColorRed()*$10000 + ColorGreen()*$100 + ColorBlue()   
  For I=1 To 360
   Plot x+(Sin(I)*w/2)+(w/2),y+(Cos(I)*h/2)+(h/2)
  Next
End Function

Function Oval3(x,y,w,h)                                                           
   rgb=a*$1000000 + ColorRed()*$10000 + ColorGreen()*$100 + ColorBlue()                                                                             
  For I=1 To 360                                             
   WritePixel x+(Sin(I)*w/2)+(w/2),y+(Cos(I)*h/2)+(h/2),rgb     
 Next                                                                                     
End Function
                                                                                             
Function Oval4(x,y,w,h)
 LockBuffer()
   rgb=a*$1000000 + ColorRed()*$10000 + ColorGreen()*$100 + ColorBlue()
  For I=1 To 360
   WritePixelFast x+(Sin(I)*w/2)+(w/2),y+(Cos(I)*h/2)+(h/2),rgb
  Next
  UnlockBuffer ()
End Function

jetzt gibst bei mir

0
5
6
0

Kryan

BeitragSo, Mai 02, 2004 18:33
Antworten mit Zitat
Benutzer-Profile anzeigen
das daraus ein mausfehler kommt:
Code: [AUSKLAPPEN]

Graphics 640,480
SetBuffer BackBuffer()
time1=MilliSecs()

Oval 100,100,80,50
zeitlinksoval=MilliSecs()-time1
time1=MilliSecs()-zeitlinksoval
Oval4 100,400,80,50
zeitlinksoval4=MilliSecs()-time1

Oval 200,100,80,50 ,0
zeitrechtsoval=MilliSecs()-time1
time1=MilliSecs()-zeitrechtsoval
Oval4 200,400,80,50,0
zeitrechtsoval4=MilliSecs()-time1
Color 0,0,0
Text 140,125,zeitlinksoval
Text 140,425,zeitlinksoval4
Color 255,255,255
Text 240,125,zeitrechtsoval
Text 240,425,zeitrechtsoval4

Flip
WaitKey
End

Function Oval4(x,y,w,h,fill=1)
LockBuffer()
rgb=a*$1000000 + ColorRed()*$10000 + ColorGreen()*$100 + ColorBlue()
If fill=1 Then
 times=w
 For ih=1 To times
 For I=1 To 360
 xpos=x+(Sin(I)*(w*ih)/2)+((w)/2)  ;w*ih --> w-ih
 ypos=y+(Cos(I)*(h+ih)/2)+((h)/2) ;h+ih --> h
 WritePixelFast xpos,ypos,rgb
 Next
 Next
Else
 For I=1 To 360
 xpos=x+(Sin(I)*(w)/2)+((w)/2)
 ypos=y+(Cos(I)*(h)/2)+((h)/2)
 WritePixelFast xpos,ypos,rgb
 Next
End If
UnlockBuffer ()
End Function

wenn ich das ausführe, sieht meine maus anders aus Sad

/Edit jetzt nach dem absturz meines pcs ist mir klar, dass es an writepixelfast liegt Very Happy
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

HOT-BIT

Gast

BeitragMo, Mai 10, 2004 19:17
Antworten mit Zitat
Rofl,

sagte nicht mal einer:
Bei Writepixelfast zeichnet das Prog dann auf der gegenüberliegenden Seite weiter ?

Toni
 

Ava

Gast

BeitragMo, Mai 10, 2004 20:36
Antworten mit Zitat
HOT-BIT hat Folgendes geschrieben:
Bei Writepixelfast zeichnet das Prog dann auf der gegenüberliegenden Seite weiter ?


Das stimmt auch, bis der Buffer zuende ist, dann gibts n Crash... Wink

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group