draw a little square

BlitzMax Forums/BlitzMax Programming/draw a little square

Pit-le-rouge(Posted 2005) [#1]
Hi,

For my game, I need to draw moving stars.
These stars are only one pixel or a square of 2 pixels.
Question: what is the quickest method in term of performance ?
Use the "drawrect" function or create an image of this point/square and draw it with the "drawimage" function ?


ozak(Posted 2005) [#2]
Probably drawrect.


tonyg(Posted 2005) [#3]
Nothing in it but can't you test this yourself?
Anyway,
Graphics 800,600
Global image:timage=LoadImage("star.png") ' 2*2 
SeedRnd MilliSecs()
Type rectstar
  Global starlist1:TList=CreateList()
  Field x
  Field y
  Function create()
     Local my:rectstar=New rectstar
     my.x=Rand(0,800)
     my.y=Rand(0,600)
     ListAddLast starlist1,my
  End Function
  Function update()
    For Local my:rectstar = EachIn starlist1
         my.x:+1
         If my.x>800 my.x=0
    Next
  End Function
  Function draw()
    For Local my:rectstar = EachIn starlist1
        DrawImage image,my.x,my.y
'       drawrect my.x,my.y,2,2
    Next
  End Function
End Type
Type imagestar
End Type
For x = 1 To 200
	rectstar.create()
Next	
start_rect=MilliSecs()
For x = 1 To 800
  Cls
  rectstar.draw()
  rectstar.update()
  Flip
Next
end_rect=MilliSecs()
DebugLog end_rect-start_rect
WaitKey()



Pit-le-rouge(Posted 2005) [#4]
OK tonyG.

The result is... no real difference...
drawimage: 13323
drawrect: 13317

So, I keep my "drawrect" method.
;-)

Thanks.