diff options
| author | FearlessTobi <thm.frey@gmail.com> | 2020-05-20 21:28:16 +0200 |
|---|---|---|
| committer | FearlessTobi <thm.frey@gmail.com> | 2020-05-20 21:28:16 +0200 |
| commit | 9f82a9a2444a232e746992fa89084b928255cb63 (patch) | |
| tree | 2d26c90e5bb2edf975afe511f9999beca8c48382 /src/core/file_sys/content_archive.h | |
| parent | 41682e0888f7cb640787ab8d9a7e5c0ebb83d8fa (diff) | |
crypto: Make KeyManager a singleton class
Previously, we were reading the keys everytime a KeyManager object was created, causing yuzu to reread the keys file multiple hundreds of times when loading the game list.
With this change, it is only loaded once.
On my system, this decreased game list loading times by a factor of 20.
Diffstat (limited to 'src/core/file_sys/content_archive.h')
| -rw-r--r-- | src/core/file_sys/content_archive.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/core/file_sys/content_archive.h b/src/core/file_sys/content_archive.h index e249079b5..e6c887b32 100644 --- a/src/core/file_sys/content_archive.h +++ b/src/core/file_sys/content_archive.h @@ -99,8 +99,7 @@ inline bool IsDirectoryLogoPartition(const VirtualDir& pfs) { class NCA : public ReadOnlyVfsDirectory { public: explicit NCA(VirtualFile file, VirtualFile bktr_base_romfs = nullptr, - u64 bktr_base_ivfc_offset = 0, - Core::Crypto::KeyManager keys = Core::Crypto::KeyManager()); + u64 bktr_base_ivfc_offset = 0); ~NCA() override; Loader::ResultStatus GetStatus() const; @@ -159,7 +158,7 @@ private: bool encrypted = false; bool is_update = false; - Core::Crypto::KeyManager keys; + Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::instance(); }; } // namespace FileSys |
