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 | 5e9e8073a054e8ebb5143f0ae510235599b28f79 (patch) | |
| tree | 2d26c90e5bb2edf975afe511f9999beca8c48382 /src/core/file_sys/submission_package.cpp | |
| parent | a1d3586e606f5a008b442d9335cbc783006f5286 (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/submission_package.cpp')
| -rw-r--r-- | src/core/file_sys/submission_package.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/core/file_sys/submission_package.cpp b/src/core/file_sys/submission_package.cpp index ef30846810..c35a0d10b4 100644 --- a/src/core/file_sys/submission_package.cpp +++ b/src/core/file_sys/submission_package.cpp @@ -21,7 +21,7 @@ namespace FileSys { namespace { void SetTicketKeys(const std::vector<VirtualFile>& files) { - Core::Crypto::KeyManager keys; + Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::instance(); for (const auto& ticket_file : files) { if (ticket_file == nullptr) { @@ -285,7 +285,7 @@ void NSP::ReadNCAs(const std::vector<VirtualFile>& files) { continue; } - auto next_nca = std::make_shared<NCA>(std::move(next_file), nullptr, 0, keys); + auto next_nca = std::make_shared<NCA>(std::move(next_file), nullptr, 0); if (next_nca->GetType() == NCAContentType::Program) { program_status[cnmt.GetTitleID()] = next_nca->GetStatus(); } |
