ok! so DB makes rather large .exe`s and I wanted to make some simple vector graphics games, no need for 7mb to play asteroids I thinks, so I dug out BlitzMax and ran up a snippet of test code, UMM! thinks me, this seems rather slow, so I ported to Pro to compare, now its MUCH better, but why the speed difference?, I thought max and Pro where comparable, heres the Max code
Graphics 1024,768
max=50
Dim ovalsdir(max,2)
Dim ovalpos(max,2)
Dim colors(max,3)
Dim speed(max)
For i=1 To max
Repeat
ovalsdir(i,1)=Rnd(-1,1)
Until ovalsdir(i,1)<>0
ovalsdir(i,1)=ovalsdir(i,1)
Repeat
ovalsdir(i,2)=Rnd(-1,1)
Until ovalsdir(i,2)<>0
ovalsdir(i,2)=ovalsdir(i,2)
ovalpos(i,1)=Rnd(0,1024)
ovalpos(i,2)=Rnd(0,768)
speed(i)=Rnd(1,5)
colors(i,1)=Rnd(255)
colors(i,2)=Rnd(255)
colors(i,3)=Rnd(255)
Next
While Not GetMouse()
Cls
SeedRnd 1
For i=1 To 50
Oval Rnd(0,1000),Rnd(0,700),Rnd(80,200),Rnd(80,200),0
Next
For i=1 To max
Color colors(i,1),colors(i,2),colors(i,3)
Oval ovalpos(i,1),ovalpos(i,2),60,60,0
ovalpos(i,1)=ovalpos(i,1)+ovalsdir(i,1)
ovalpos(i,2)=ovalpos(i,2)+ovalsdir(i,2)
If ovalpos(i,1)>965
ovalsdir(i,1)=(-1)*speed(i)
EndIf
If ovalpos(i,1)<1
ovalsdir(i,1)=1*speed(i)
EndIf
If ovalpos(i,2)>720
ovalsdir(i,2)=(-1)*speed(i)
EndIf
If ovalpos(i,2)<1
ovalsdir(i,2)=1*speed(i)
EndIf
Next
Flip 1
Wend
End
and heres the pro code...
set display mode 1024,768,32
max=50
Dim ovalsdir(max,2)
Dim ovalpos(max,2)
Dim colors(max,3)
Dim speed(max)
For i=1 To max
Repeat
ovalsdir(i,1)=Rnd(2)-1
Until ovalsdir(i,1)<>0
Repeat
ovalsdir(i,2)=1-Rnd(2)
Until ovalsdir(i,2)<>0
ovalpos(i,1)=Rnd(1024)
ovalpos(i,2)=Rnd(768)
speed(i)=1+Rnd(4)
colors(i,1)=Rnd(255)
colors(i,2)=Rnd(255)
colors(i,3)=Rnd(255)
Next
do
Cls
randomize 1
For i=1 To 50
circle Rnd(1000),Rnd(700),80+Rnd(200)
Next
For i=1 To max
ink rgb(colors(i,1),colors(i,2),colors(i,3)),0
circle ovalpos(i,1),ovalpos(i,2),60
ovalpos(i,1)=ovalpos(i,1)+ovalsdir(i,1)
ovalpos(i,2)=ovalpos(i,2)+ovalsdir(i,2)
If ovalpos(i,1)>965
ovalsdir(i,1)=(-1)*speed(i)
EndIf
If ovalpos(i,1)<1
ovalsdir(i,1)=1*speed(i)
EndIf
If ovalpos(i,2)>720
ovalsdir(i,2)=(-1)*speed(i)
EndIf
If ovalpos(i,2)<1
ovalsdir(i,2)=1*speed(i)
EndIf
Next
sync
loop
as you can see they are almost the same apart from mods to the syntax, can anybody test this and tell me why Max seems to so much slower?, plus if I load max with many more objects I get a flickering screen, not so good

<begin rant> AAARGH! it`s a plot I tell you, a plot, I just can`t find a basic compiler thats intelligible, fast and has compact .exe`s, GRRR!
Mentor.
PC1: P4 3ghz, 1gig mem, 3x160gig hd`s, Radeon 9800pro w cooler (3rd gfx card), 6 way speakers.
PC2: AMD 2ghz, 512mb ram, FX5200 ultra, 16 bit SB.
Mini ATX cases suck.