Packaging (under Linux and Windows)

This is a discussion on Packaging (under Linux and Windows) within the Game Programming forums, part of the General Programming Boards category; What is the best way to pack binary data (textures, polygons, sound, all of it) and executable code?
The packing ...

Can anyone tell me how much dynamic linking slows a program down? What are the factor's involved in it? And how slow/fast can packed files be read and what's involved in that. The same about compression.

DLLs are just like exe's except that they differ by one important byte.

You could make a DLL loader or any type of loader for that fact as long as you have a place in memory to load it into. You could dynamically load code, graphics, sounds, etc. However, I recommend loading all graphics, sounds, textures, polies, etc. in the loading section of your game. At least load everything pertinent to the current level. The framerate demands of consumers today warrant that you must have everything pre-loaded or write a very clever way to load on the fly w/o taking framerate hits. The latter is very complex so I recommend the former.

Load it all since memory is not a big concern today. Allocate the memory from your OS, stuff it with your data, and retrieve it later.

Thor's self help tip:
Maybe a neighbor is tossing leaf clippings on your lawn, looking at your woman, or harboring desires regarding your longboat. You enslave his children, set his house on fire. He shall not bother you again.

I want to try loading most of the stuff on the fly. It is possible, so why not? Frame rate demands are high, detail levels too, but CPU's and GPU's are growing rather huge. If the GPU does the rendering and the CPU can in the mean time start loading resources? If the process starts a long way before you reach the level border, the system should have time to load all data (into system mem and into the graphic card's mem and slowly compile the graphics, so the process doesn't (visualy) kill the frame rate).

It should be possible to get it finetuned?

And if not, too bad, than I'll just have to load level by level.

(and about file formats: I don't even think about string parsing: an ordered binary library, so a recource block can be buffered and read easy and at once and than just pumped into the right objects. All resources uncompressed ofcourse, on the fly decompression is a bit to mad, even for me)