2012-07-20, 21:15
In the Wiki it states that the cachemembuffersize setting consumes 3X the amount of ram, howerver I was wondering if that is still the case or if it is out of date?
Looking at the source it appears that xbmc / xbmc / filesystem / MemBufferCache.cpp uses that amount however xbmc / xbmc / filesystem / FileCache.cpp doesn't seem to use that caching strategy anymore (as of March 25th, 2011) and instead uses either CSimpleFileCache (uses a temp file cache) if cachemembuffersize = 0 or CCircularCache (cache size is 1.25 X of cachemembuffersize, uses file backed by paging file on windows otherwise memory) if the number is greater then 0 per the code:
if (g_advancedSettings.m_cacheMemBufferSize == 0)
m_pCache = new CSimpleFileCache();
else
m_pCache = new CCircularCache(g_advancedSettings.m_cacheMemBufferSize
, std::max<unsigned int>( g_advancedSettings.m_cacheMemBufferSize / 4, 1024 * 1024));
Am I missing something or is MemBufferCache.cpp being used elsewhere?
Looking at the source it appears that xbmc / xbmc / filesystem / MemBufferCache.cpp uses that amount however xbmc / xbmc / filesystem / FileCache.cpp doesn't seem to use that caching strategy anymore (as of March 25th, 2011) and instead uses either CSimpleFileCache (uses a temp file cache) if cachemembuffersize = 0 or CCircularCache (cache size is 1.25 X of cachemembuffersize, uses file backed by paging file on windows otherwise memory) if the number is greater then 0 per the code:
if (g_advancedSettings.m_cacheMemBufferSize == 0)
m_pCache = new CSimpleFileCache();
else
m_pCache = new CCircularCache(g_advancedSettings.m_cacheMemBufferSize
, std::max<unsigned int>( g_advancedSettings.m_cacheMemBufferSize / 4, 1024 * 1024));
Am I missing something or is MemBufferCache.cpp being used elsewhere?