Hi HrdNutz, that's the code I was comparing.
Something has definately changed somewhere.
I checked again and it doesn't seem to be single-surface although (at one point) there is a staticpixmap xcreated for a cell. This is then copied into the image and split into seperate frames to display.
It's possible the recent changed to the DX and GL drivers have closed the gap a bit by performance improvements.
There also seems to be some memory changes as Indie's code in DX now takes more memory than before and needs a gccollect.
My results..
DX GL
MEM TIME MEM TIME
Loadanimimage -200 500 1000 1665
TAnimImage 30000 471 1000 1659
+GCCollect -200 460 No change.
using...
Something has definately changed somewhere.
I checked again and it doesn't seem to be single-surface although (at one point) there is a staticpixmap xcreated for a cell. This is then copied into the image and split into seperate frames to display.
It's possible the recent changed to the DX and GL drivers have closed the gap a bit by performance improvements.
There also seems to be some memory changes as Indie's code in DX now takes more memory than before and needs a gccollect.
My results..
DX GL
MEM TIME MEM TIME
Loadanimimage -200 500 1000 1665
TAnimImage 30000 471 1000 1659
+GCCollect -200 460 No change.
using...
For Local a = 1 To 100 Cls For Local b = 1 To 1000 SetRotation Rand(360) blob.Draw(Rand(0,640),Rand(0,480),32,32,Rand(0,4)) ' DrawImage blob,Rand(0,640),Rand(0,480),Rand(0,4) Next Flip Next End Rem