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 }