Months have passed - better update my advogato page. :)
Things are progressing well with ClanLib. clanDisplay2 is reaching a state where it can be used to create real games - my Pacman game has already been ported. Its not feature complete, but it gives an idea of what direction I'd like the new display component of ClanLib to end up.
I recently read an article called It's STILL loading? from the Game Development Conference (GDC). Normally I'm way too lazy to read these kind of articles, but lately sphair have been complaining about ClanLib being slow at loading resources. So I decided to give it a try and see if there was something interesting in the article that wasn't just plain obvious. :)
Unfortantly the article doesn't really do a good job at focusing on a specific topic. It uses most of the text on explaining why having things as a package (datafile) is better than as raw files, how files should be modified while game is still running, and all kinds of similar abstract ideas.
Its a lot of claims without numbers. For instance, the article mentions how opening stuff from your own home-made datafile index hash table is quicker than opening files using the operating system - and of course it can be faster. But how much faster? How many resources do you need before it becomes a real issue anyway? He mentions how many resources a whole game contains - but thats not really fair, since they aren't all loaded simultaneously.
Its not like I dont think all those things wouldn't be cool to have in a resource system - its more a question if its worth the efford. I could imagine that its far more important if the individual resource loaders are fast - and he does mention converting common formats to game specific formats, but its not what the article is focusing on.
The article also touches the concept of loading stuff using mmap, and even mentions how the emulation layer of mmap in Windows 9x totally sucks. But again, there are no numbers, so its hard to tell if memory mapping a resource will give a 10% boost, a 50% boost or triple the loading speed. He obviously gave it a little thought, since his API allows resources to be specified as random accessed, block or streamed. Just need some numbers to know if its worth the efford. :)
My point here is that it could just as well be smart resource loaders/savers that make his games load fast, as much as its the file system structure itself. Its probably a combination, but its pure guessing until you got that profiling of the system. :)