paul, in their
Fiery Catacombs thread, Metamorpho was experiencing similar.
my response was similar to what you just offered.
meta came back with some test code, which i modified to:
SetErrorMode(2)
SetErrorMode(2)
SetWindowTitle( "TestSprite" )
SetWindowSize( 1024, 768, 0 )
SetWindowAllowResize( 1 ) // allow the user to resize the window
SetVirtualResolution( 1024, 768 ) // doesn't have to match the window
SetOrientationAllowed( 1, 1, 1, 1 ) // allow both portrait and landscape on mobile devices
SetSyncRate( 0, 1 )
SetScissor( 0,0,0,0 ) // use the maximum available screen space, no black borders
UseNewDefaultFonts( 1 ) // since version 2.0.22 we can use nicer default fonts
LoadImage(1, "crate.png")
ResizeImage(1,64,64)
//////////////////////////////////////////////////////// create 400 sprite
variant_1:
tin_x=200
tin_y=200
for x=1 to tin_x
for y=1 to tin_y
this = CreateSprite(1)
SetSpritePosition(this,x*64,y*64)
next
next
ITs = 0
LastIt = 60
TotalTime1# = Timer()
repeat
Print( "FPS: "+str(ScreenFPS()) + " Sprites: "+str(GetManagedSpriteCount())+" Drawcalls: "+str(GetManagedSpriteDrawCalls()) )
Print(Its)
INC ITs
Sync()
if ( GetRawKeyState(27) ) then exit
until ITs = LastIt
TotalTime1# = Timer() - TotalTime1#
DeleteAllSprites()
//////////////////////////////////////////////////////////// create 1 sprite
variant_2:
etno=CreateSprite(1)
SetSpritevisible(etno,1)
tin_x=200
tin_y=200
ITs = 0
TotalTime2# = Timer()
Repeat
for x=1 to tin_x
for y=1 to tin_y
SetSpritePosition(etno,x*64,y*64)
drawsprite (etno)
next
next
Print( "FPS: "+str(ScreenFPS()) + " Sprites: "+str(GetManagedSpriteCount())+" Drawcalls: "+str(GetManagedSpriteDrawCalls()) )
INC ITs
Print(Its)
Sync()
if ( GetRawKeyState(27) ) then exit
until ITs = LastIt
TotalTime2# = Timer() - TotalTime2#
Avg1# = TotalTime1# / LastIt
Avg2# = TotalTime2# / LastIt
Do
if ( GetRawKeyState(27) ) then exit
print (STR(TotalTime1#) + " Avg: " + STR(Avg1#) )
print (STR(TotalTime2#) + " Avg: " + STR(Avg2#) )
print (Avg2#/Avg1#)
Sync()
Loop
the results
changed my mind, leaving me to believe DrawSprite was (much/55-65%) quicker.
so, now i'm confused again.
of note? my system is dated, as well. and, has a laptop mobo with integrated graphics (didn't know it was a laptop in a tower when i bought it)... maybe this has something to do with it?