core_timing: Remove GetCurrentTimerResolution in CoreTiming loop

Other programs may change this value, but if thousands of syscalls in this loop is undesirable, then we can just set this once.
This commit is contained in:
Morph 2023-07-02 15:05:35 -04:00
parent 0a416da90b
commit 81ba61a0bd
4 changed files with 22 additions and 5 deletions
src/yuzu_cmd

View file

@ -21,6 +21,7 @@
#include "common/string_util.h"
#include "common/telemetry.h"
#include "core/core.h"
#include "core/core_timing.h"
#include "core/cpu_manager.h"
#include "core/crypto/key_manager.h"
#include "core/file_sys/registered_cache.h"
@ -316,8 +317,6 @@ int main(int argc, char** argv) {
#ifdef _WIN32
LocalFree(argv_w);
Common::Windows::SetCurrentTimerResolutionToMaximum();
#endif
MicroProfileOnThreadCreate("EmuThread");
@ -351,6 +350,11 @@ int main(int argc, char** argv) {
break;
}
#ifdef _WIN32
Common::Windows::SetCurrentTimerResolutionToMaximum();
system.CoreTiming().SetTimerResolutionNs(Common::Windows::GetCurrentTimerResolution());
#endif
system.SetContentProvider(std::make_unique<FileSys::ContentProviderUnion>());
system.SetFilesystem(std::make_shared<FileSys::RealVfsFilesystem>());
system.GetFileSystemController().CreateFactories(*system.GetFilesystem());