PinballY icon indicating copy to clipboard operation
PinballY copied to clipboard

Fix unresponsive scrolling due to crossfade

Open Billiam opened this issue 1 year ago • 1 comments

Issue description

When scrolling through games, slow enough to trigger the crossfade effect, repeated key presses will be deferred until the end of the current animation. At the default crossfade time of 120ms, this is still pretty noticeable and doesn't feel great (imo).

Proposed solution

On user input, immediately end the current fade transition and start the next one.

This is already done on master, but is limited to the wheel animation only, so input is still blocked/delayed until the end of the crossfade.

Here are two examples with the crossfade time set to a huge 3000ms to exaggerate the impact. Excuse the missing/misnamed media etc.

Before

https://github.com/mjrgh/PinballY/assets/242008/82ca7420-6a19-49aa-b79a-25c09a1e547f

After

https://github.com/mjrgh/PinballY/assets/242008/9c7b27df-31c2-4380-b976-b3a35b1e1d2b

Billiam avatar Jul 21 '23 23:07 Billiam

Ideally, I'd also like to to start crossfade animations as soon as the wheel animation begins, instead of waiting until the end of the wheel rotation, but I haven't been successful making that change so far without breaking something.

Billiam avatar Jul 24 '23 02:07 Billiam