summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyle Ambroff <ambroff@lindenlab.com>2010-11-04 12:37:02 -0700
committerKyle Ambroff <ambroff@lindenlab.com>2010-11-04 12:37:02 -0700
commitd5d389f062a042dfe65636f9ece6bc69bbd95065 (patch)
treefc60d2ccbf2d939c940b6623b23830373b366388
parenta788b0a88ce6980efeab731c7ad5d837aec1155f (diff)
ER-281: Object cache limit is too low in the viewer
* Bump CacheNumberOfRegionsForObjects up to 20k in the default settings. * Make LLVOCache *actually* use this setting, with no upper bound. Reviewed with Kelly.
-rw-r--r--indra/newview/app_settings/settings.xml4
-rw-r--r--indra/newview/llvocache.cpp13
2 files changed, 8 insertions, 9 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 33f5482e50..b46acfe83e 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -1150,13 +1150,13 @@
<key>CacheNumberOfRegionsForObjects</key>
<map>
<key>Comment</key>
- <string>Controls number of regions to be cached for objects, ranges from 16 to 128.</string>
+ <string>Controls number of regions to be cached for objects.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>U32</string>
<key>Value</key>
- <integer>128</integer>
+ <integer>20000</integer>
</map>
<key>CacheSize</key>
<map>
diff --git a/indra/newview/llvocache.cpp b/indra/newview/llvocache.cpp
index 8bdb8e069e..34e9babe2c 100644
--- a/indra/newview/llvocache.cpp
+++ b/indra/newview/llvocache.cpp
@@ -223,7 +223,6 @@ BOOL LLVOCacheEntry::writeToFile(LLAPRFile* apr_file) const
// Format string used to construct filename for the object cache
static const char OBJECT_CACHE_FILENAME[] = "objects_%d_%d.slc";
-const U32 MAX_NUM_OBJECT_ENTRIES = 128 ;
const U32 NUM_ENTRIES_TO_PURGE = 16 ;
const char* object_cache_dirname = "objectcache";
const char* header_filename = "object.cache";
@@ -291,9 +290,9 @@ void LLVOCache::initCache(ELLPath location, U32 size, U32 cache_version)
if (!mReadOnly)
{
LLFile::mkdir(mObjectCacheDirName);
- }
- mCacheSize = llclamp(size,
- MAX_NUM_OBJECT_ENTRIES, NUM_ENTRIES_TO_PURGE);
+ }
+
+ mCacheSize = size;
mMetaInfo.mVersion = cache_version;
readCacheHeader();
@@ -424,7 +423,7 @@ void LLVOCache::readCacheHeader()
HeaderEntryInfo* entry ;
mNumEntries = 0 ;
- while(mNumEntries < MAX_NUM_OBJECT_ENTRIES)
+ while(mNumEntries < mCacheSize)
{
entry = new HeaderEntryInfo() ;
if(!checkRead(apr_file, entry, sizeof(HeaderEntryInfo)))
@@ -477,10 +476,10 @@ void LLVOCache::writeCacheHeader()
}
mNumEntries = mHeaderEntryQueue.size() ;
- if(mNumEntries < MAX_NUM_OBJECT_ENTRIES)
+ if(mNumEntries < mCacheSize)
{
HeaderEntryInfo* entry = new HeaderEntryInfo() ;
- for(S32 i = mNumEntries ; i < MAX_NUM_OBJECT_ENTRIES ; i++)
+ for(S32 i = mNumEntries ; i < mCacheSize; i++)
{
//fill the cache with the default entry.
if(!checkWrite(apr_file, entry, sizeof(HeaderEntryInfo)))