What size is the image your are specifying in the file path?
I'm wondering if it has to do with OpenGL resizing the image.
Instead of calling LoadAnimImage, which will toss the image into VRAM and possibly require the image to be resized, why don't you just load it as a pixmap and then create your separate images (well, pixmaps in this case) with the PixmapWindow() function.
Here's some sloppy code from my old tile engine proto. The TTile type was basically just an image along with some flags, and you should be able to replace it with an image (with a few code modifications, of course.)
I'm wondering if it has to do with OpenGL resizing the image.
Instead of calling LoadAnimImage, which will toss the image into VRAM and possibly require the image to be resized, why don't you just load it as a pixmap and then create your separate images (well, pixmaps in this case) with the PixmapWindow() function.
Here's some sloppy code from my old tile engine proto. The TTile type was basically just an image along with some flags, and you should be able to replace it with an image (with a few code modifications, of course.)
Method ConstructTileArray( Tile_Width:Short, Tile_Height:Short) 'create as many tiles as needed for the tileset and load each 'of their images from disk Local Height:Short = PixmapHeight( TileSetPixMap ) Local Width:Short = PixmapWidth( TileSetPixMap ) Local TempPixMap:TPixmap Local TempTile:TTile Height = Height / Tile_Height 'height now equals num of tiles high Width = Width / Tile_width 'width now equals num of tiles wide 'let's resize the tile array 'the length is equal to Height X Width 'basically we're stretching the 2D pixmap into a 1D array TileArray = TileArray[..(Height*Width)] Print "Tile array length" + Len(TileArray) Local count:Short = 0 For Local iter1 = 0 To (Height - 1) For Local iter2 = 0 To (Width - 1) 'Print "Count " + count TempTile = New TTile 'create a new tile to put into the array 'first we create a tile sized pixmap from the master pixmap TempPixMap = PixmapWindow( TileSetPixMap, iter1 * Tile_Width, iter2 * Tile_Height, Tile_Width, Tile_Height) 'then we make an image out of the temporary pixmap and put it into the tile 'Print "Pixmap width, height " + PixmapWidth( TempPixMap ) + "," + PixmapHeight( TempPixMap ) TempTile.Image = LoadImage( TempPixMap ) 'then we toss the tile into the tile array TileArray[count] = TempTile count:+ 1 Next Next EndMethod