mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-09-05 19:08:12 +00:00
PSP: don't block on joystick event query
using the blocking sceCtrlReadBufferPositive() effectively turns SDL_PollEvent() into WaitForVblank(), because the functions does exactly that if no input is buffered.
due to this, calling SDL_PollEvent() once per frame averaged in 7 ms delay out of the available 16ms budget to get a frame calculated and drawn to achieve 60 fps.
(cherry picked from commit 86f223d664
)
This commit is contained in:
@@ -209,7 +209,7 @@ static void PSP_JoystickUpdate(SDL_Joystick *joystick)
|
||||
static unsigned char old_x = 0, old_y = 0;
|
||||
Uint64 timestamp = SDL_GetTicksNS();
|
||||
|
||||
sceCtrlReadBufferPositive(&pad, 1);
|
||||
if(sceCtrlPeekBufferPositive(&pad, 1) <= 0) return;
|
||||
buttons = pad.Buttons;
|
||||
x = pad.Lx;
|
||||
y = pad.Ly;
|
||||
|
Reference in New Issue
Block a user