Comparison between the different sprite types...


Type Size of an unmasked 16x16 grayscale sprite Additional memory usage Best choice for Bench (my TI-89 HW2 calculator, reset settings, timings based on AI5 ticks and rounded to the nearest hundredth) - see demo20 and demo21
Normal non-interlaced sprites 2*32 bytes 0 bytes most games, including not so simple platformers and sidescrollers (Phoenix Platinum, Monster, Venus are sprite-based) usually as fast as normal interlaced sprites (except MASK, which is slower - interlaced MASK are equivalent to non-interlaced SMASK)
Normal interlaced sprites 64 bytes 0 bytes most games, including not so simple platformers and sidescrollers (Phoenix Platinum, Monster, Venus are sprite-based) normal 16x16 gray clipped interlaced sprite routine with 2x2 loops (special version of GrayClipISprite16, not inclued: this was done in order to make a fairer comparison, given that the loops in the preshifted sprite functions are completely unrolled): more than 4500 sprites/sec
Tiles (interlaced or non-interlaced) 2*32 or 64 bytes 0 bytes in conjunction with Scroll... and FastCopyScreen, background of sidescrollers like Phoenix (& Phoenix Platinum), Krypton, Venus; simple strategy games (although sprite functions are often much better since they are much more flexible) as fast as or faster than completely preshifted sprites
Semi-preshifted sprites 64 bytes 1024 bytes for each sprite (to preshift the sprite) "always redraw everything" (can be not so smart) semi-preshifted 16x16 gray non-clipped sprite routine: around 7500 sprites/sec
Completely preshifted sprites 64 bytes 2048 bytes for each sprite (to preshift the sprite) "always redraw everything" (can be not so smart) completely preshifted 16x16 gray non-clipped sprite routine (not inclued since a single such sprite takes 2 KB !): at least 8500 sprites/sec
Tilemap engine 64 bytes large backbuffers (5440 bytes per plane) complex RPGs, platformers for current version; Beta 4 adds support for still tiles (simplified SimCity, Command And Conquer...). Future versions should add support for animated tiles N/A

Comment:

As you can see above, normal sprite functions are enough most of the time. ExtGraph provides many alternatives: tilemap engine, tile functions, brute-force (preshifted sprite macros)... If there are sprites moving on a background which is not refreshed too often, think of fast background save&restore functions (see demo22).