somehow loading a GIF with LoadImage() and make a Sprite out of that, doesn't result in more memory usage.
So that could be a compression that doesn't get the RGBA8888 uncompressed treatment, or! and I guess, that is more likely the case, it is not detected by the GetImageMemoryUsage() command the right way.
A compressed GIF that takes ~ 135 kByte would result in a
before, 0.371 MB (couldn't test it inside the program without // commenting it out)
after GIF loaded 0.487 MB
so maybe that are about the 135 kBytes. But the GIF is:
- animated with about 8 Frames
- second, if it would RGBA8888, it had to be about 135 x 188 Pixels by 32 Bit colors (4 Byte) ~ 0.097 MB
-----
135*188*4/1024/1024*8 ~ 0.77453613281 MB
----- so the GIF only takes up its diskspace also in memory? and not the size it would take if it contained 8 Sprites in that size???
so it maybe that a GIF only uses the memory of one frame???
Maybe the image is to small to get an exact result
// Project: gifMemTest
// Created: 20-11-09
// show all errors
SetErrorMode(2)
// set window properties
SetWindowTitle( "gifMemTest" )
SetWindowSize( 1280, 720, 0 )
SetWindowAllowResize( 1 ) // allow the user to resize the window
// set display properties
SetVirtualResolution( 1280, 720 ) // doesn't have to match the window
SetOrientationAllowed( 1, 1, 1, 1 ) // allow both portrait and landscape on mobile devices
SetSyncRate( 300, 0 ) // 30fps instead of 60 to save battery
SetScissor( 0,0,0,0 ) // use the maximum available screen space, no black borders
UseNewDefaultFonts( 1 )
before1# = GetImageMemoryUsage()
Sync()
before2# = GetImageMemoryUsage()
img = LoadImage("Santa.gif")
spr = CreateSprite(img)
before3# = GetImageMemoryUsage()
do
Print("")
Print("")
Print("")
Print("")
Print("")
Print( Str(ScreenFPS(),2) )
Print("GIF usage: "+Str(GetImageMemoryUsage()-before2#))
Print("Memory usage: "+Str(GetImageMemoryUsage()))
Print("Before Image loading: "+Str(before3#))
Print("Before first Sync() loading: "+Str(before1#))
Sync()
loop
Also no transparency effects are working correctly

And it is not a Spritesheet after loading. So all Sprite animation commands don't work.