mirror of
https://github.com/Ryubing/Ryujinx.git
synced 2026-02-16 08:26:50 -05:00
feature: Turbo Mode
Adds an elapsed tick multiplier feature which speeds up games which are built upon delta time. More information: https://web.archive.org/web/20240713135029/https://github.com/Ryujinx/Ryujinx/pull/6456
This commit is contained in:
@@ -14,12 +14,37 @@ namespace Ryujinx.Cpu
|
||||
|
||||
/// <inheritdoc/>
|
||||
public ulong Counter => (ulong)(ElapsedSeconds * Frequency);
|
||||
|
||||
|
||||
public long TickScalar { get; set; }
|
||||
|
||||
|
||||
private static long _acumElapsedTicks;
|
||||
|
||||
|
||||
private static long _lastElapsedTicks;
|
||||
|
||||
|
||||
private long ElapsedTicks
|
||||
{
|
||||
get
|
||||
{
|
||||
long elapsedTicks = _tickCounter.ElapsedTicks;
|
||||
|
||||
_acumElapsedTicks += (elapsedTicks - _lastElapsedTicks) * TickScalar / 100;
|
||||
|
||||
_lastElapsedTicks = elapsedTicks;
|
||||
|
||||
return _acumElapsedTicks;
|
||||
}
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public TimeSpan ElapsedTime => _tickCounter.Elapsed;
|
||||
|
||||
public TimeSpan ElapsedTime => Stopwatch.GetElapsedTime(0, ElapsedTicks);
|
||||
|
||||
/// <inheritdoc/>
|
||||
public double ElapsedSeconds => _tickCounter.ElapsedTicks * _hostTickFreq;
|
||||
public double ElapsedSeconds => ElapsedTicks * _hostTickFreq;
|
||||
|
||||
public TickSource(ulong frequency)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user