Your oledLoadBMP() ignores the colour Palette in the BMP header.
A "Horse" animation runs at a similar speed with oledLoadBMP() as drawBitmap() from the Adafruit_SSD1306 library.
Yes, I am sure that you can optimise the screen drawing. But you have to respect the datasheet I2C limits.
David.