I'm surprised no one has mentioned this, yet...but based on the 30 second overview, this sounds a lot like the existing madvise() function. Programs can use that to tell the OS "If you're running low on memory, feel free to throw this away, and just give me zeroes later." It's existed on Linux since at least the 2.4 kernel, and also exists on BSD and MacOS X.
In the OpenGL world, this is exposed by the GL_APPLE_object_purgeable extension. As an example, a game might keep textures it doesn't need right away as "purgeable", rather than freeing them. When there's sufficient memory, this keeps them loaded for quick access. If the system starts running out of memory, the OS is free to throw them away - the game can always reload them from disk when it really needs them.
It's a really sensible idea.
In the OpenGL world, this is exposed by the GL_APPLE_object_purgeable extension. As an example, a game might keep textures it doesn't need right away as "purgeable", rather than freeing them. When there's sufficient memory, this keeps them loaded for quick access. If the system starts running out of memory, the OS is free to throw them away - the game can always reload them from disk when it really needs them.
It's a really sensible idea.
Comment