diff options
| author | Nyx (Neal Orman) <nyx@lindenlab.com> | 2010-09-01 10:59:45 -0400 |
|---|---|---|
| committer | Nyx (Neal Orman) <nyx@lindenlab.com> | 2010-09-01 10:59:45 -0400 |
| commit | e3fec30097a28689a7022d06005d7d59a3004f0c (patch) | |
| tree | e143c9775e3c2867bb95b7726598f5b057a04770 /indra/newview/llfloatertools.cpp | |
| parent | d8fd52341a2ff47c6f929540628f2f0017c8b185 (diff) | |
CTS-231 WIP create new ARC algorithm to be more accurate and account for meshes
First pass - uses the new algorithm to hopefully be more accurate of render load
on low-end machines. Also accounts for mesh complexity, including if a mesh is
weighted or non-weighted.
Code reviewed by davep
Diffstat (limited to 'indra/newview/llfloatertools.cpp')
| -rw-r--r-- | indra/newview/llfloatertools.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/indra/newview/llfloatertools.cpp b/indra/newview/llfloatertools.cpp index 5472531fa7..fa5d9b0892 100644 --- a/indra/newview/llfloatertools.cpp +++ b/indra/newview/llfloatertools.cpp @@ -1007,7 +1007,7 @@ void LLFloaterTools::onClickGridOptions() S32 LLFloaterTools::calcRenderCost() { S32 cost = 0; - std::set<LLUUID> textures; + LLVOVolume::texture_cost_t textures; for (LLObjectSelection::iterator selection_iter = LLSelectMgr::getInstance()->getSelection()->begin(); selection_iter != LLSelectMgr::getInstance()->getSelection()->end(); @@ -1020,7 +1020,11 @@ S32 LLFloaterTools::calcRenderCost() if (viewer_volume) { cost += viewer_volume->getRenderCost(textures); - cost += textures.size() * LLVOVolume::ARC_TEXTURE_COST; + for (LLVOVolume::texture_cost_t::iterator iter = textures.begin(); iter != textures.end(); ++iter) + { + // add the cost of each individual texture in the linkset + cost += iter->second; + } textures.clear(); } } |
