ryujinx/src/Ryujinx.HLE/HOS/Services
riperiperi 1be668e68a
HLE: Add OS-specific precise sleep methods to reduce spinwaiting (#5948)
* feat: add nanosleep for linux and macos

* Add Windows 0.5ms sleep

- Imprecise waits for longer waits with clock alignment
- 1/4 the spin time on vsync timer

* Remove old experiment

* Fix event leak

* Tweaking for MacOS

* Linux tweaks, nanosleep vsync improvement

* Fix overbias

* Cleanup

* Fix realignment

* Add some docs and some cleanup

NanosleepPool needs more, Nanosleep has some benchmark code that needs removed.

* Rename "Microsleep" to "PreciseSleep"

Might have been confused with "microseconds", which no measurement is performed in.

* Remove nanosleep measurement

* Remove unused debug logging

* Nanosleep Pool Documentation

* More cleanup

* Whitespace

* Formatting

* Address Feedback

* Allow SleepUntilTimePoint to take EventWaitHandle

* Remove `_chrono` stopwatch in SurfaceFlinger

* Move spinwaiting logic to PreciseSleepHelper

Technically, these achieve different things, but having them here makes them easier to reuse or tune.
2023-11-30 15:39:42 -03:00
..
Account [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Am lbl: Migrate service to Horizon (#5628) 2023-09-14 09:50:19 +02:00
Apm [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Arp [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Audio opus: Implement GetWorkBufferSizeExEx and GetWorkBufferSizeForMultiStreamExEx (#5624) 2023-08-30 22:04:25 +02:00
Bgtc [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Bluetooth [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
BluetoothManager [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Caps [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Cec [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Ectx [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Erpt [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Es [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Eupld [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Fatal [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Friend Signal friends completion event and stub CheckBlockedUserListAvailability (#5743) 2023-09-29 13:24:44 +02:00
Fs Update to LibHac 0.19.0 (#5831) 2023-10-22 20:30:46 -03:00
Grc [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Hid [Hotfix] hid: Prevent out of bounds array access (#5547) 2023-08-10 00:29:15 -03:00
Ldn Add ldn_mitm as a network client for LDN (#5656) 2023-10-26 00:32:13 +02:00
Loader [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Mig [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Mii HLE: Fix Mii crc generation and minor issues (#5766) 2023-10-06 19:23:39 -03:00
Mnpp [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Ncm [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
News [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Nfc Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ngct [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Nifm [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Nim [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Notification [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Npns [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Ns [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Nv Migrate to .NET 8 (#5887) 2023-11-15 17:41:31 +01:00
Olsc [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Pcie [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Pctl [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Pcv [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Pm [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Ptm [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Ro [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Sdb [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Settings [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Sm Strings should not be concatenated using '+' in a loop (#5664) 2023-10-05 12:41:00 +02:00
Sockets Migrate to .NET 8 (#5887) 2023-11-15 17:41:31 +01:00
Spl [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Ssl Migrate to .NET 8 (#5887) 2023-11-15 17:41:31 +01:00
SurfaceFlinger HLE: Add OS-specific precise sleep methods to reduce spinwaiting (#5948) 2023-11-30 15:39:42 -03:00
Time [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
Vi Strings should not be concatenated using '+' in a loop (#5664) 2023-10-05 12:41:00 +02:00
CommandCmifAttribute.cs [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
CommandTIpcAttribute.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableIpcService.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DummyService.cs [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00
IpcService.cs Replacing 'Assembly.GetExecutingAssembly()' with 'Type.Assembly' (#5545) 2023-09-07 14:10:58 +02:00
ServerBase.cs Fix AddSessionObj NRE regression (#5875) 2023-11-01 21:47:40 +01:00
ServiceAttributes.cs [Ryujinx.HLE] Address dotnet-format issues (#5380) 2023-07-16 19:31:14 +02:00