Consider using a cross-platform library like the SDL. Seriously. Your code might be infinitesmally slower -- but not much, especially with the SDL, because SDL uses DirectX behind the scenes. And your code will run on Linux, Windows, Mac, various BSD variants, and almost any modern operating system you could care to name. From libsdl.org:
If all you're doing is painting pixels, you really, really don't have to worry about speed. Even if you're doing quite complicated things.Quote:
SDL supports Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. The code contains support for AmigaOS, Dreamcast, Atari, AIX, OSF/Tru64, RISC OS, SymbianOS, and OS/2, but these are not officially supported.
What kind of computer are you using, that you should be worried about speed? My parallax main menu for xuni, written with the SDL, has no trouble running at 30FPS under 800MHz. And I haven't optimised it yet very much.
As a side note, I'd recommend the SDL over Allegro, because Allegro is older and doesn't really support Windows too well, IIRC. Just DOS, not DirectX. (That would make the SDL faster.) Allegro does have more extensive support for loading images and rotating them etc, but the same functionality can be had with the SDL with additional libraries such as SDL_gfx (SDL Graphics) and SDL_Image. Worry about that when you come to it.
Gotta love SDL_Image:
SDL_image is an image file loading library.
It [...] supports the following formats: BMP, GIF, JPEG, LBM, PCX, PNG, PNM, TGA, TIFF, XCF, XPM, XV