Can anyone tell me if this is a good or bad way of approaching my tile based engine...

I decompress images from my own image library file, and store each image in a TBitmap array. The tiles are all 64 x 64 or 32 x 32 16 bit.

When I need to blit a tile, I simply get a pointer to the TBitmap and use that to blit to the DX surface.

I have tested the client so far on about 30 PCs and it runs well, but I have hit a problem on 2 PCs where it fails while loading the image library into TBitmaps. The image library is only about 1Mb in size so far, so that isn't too big.

Ideas / Comments please. I did wonder if a TBitmap used GDI memory?? Could that be the problem? Ideally I would prefer to store the raw pixel data and just blit that to the DX surface, but it needs s DeviceContext to blit, and I am not 100% sure how DCs work.