Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ball "jittering out of sight" when moving upwards #29

Closed
Kirschi94 opened this issue Oct 10, 2021 · 6 comments
Closed

Ball "jittering out of sight" when moving upwards #29

Kirschi94 opened this issue Oct 10, 2021 · 6 comments
Labels
bug Something isn't working

Comments

@Kirschi94
Copy link

Whenever the ball moves too fast upwards, it becomes close to untracable with the human eye. It seems to have something to do with the FPS and building each frame from top to bottom, but I'm not 100% sure.

@k4zmu2a
Copy link
Owner

k4zmu2a commented Oct 11, 2021

That is a known quirk of v1.x.
V2.x does not have this problem.

I don’t know for sure, but I think it is caused be mismatch between screen refresh rate and game FPS (>120).
I did some debugging; this issue does not show up on internal buffers, it is introduced by GDI.
This issue is present in the original, made more apparent by scaled up display.

I am not sure if there is a fix for this.

@k4zmu2a k4zmu2a added the bug Something isn't working label Oct 11, 2021
@Kirschi94
Copy link
Author

If it's gone by the next version anyway I think there's no need for a fix. Otherwise being able to turn on an FPS limiter in the options would be an option I guess?

@k4zmu2a
Copy link
Owner

k4zmu2a commented Oct 12, 2021

Unfortunately it is not as simple as limiting FPS.

This game uses a retained render model, each frame only stuff that changed is updated.
This makes it impossible to skip even a single frame.

There is a workaround – discard partial render and update whole screen at desired FPS.
This is what v2 does, as there is no other way with SDL.

I am hesitating to use this workaround because of my wish to keep v1 code authentic to the original.
I will see if it could be added subtly as an option.

k4zmu2a added a commit that referenced this issue Oct 12, 2021
Available under new option Window->Alternative Rendering.
Issue #29.
@k4zmu2a
Copy link
Owner

k4zmu2a commented Oct 12, 2021

I decided to add the option anyway.
Try it in this pre-release build:
v1.1.2 RC.zip

@Kirschi94
Copy link
Author

I feel you with staying true to the original.
Thanks for adding it anyway! I compared it directly with alternative rendering on and off and besides some micro-stutters when it's on it works perfectly! Thank you for your continued efforts!

@k4zmu2a
Copy link
Owner

k4zmu2a commented Oct 21, 2021

Issue resolved with a workaround.

@k4zmu2a k4zmu2a closed this as completed Oct 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants