Naive limiter, VSync disabled
This commit is contained in:
parent
c818093528
commit
d0cb042ff4
2 changed files with 36 additions and 5 deletions
|
@ -5,6 +5,7 @@ using Ryujinx.Graphics.Gal;
|
|||
using Ryujinx.HLE;
|
||||
using Ryujinx.HLE.Input;
|
||||
using System;
|
||||
using Stopwatch = System.Diagnostics.Stopwatch;
|
||||
|
||||
namespace Ryujinx
|
||||
{
|
||||
|
@ -38,14 +39,44 @@ namespace Ryujinx
|
|||
(DisplayDevice.Default.Height / 2) - (Height / 2));
|
||||
}
|
||||
|
||||
protected override void OnLoad(EventArgs e)
|
||||
public void MainLoop()
|
||||
{
|
||||
VSync = VSyncMode.On;
|
||||
Load();
|
||||
|
||||
Visible = true;
|
||||
|
||||
Stopwatch Chrono = new Stopwatch();
|
||||
|
||||
Chrono.Start();
|
||||
|
||||
long TicksPerFrame = Stopwatch.Frequency / 60;
|
||||
|
||||
while (Exists && !IsExiting)
|
||||
{
|
||||
ProcessEvents();
|
||||
|
||||
if (!IsExiting)
|
||||
{
|
||||
if (Chrono.ElapsedTicks > TicksPerFrame)
|
||||
{
|
||||
UpdateFrame();
|
||||
|
||||
RenderFrame();
|
||||
|
||||
Chrono.Restart();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private new void Load()
|
||||
{
|
||||
//VSync = VSyncMode.On;
|
||||
|
||||
Renderer.FrameBuffer.SetWindowSize(Width, Height);
|
||||
}
|
||||
|
||||
protected override void OnUpdateFrame(FrameEventArgs e)
|
||||
private new void UpdateFrame()
|
||||
{
|
||||
HidControllerButtons CurrentButton = 0;
|
||||
HidJoystickPosition LeftJoystick;
|
||||
|
@ -185,7 +216,7 @@ namespace Ryujinx
|
|||
Renderer.RunActions();
|
||||
}
|
||||
|
||||
protected override void OnRenderFrame(FrameEventArgs e)
|
||||
private new void RenderFrame()
|
||||
{
|
||||
Renderer.FrameBuffer.Render();
|
||||
|
||||
|
|
|
@ -67,7 +67,7 @@ namespace Ryujinx
|
|||
Screen.Exit();
|
||||
};
|
||||
|
||||
Screen.Run(0.0, 60.0);
|
||||
Screen.MainLoop();
|
||||
}
|
||||
|
||||
Environment.Exit(0);
|
||||
|
|
Loading…
Reference in a new issue