Metroid Prime
November 17, 2002
Add Trivia
Viewing Single Trivia

1
According to programmer Zoid Kirsch, when rooms are streamed in behind doors, it's loading a compressed copy of the room (i.e. geometry, textures, models, game data). After the compressed copy is loaded into internal memory, space is allocated to decompress the room into, meaning memory is needed for both the compressed and decompressed copy. Since the GameCube has 24MB of RAM, the developers found that having both compressed and decompressed was too expensive to work with (see top image).

To solve this problem, they licensed an open source decompression library (Kirsch does not remember specifically what library but it might have been Lempel–Ziv–Oberhumer) that allows allocation of a single decompressed sized block, then loads the compressed copy into the upper section of the memory block, and decompresses it in place overwriting the compressed copy (see bottom image). This library fixed many issues with memory fragmentation and basically allowed the size of the game's rooms to be much larger.
person MehDeletingLater calendar_month September 15, 2023
Attachment
Attachment

Comments (0)


You must be logged in to post comments.

Related Games