Skip to content

Conversation

@nchapman
Copy link
Collaborator

@nchapman nchapman commented Dec 18, 2025

When running 30fps games (e.g., Spyro on PCSX) with aspect scaling, frame pacing repeats frames to match ~60Hz display. SDL1 platforms were unconditionally flipping double-buffer pages, causing stale data to be displayed on repeated frames.

Added two-flag system mirroring SDL2's ctx->blit pattern:

  • vid.renderer: tracks game mode (persists until menu)
  • vid.in_game: tracks new frame this vsync (cleared each flip)

When running 30fps games (e.g., Spyro on PCSX) with aspect scaling,
frame pacing repeats frames to match ~60Hz display. SDL1 platforms were
unconditionally flipping double-buffer pages, causing stale data to be
displayed on repeated frames.

Added two-flag system mirroring SDL2's ctx->blit pattern:
- vid.renderer: tracks game mode (persists until menu)
- vid.in_game: tracks new frame this vsync (cleared each flip)

miyoomini: skip blit on repeated frames (vid.video retains content)
trimuismart/rg35xx: select previous page via display_page calculation
Copilot AI review requested due to automatic review settings December 18, 2025 05:22
@nchapman nchapman changed the title Fix frame pacing in SDL1 Fix frame pacing for SDL1 platforms Dec 18, 2025
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@nchapman nchapman merged commit 9ead408 into develop Dec 18, 2025
4 checks passed
@nchapman nchapman deleted the feature/fix-frame-pacing-sdl1 branch December 18, 2025 05:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants