diff options
| author | Xiaohong Bao <bao@lindenlab.com> | 2010-07-01 15:33:06 -0600 |
|---|---|---|
| committer | Xiaohong Bao <bao@lindenlab.com> | 2010-07-01 15:33:06 -0600 |
| commit | 9fafe9853ad00dea98c39dc4501eedf4b5970207 (patch) | |
| tree | 8130021ed6d5659c20bc4f0d851a39fcb82af5ca /indra/newview/llvoavatar.cpp | |
| parent | a9f2f874c8292b79ac66ff6ceb3bd2daede1b736 (diff) | |
more for EXT-7839: texture console is stalled;
EXT-7500: Texture Jamming problems with http texture off;
Diffstat (limited to 'indra/newview/llvoavatar.cpp')
| -rw-r--r-- | indra/newview/llvoavatar.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 86e07c3126..1954a573d4 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -4228,21 +4228,21 @@ void LLVOAvatar::checkTextureLoading() static const F32 MAX_INVISIBLE_WAITING_TIME = 30.f ; //seconds BOOL pause = !isVisible() ; + if(!pause) + { + mInvisibleTimer.reset() ; + } if(mLoadedCallbacksPaused == pause) { return ; } - if(mCallbackTextureList.empty()) + if(mCallbackTextureList.empty()) //when is self or no callbacks. Note: this list for self is always empty. { mLoadedCallbacksPaused = pause ; return ; //nothing to check. } - - if(!pause) - { - mInvisibleTimer.reset() ; - } + if(pause && mInvisibleTimer.getElapsedTimeF32() < MAX_INVISIBLE_WAITING_TIME) { return ; @@ -4263,7 +4263,7 @@ void LLVOAvatar::checkTextureLoading() static const F32 START_AREA = 100.f ; tex->unpauseLoadedCallbacks(this) ; - tex->addTextureStats(START_AREA); //jump satrt the fetching again + tex->addTextureStats(START_AREA); //jump start the fetching again } } } @@ -4274,6 +4274,7 @@ void LLVOAvatar::checkTextureLoading() void LLVOAvatar::addBakedTextureStats( LLViewerFetchedTexture* imagep, F32 pixel_area, F32 texel_area_ratio, S32 boost_level) { + //if this function is not called for the last 512 frames, the texture pipeline will stop fetching this texture. static const S32 MAX_TEXTURE_VIRTURE_SIZE_RESET_INTERVAL = 512 ; //frames imagep->resetTextureStats(); |
