There’s a couple of neat features in this snapshot:
http://www.devolution.com/~slouken/SDL/develop.html
Thanks to Moses DeJong , demos built with the new
GNU Makefile (in the demos archive) will now automatically load the SDL
library from the SDL library directory – no more setting the
LD_LIBRARY_PATH environment variable under Linux.
This hasn’t yet been tested under Solaris, but it should work.
A great big thank you goes to brn , the author of
the X11 port of the Prometheus TrueColor toolkit:
http://www.cs.ucl.ac.uk/students/c.nentwich/ptc
This is a very nice C++ library for doing 32-bit window graphics and
converting on the fly to the display format.
brn got me excited about optimizing the SDL blitters, and now SDL kicks butt:
(Optimized 8-bit to 16/32-bit and 32-bit to 16/8-bit)
This is the Fire demo from the PTC library:==========================================
Results on my machine, both compiled with gcc 2.7.2 and -O2:
(P2 300 under Linux 16-bit X11 window, average over 5 runs, no load)
SDL 0.8d: 148 FPS
PTC 2.0.5: 114 FPS (asm)
PTC 2.0.5: 119 FPS ©
This is the Tunnel demo from the PTC library:
Results on my machine, both compiled with gcc 2.7.2 and -O2:
(P2 300 under Linux 16-bit X11 window, average over 5 runs, no load)
SDL 0.8d: 85 FPS
PTC 2.0.5: 83 FPS (mmx)
PTC 2.0.5: 71 FPS (asm)
PTC 2.0.5: 57 FPS ©
No, those numbers are not crazy – the C optimizer does a very good job.
Now, keep in mind that those numbers reflect SDL carefully optimized,
v.s. stock PTC 2.0.5. brn hasn’t had a chance to look at my code and
optimize his to match.
Hopefully when his mmx code stars kicking SDL’s butt, he’ll let us use it.
You can check out the fire and tunnel demos, along with the PTC emulation
headers, in the latest CVS snapshot of the demos archive. It’s also a good
example of a C++ wrapper around SDL.
The nice thing is, the cases optimized to show off SDL are very common ones.
See ya!
-Sam Lantinga (slouken at devolution.com)