Mercurial > fife-parpg
comparison engine/core/util/resource/pool.cpp @ 144:d2f1e81fbe2c
* Fixed a scons issue, where libraries checked for C instead of C++
* Fixed a shutdown order problem - deleting a GLImage will reference the RenderBackend, thus image pools must be deleted first.
* Added an explicit Engine.destroy method to force the shutdown, in case python fails to do so. Necessary - see above.
* The Pool::printStatistics now gives out information how many resources are loaded. Called before destruction. Add 'pool' to the LogModules to check memory pooling issues.
author | phoku@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Thu, 09 Oct 2008 06:18:36 +0000 |
parents | 69a7d40ccf62 |
children | 54b3984e1afc |
comparison
equal
deleted
inserted
replaced
143:fe7ff4808529 | 144:d2f1e81fbe2c |
---|---|
43 m_curind(0) | 43 m_curind(0) |
44 { | 44 { |
45 } | 45 } |
46 | 46 |
47 Pool::~Pool() { | 47 Pool::~Pool() { |
48 FL_LOG(_log, LMsg("Pool destroyed ")); | |
49 printStatistics(); | |
48 clear(); | 50 clear(); |
49 std::vector<ResourceLoader*>::iterator loader; | 51 std::vector<ResourceLoader*>::iterator loader; |
50 for (loader = m_loaders.begin(); loader != m_loaders.end(); loader++) { | 52 for (loader = m_loaders.begin(); loader != m_loaders.end(); loader++) { |
51 delete (*loader); | 53 delete (*loader); |
52 } | 54 } |
207 } | 209 } |
208 }; | 210 }; |
209 } | 211 } |
210 | 212 |
211 void Pool::printStatistics() { | 213 void Pool::printStatistics() { |
212 FL_LOG(_log, LMsg("Pool size =") << m_entries.size()); | 214 FL_LOG(_log, LMsg("Pool not loaded =") << getResourceCount(RES_NON_LOADED)); |
215 FL_LOG(_log, LMsg("Pool loaded =") << getResourceCount(RES_LOADED)); | |
216 FL_LOG(_log, LMsg("Pool total size =") << m_entries.size()); | |
213 } | 217 } |
214 } | 218 } |