The target language is C/C++ and the program has only to work on Linux, but platform independent solutions are preferred obviously. I run Xorg, XVideo and OpenGL are available.<
The fastest way to draw a 2D array of color triplets:
GL_LUMINANCE
storage when you don't need hue - much faster!)glTexImage2D
GL_TEXTURE_MIN_FILTER
texture parameter is set to GL_NEAREST
This method is slightly faster than glDrawPixels
(which for some reason tends to be badly implemented) and a lot faster than using the platform's native blitting.
Also, it gives you the option to repeatedly do step 4 without step 2 when your pixmap hasn't changed, which of course is much faster.
Libraries that provide only slow native blitting include:
As to the FPS you can expect, drawing a 1024x768 texture on an Intel Core 2 Duo with Intel graphics: about 60FPS if the texture changes every frame and >100FPS if it doesn't.
But just do it yourself and see ;)