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.
This commit is contained in:
FearlessTobi
2020-05-20 21:28:16 +02:00
parent 41682e0888
commit 9f82a9a244
13 changed files with 27 additions and 21 deletions

View File

@ -2116,7 +2116,7 @@ void GMainWindow::OnReinitializeKeys(ReinitializeKeyBehavior behavior) {
"title.keys_autogenerated");
}
Core::Crypto::KeyManager keys{};
Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::instance();
if (keys.BaseDeriveNecessary()) {
Core::Crypto::PartitionDataManager pdm{vfs->OpenDirectory(
FileUtil::GetUserPath(FileUtil::UserPath::SysDataDir), FileSys::Mode::Read)};