More particles

Blitz3D Forums/Blitz3D Programming/More particles

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

1. I optimized all those type creations/deletions out of my system weeks ago before the new version which used them ever made it's way into any of the hands of those who use it. They were only ever in when I first added the clipping code, and it was too slow that way so I had top optimize it before release.


Good good, tho I wouldn't have used arrays in the polygon type in the first place, take a test, you'll see putting banks into types or even adding a manualy linked list to it is infact faster when being deleted then a type with blitzArrays, it's rediculous how slow they are... (the creation time is not slow however, just the removal)

2. What's this Storm's Shadows you're talking about?

Storm Engine, the shadows are just a tiny bit of it, it's a full development solution for blitz that myself and shattered are currently working on. It offers more functionality then all the seperate blitz products for sale currently offer together and in a much more flexible package.

3. While my own tests did in fact show that deleting a type with an array in it was slower than deleting a regular type, I seem to recall my test showing that both were anything but lightning fast. But I won't deny that the difference may be great enough that you need not worry about it much if you avoid the use of arrays.


Run this, it should demonstrate my point, overhere it takes 1 millisec to free the 10000 normal types and 2480 milliseconds to free the ones with blitzArrays give it a go on your comp! :)

Type tenVariables
Field a,b,c,d,e,f,g,h,i,j
End Type

Type blitzArray
Field dummy[9]
End Type

Const testAmmount = 10000

Delay 500

time = MilliSecs()

For i = 1 To testAmmount
	V.tenVariables = New tenVariables
Next

Print "Creation of tenVariables took: " + (MilliSecs() - time)

Delay 500

time = MilliSecs()

For j = 1 To testAmmount
	B.blitzArray = New blitzArray
Next

Print "Creation of blitzArray took: " + (MilliSecs() - time)

Delay 500

time = MilliSecs()

For V.tenVariables = Each tenVariables
	Delete V
Next

Print "Deleting of tenVariables took: " + (MilliSecs() - time)

Delay 500

time = MilliSecs()

For B.blitzArray = Each blitzArray
	Delete B
Next

Print "Deleting of blitzArray took: " + (MilliSecs() - time)

WaitKey()