Original Post
In large virtual environments where all resource related data can not simultaneously fit inside memory (lands of oblivion come to mind as an example) some transparent method of streaming should be used to swap resources in and out of memory, very much like a paging memory-management scheme used by operating systems. I was wondering if there is any of you guys with an experience of implementing such a system who can answer some of my questions in this regard. I absolutely appreciate any helps/ideas/suggestions: 1) How does reference counting (smart pointers, weak references and such) fit in such a system? What is the need for them? I especially appreciate a simple example on this. 2) What subsystem of the engine decides to unload/reload resources that go out of/come into view? Is the scenegraph responsible for such calls to resource manager to do the job for us? 3) Using what criteria does the responsible subsystem decide what/when to unload/reload resources? 4) Any guides on how to implement such a system? Thanks in advance, Ashkan