PS3 emulator/debugger
Go to file
plappermaul 925f2ce02f Use Linux timers for sleeps up to 1ms (#6697)
* Use Linux timers for sleeps up to 1ms (v3)
The current sleep timer implementation basically offers two variants. Either
wait the specified time exactly with a condition variable (as host) or use a
combination of it with a thread yielding busy loop afterwards (usleep timer).

While the second one is very precise it consumes CPU loops for each wait call
below 50us. Games like Bomberman Ultra spam 30us waits and the emulator hogs
low power CPUs. Switching to host mode reduces CPU consumption but gives a
~50us penalty for each wait call. Thus extending all sleeps by a factor of
more than two.

The following bugfix tries to improve the system timer for Linux by using
Linux native timers for small wait calls below 1ms. This has two effects.

- Host wait setting has much less wait overhead
- usleep wait setting produces lower CPU overhead
2019-10-09 20:03:34 +03:00
.github
.travis Report filesize in bytes 2019-09-16 04:00:49 +01:00
3rdparty
asmjit@fc251c914e
asmjitsrc
bin
llvm@b860b5e8f4
llvm_build
rpcs3 Use Linux timers for sleeps up to 1ms (#6697) 2019-10-09 20:03:34 +03:00
Utilities Use Linux timers for sleeps up to 1ms (#6697) 2019-10-09 20:03:34 +03:00
Vulkan
.clang-format
.editorconfig
.gitignore
.gitmodules
.mention-bot
.travis.yml
appveyor.yml Report filesize in bytes 2019-09-16 04:00:49 +01:00
BUILDING.md Update CMake version in BUILDING.md 2019-09-14 23:46:12 +01:00
CMakeLists.txt GDB Server: fix and cleanup 2019-10-09 00:11:44 +03:00
common_default_macros.props
common_default.props Appveyor: use VS 2019 2019-08-22 19:09:06 +03:00
git-clang-format
LICENSE
pre-commit.readme
README.md
rpcs3_debug.props
rpcs3_default.props
rpcs3_llvm.props
rpcs3_memleak.props
rpcs3_release.props
rpcs3.sln
usertype.dat

RPCS3

Build Status Build status

The world's first free and open-source PlayStation 3 emulator/debugger, written in C++ for Windows and Linux.

You can find some basic information on our website. Game info is being populated on the Wiki. For discussion about this emulator, PS3 emulation, and game compatibility reports, please visit our forums and our Discord server.

Support Lead Developers Nekotekina and kd-11 on Patreon

Contributing

If you want to help the project but do not code, the best way to help out is to test games and make bug reports. See:

If you want to contribute as a developer, please take a look at the following pages:

You should also contact any of the developers in the forums or in the Discord server to learn more about the current state of the emulator.

Building

See BUILDING.md for more information about how to setup an environment to build RPCS3.

Running

Check our friendly quickstart guide to make sure your computer meets the minimum system requirements to run RPCS3.

Don't forget to have your graphics driver up to date and to install the Visual C++ Redistributable Packages for Visual Studio 2017 if you are a Windows user.

License

Most files are licensed under the terms of GNU GPLv2 License; see LICENSE file for details. Some files may be licensed differently; check appropriate file headers for details.