Ryujinx/Ryujinx.Graphics.Gpu
riperiperi 10aa11ce13
Interrupt GPU command processing when a frame's fence is reached. (#1741)
* Interrupt GPU command processing when a frame's fence is reached.

* Accumulate times rather than %s

* Accurate timer for vsync

Spin wait for the last .667ms of a frame. Avoids issues caused by signalling 16ms vsync. (periodic stutters in smo)

* Use event wait for better timing.

* Fix lazy wait

Windows doesn't seem to want to do 1ms consistently, so force a spin if we're less than 2ms.

* A bit more efficiency on frame waits.

Should now wait the remainder 0.6667 instead of 1.6667 sometimes (odd waits above 1ms are reliable, unlike 1ms waits)

* Better swap interval 0 solution

737 fps without breaking a sweat. Downside: Vsync can no longer be disabled on games that use the event heavily (link's awakening - which is ok since it breaks anyways)

* Fix comment.

* Address Comments.
2020-12-17 19:39:52 +01:00
..
Engine Interrupt GPU command processing when a frame's fence is reached. (#1741) 2020-12-17 19:39:52 +01:00
Image GPU - Improve Memory Allocation (#1722) 2020-12-09 19:26:05 -03:00
Memory GPU: Improve unnecessary return value in Map function. (#1799) 2020-12-11 06:05:53 +01:00
Shader salieri: Support read-only mode if archive is already opened (#1807) 2020-12-13 08:46:07 +01:00
State Implement Force Early Z Register (#1755) 2020-12-02 00:13:27 +01:00
Synchronization
ClassId.cs
Constants.cs
GpuContext.cs shader cache: Fix Linux boot issues (#1709) 2020-11-17 22:40:19 +01:00
GraphicsConfig.cs Salieri: shader cache (#1701) 2020-11-13 00:15:34 +01:00
MethodParams.cs
Ryujinx.Graphics.Gpu.csproj infra: Migrate to .NET 5 (#1694) 2020-11-15 19:27:15 +01:00
ShadowRamControl.cs
Window.cs Interrupt GPU command processing when a frame's fence is reached. (#1741) 2020-12-17 19:39:52 +01:00