[Core]: Rework Custom CPU Ticks logic / quality
All checks were successful
eden-license / license-header (pull_request) Successful in 30s
All checks were successful
eden-license / license-header (pull_request) Successful in 30s
This commit is contained in:
parent
8dd0e84343
commit
49857e962d
1 changed files with 11 additions and 5 deletions
|
@ -174,15 +174,21 @@ void CoreTiming::UnscheduleEvent(const std::shared_ptr<EventType>& event_type,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static u64 GetNextTickCount(u64 next_ticks) {
|
||||||
|
if (Settings::values.use_custom_cpu_ticks.GetValue()) {
|
||||||
|
return Settings::values.cpu_ticks.GetValue();
|
||||||
|
}
|
||||||
|
return next_ticks;
|
||||||
|
}
|
||||||
|
|
||||||
void CoreTiming::AddTicks(u64 ticks_to_add) {
|
void CoreTiming::AddTicks(u64 ticks_to_add) {
|
||||||
cpu_ticks = Settings::values.use_custom_cpu_ticks.GetValue()
|
const u64 ticks = GetNextTickCount(ticks_to_add);
|
||||||
? Settings::values.cpu_ticks.GetValue()
|
cpu_ticks += ticks;
|
||||||
: cpu_ticks + ticks_to_add;
|
downcount -= static_cast<s64>(ticks);
|
||||||
downcount -= static_cast<s64>(cpu_ticks);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CoreTiming::Idle() {
|
void CoreTiming::Idle() {
|
||||||
cpu_ticks += 1000U;
|
AddTicks(1000U);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CoreTiming::ResetTicks() {
|
void CoreTiming::ResetTicks() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue