mirror of https://github.com/libsdl-org/SDL.git
Currently, the rawinput thread incorrectly spreads the timestamps over idle time if the poll interval is less than 100ms, and abruptly switches to lumping all accumulated inputs to happen simultaneously if it exceeds 100ms. This means that any game which implements retroactive event handling based on timestamps will jarringly snap between the two polar opposite extremes of incorrect behaviour. This PR replaces the arbitrary 100ms threshold with logic based on measuring the idle start and end time. If the thread idled for more than 125000 nanoseconds, it is considered to have not had any input in its queue before it entered idle, and the events are spread over the interval between thread wake-up and pump finish, with the final input aligned to the pump finish time. If the thread idled for less than 125000 nanoseconds, it is considered to have events entered at some point between last pump finish and thread entering sleep, and the events are spread over the full pump-to-pump interval. |
||
|---|---|---|
| .github | ||
| VisualC | ||
| VisualC-GDK | ||
| Xcode | ||
| android-project | ||
| build-scripts | ||
| cmake | ||
| docs | ||
| examples | ||
| include | ||
| src | ||
| test | ||
| wayland-protocols | ||
| .clang-format | ||
| .clang-tidy | ||
| .editorconfig | ||
| .gitignore | ||
| .wikiheaders-options | ||
| Android.mk | ||
| BUGS.txt | ||
| CMakeLists.txt | ||
| CREDITS.md | ||
| INSTALL.md | ||
| LICENSE.txt | ||
| README-SDL.txt | ||
| README.md | ||
| WhatsNew.txt | ||
README.md
Simple DirectMedia Layer (SDL) Version 3.0
Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.
More extensive documentation is available in the docs directory, starting with README.md. If you are migrating to SDL 3.0 from SDL 2.0, the changes are extensively documented in README-migration.md.
Enjoy!
Sam Lantinga (slouken@libsdl.org)