Appunto per quello dicevo di caricare le tiles (=plurale) necessarie.
Puoi anche evitare il passaggio per un file separato, se è un normale .bmp i byte sono già scritti senza compressione....
Comunque, se l'immagine è non compressa e più piccola dello spazio di indirizzi puoi guadagnare molto mappando il file in memoria e lasciando che sia il sistema operativo a smazzarsi le menate di caching.
In ogni caso, l'approccio a tiles (magari gestito in maniera un po' meno naif) diventa essenziale lavorando con immagini molto grosse, per cui mantieni cache locality operando su pixel vicini (a differenza del tenere il file non compresso, per cui comunque devi saltare qua e là passando da una riga all'altra).