doesn't make any difference for me if they're textured or even if the texture has transparency, still got around 60fps with around 25k sprites
if i take out the for loop that repositions them (moved the position to the creation part) i can get up to 35~36k sprites at 60fps though i doubt that's much use for a real time particle system you could reduce how often the loop is called
edit; i can reach 32k with this
SetWindowSize(1200,720,1)
SetVirtualResolution(1200,720)
sprites as integer []
SetSyncRate(0,0)
//LoadImage(1,"1.png")
CreateImageColor(1,255,0,0,255)
frame = 0
do
if GetRawKeyPressed(27) then end
if GetPointerPressed()
mousex=GetPointerX()
mousey=GetPointerY()
for i = 0 to 499
sprites.insert(CreateSprite(0))
SetSpriteimage(sprites[sprites.length],1)
SetSpriteSize(sprites[sprites.length],1,1)
SetSpritePosition(sprites[i],random(0,1200),random(0,720))
next i
endif
if sprites.length <> - 1
inc frame, 1
if frame > 4 then frame = 0
if frame = 0
sps = 0
spe = sprites.length*0.25
elseif frame = 1
sps = spe+1
spe = sprites.length*0.5
elseif frame = 2
sps = spe+1
spe = sprites.length*0.75
else
sps = spe
spe = sprites.length
endif
for i = sps to spe
SetSpritePosition(sprites[i],random(0,1200),random(0,720))
next i
endif
print("Particles: " + str(sprites.length))
print(ScreenFPS())
sync()
loop
life's one big game
spec= i5 4ghz, 16gb ram, Nvidia 1070ti gpu