summaryrefslogtreecommitdiff
path: root/indra/newview/llmeshrepository.h
diff options
context:
space:
mode:
authorRye Mutt <rye@alchemyviewer.org>2022-09-27 16:26:18 -0400
committerRye Mutt <rye@alchemyviewer.org>2022-09-27 17:59:21 -0400
commite83146ce0c4310c7a0c03a10b562e7317df034f6 (patch)
tree9588810ba397c4f2bd743e5e11916b59c758fe1f /indra/newview/llmeshrepository.h
parent7dcdc4c37823c2db86454d3ba142f09b0475b4d8 (diff)
Optimize away constant map finds in getSkinInfo by caching mesh skin into in vovolume
Diffstat (limited to 'indra/newview/llmeshrepository.h')
-rw-r--r--indra/newview/llmeshrepository.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/indra/newview/llmeshrepository.h b/indra/newview/llmeshrepository.h
index 2cade8f01e..a5b985ee76 100644
--- a/indra/newview/llmeshrepository.h
+++ b/indra/newview/llmeshrepository.h
@@ -284,7 +284,7 @@ public:
std::set<UUIDBasedRequest> mSkinRequests;
// list of completed skin info requests
- std::list<LLMeshSkinInfo> mSkinInfoQ;
+ std::list<LLMeshSkinInfo*> mSkinInfoQ;
//set of requested decompositions
std::set<UUIDBasedRequest> mDecompositionRequests;
@@ -581,7 +581,8 @@ public:
void notifyLoadedMeshes();
void notifyMeshLoaded(const LLVolumeParams& mesh_params, LLVolume* volume);
void notifyMeshUnavailable(const LLVolumeParams& mesh_params, S32 lod);
- void notifySkinInfoReceived(LLMeshSkinInfo& info);
+ void notifySkinInfoReceived(LLMeshSkinInfo* info);
+ void notifySkinInfoUnavailable(const LLUUID& info);
void notifyDecompositionReceived(LLModel::Decomposition* info);
S32 getActualMeshLOD(const LLVolumeParams& mesh_params, S32 lod);
@@ -614,7 +615,7 @@ public:
typedef boost::unordered_map<LLUUID, std::vector<LLUUID> > mesh_load_map;
mesh_load_map mLoadingMeshes[4];
- typedef std::unordered_map<LLUUID, LLMeshSkinInfo> skin_map;
+ typedef std::unordered_map<LLUUID, LLPointer<LLMeshSkinInfo>> skin_map;
skin_map mSkinMap;
typedef std::map<LLUUID, LLModel::Decomposition*> decomposition_map;
@@ -650,6 +651,8 @@ public:
std::vector<LLMeshUploadThread*> mUploadWaitList;
LLPhysicsDecomp* mDecompThread;
+
+ LLFrameTimer mSkinInfoCullTimer;
class inventory_data
{