Added option to synchronize core tick speed to max speed percentage
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
#include "common/x64/cpu_wait.h"
|
||||
#endif
|
||||
|
||||
#include "common/settings.h"
|
||||
#include "common/microprofile.h"
|
||||
#include "core/core_timing.h"
|
||||
#include "core/hardware_properties.h"
|
||||
@@ -184,10 +185,20 @@ void CoreTiming::ResetTicks() {
|
||||
}
|
||||
|
||||
u64 CoreTiming::GetClockTicks() const {
|
||||
u64 fres;
|
||||
if (is_multicore) [[likely]] {
|
||||
return clock->GetCNTPCT();
|
||||
fres = clock->GetCNTPCT();
|
||||
} else {
|
||||
fres = Common::WallClock::CPUTickToCNTPCT(cpu_ticks);
|
||||
}
|
||||
|
||||
if (Settings::values.sync_core_speed.GetValue()) {
|
||||
const double ticks = static_cast<double>(fres);
|
||||
const double speed_limit = static_cast<double>(Settings::values.speed_limit.GetValue())*0.01;
|
||||
return static_cast<u64>(ticks/speed_limit);
|
||||
} else {
|
||||
return fres;
|
||||
}
|
||||
return Common::WallClock::CPUTickToCNTPCT(cpu_ticks);
|
||||
}
|
||||
|
||||
u64 CoreTiming::GetGPUTicks() const {
|
||||
|
||||
Reference in New Issue
Block a user