diff options
author | Rye Mutt <rye@alchemyviewer.org> | 2022-09-27 16:26:18 -0400 |
---|---|---|
committer | Rye Mutt <rye@alchemyviewer.org> | 2022-09-27 17:59:21 -0400 |
commit | e83146ce0c4310c7a0c03a10b562e7317df034f6 (patch) | |
tree | 9588810ba397c4f2bd743e5e11916b59c758fe1f /indra/newview/llmeshrepository.h | |
parent | 7dcdc4c37823c2db86454d3ba142f09b0475b4d8 (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.h | 9 |
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 { |