Linux-Based Gaming Handheld To Rely On Low Material Cost, Indie Apps
dartttt writes "Robert Pelloni and his team are working to develop an indie handheld gaming console, the 'nD,' which will run a number of indie games. The device will support 2D games only, and will run a custom-developed, embedded Linux firmware. It will have its own Game Store, which will allow users to download games. The SDK will be released soon, and is based on open source gaming standard SDL. Developers are being told that they can actually start making and compiling games on Windows, Mac and Linux using a 320x240 resolution."
It's unfortunate that a library as bloated and weakly optimized as SDL is becoming a "standard". I started using it a few years back and then, after I was not happy with the performance, I looked at the source and noticed gems such as, under Windows the fact that SDL_SemWait() was always calling WaitForSingleObject() (which is every time a kernel call with huge switching overhead) and had no atomic read-write-modify fast-path. I'm reminded of a comment on gamedev.net by someone that "SDL killed my parents" and it struck a note of harmony with me despite the overdramatization. Look, if one is writing for games, one should be striving for efficiency. SDL is too big and tries to do everything; jack of all trades and master of none. For example, instead of using an SDL event queue, you should be using a lock-free, cache-optimized queue such as https://sourceforge.net/projects/mc-fastflow/ Similar points go for other areas of the framework. The best policy is to find the best libraries to use for each domain within your project. Here's a fantastic highly optimized math library for games, for example: http://www.cmldev.net/ For some areas, it may even make sense to roll your own, such as writing custom synchronization primitives which can beat what's provided by the OS/threading libraries: see http://locklessinc.com/articles/
"Politicians and diapers must be changed often, and for the same reason."