Don't Load the entire thing into memory.

There are a number of ways to do it.

The Tile engine i'm working on, has a tileset object.

Each Tile object (subset of tileset) has a filename, InMemory Boolean, and a DD surface (may or may not be set)

When i try to draw the tile to the backbuffer, i have a piece of code like:

[code]
if tileset.tile(tileindex).InMemory = false then
'load tile.filename into loadbuffer surface
'copy from loadbuffer to backbuffer
else
copy from tileset.tile.ddsurface to backbuffer
end if

Each tile has a Load and Unload bitmap method aswell for memory handling.