* Logging: Asynchronously log messages to the Console window
Writing to the Console blocks until the write completes. This has the potential to block any code path that logs to the application logger.
By queuing up log messages in an asynchronous queue and returning without blocking, we can speed up code paths that heavily log to the console (for example stubbed services like ServiceHid).
From testing this results in a roughly 8% time decrease between Ryujinx startup and the splash screen in Super Mario Odyssey on my system - 00:03:19.591 down to
00:03:04.354. Depending on your system, YMMV.
* Logging: Resolve code styling issues
* Some style fixes and nits on ITimeZoneService
* Remove some unneeded usings
* Remove the Ryujinx.HLE.OsHle.Handles namespace
* Remove hbmenu automatic load on process exit
* Rename Ns to Device, rename Os to System, rename SystemState to State
* Move Exceptions and Utilities out of OsHle
* Rename OsHle to HOS
* Rename OsHle folder to HOS
* IManagerDisplayService and ISystemDisplayService style fixes
* BsdError shouldn't be public
* Add a empty new line before using static
* Remove unused file
* Some style fixes on NPDM
* Exit gracefully when the application is closed
* Code style fixes on IGeneralService
* Add 0x prefix on values printed as hex
* Small improvements on finalization code
* Move ProcessId and ThreadId out of AThreadState
* Rename VFs to FileSystem
* FsAccessHeader shouldn't be public. Also fix file names casing
* More case changes on NPDM
* Remove unused files
* Move using to the correct place on NPDM
* Use properties on KernelAccessControlMmio
* Address PR feedback
This commit implements the argv config key in Ryujinx (by creating a temporary copy of the homebrew executable in the sdmc VFS) to make it possible
to load libnx's "romfs" files.
This commit also call Os.Dispose in Ns.OnFinish to dispose all resources when exiting
* Loop GLScreen with custom method
* Fix deadlocks
* Fix screen resizing
* Change event to bool
* Try to fix quitting error
* Set title from main thread
* Queue max 1 vsync, fix high FPS after a slowdown
* Added Basic Controller Support
* Added Extra Configuration Options
Added a GamePad_Enable option and GamePad_Index option
* Revert "Added Extra Configuration Options"
This reverts commit 6cc56bfe7ed473fedf8dfe79c7a888bbe7cfe147.
* Revert "Revert "Added Extra Configuration Options""
This reverts commit 4809e5effe7f54cdb67bc5e2b4f01315ae34efc5.
* Forgot to change the Gamepad Index
* Added Configuration for the A B X Y Buttons
* Added Button Configuration for all other Buttons
* Added Basic Joystick Configuration
* Fixed Joystick Axis Problems
Fixed Joystick Axis Problems when switching around the Joysticks (Left Stick is Right and Right stick is Left)
* Refactored all of the button mapping code
* Changes in compliance with review
* Changes in compliance with review
* Fixed problems in the configuration file with different regions
* Changes in compliance with review
* Call OpenGL functions directly, remove the pfifo thread, some refactoring
* Fix PerformanceStatistics calculating the wrong host fps, remove wait event on PFIFO as this wasn't exactly was causing the freezes (may replace with an exception later)
* Organized the Gpu folder a bit more, renamed a few things, address PR feedback
* Make PerformanceStatistics thread safe
* Remove unused constant
* Use unlimited update rate for better pref
* Add support for events, move concept of domains to IpcService
* Support waiting for KThread, remove some test code, other tweaks
* Use move handle on NIFM since I can't test that now, it's better to leave it how it was
* implement basic frame time stats
* added game frame time
* made performancestatictics class non-static
* report average framerate instead of current framerate
* Refactor HID, fix issues
* Fix on touch screen code with wrong offset
* Don't use magic values
* Replace more magic values with actual variables, fix touch screen coordinates on different window sizes