The fastest way of blitting bitmaps...

Hi there!

What is the fastest way to blit bitmaps on screen?

  1. WinAPI::BitBlt,
  2. DirectDraw blitting OR
  3. OpenGL blitting?

It depends on your hardware, but I don’t think you will find much difference if you just want to do a simple opaque blit with no transparency or other features.


Actually it would probably be faster to simply draw textured quads with some hardware accelerated API, like OpenGL or that other one.

Unless you’re just using GDI or some other graphics API. Or, if you can get direct framebuffer access then by all means a blit will be fast. But with OpenGL and APIs like that, the framebuffer is assumed to be protected and the fastest drawing is straight down the geometry pipeline.

But if all you’re going to be doing is dumping stuff to the screen, maybe you don’t even need OpenGL or another fancy graphics API. Maybe just GDI (or whatever else you use) will do.

Bottom of the line: If you’re using an API that supports hardware 3D acceleration, a textured quad will probably be faster than a standard image transfer. If you’re using an API that has routines specifically for block image transfers, use them.