flyinghead / flycast

Flycast is a multiplatform Sega Dreamcast, Naomi, Naomi 2 and Atomiswave emulator
GNU General Public License v2.0
1.29k stars 161 forks source link

Frame pacing issue that affects 30FPS games only #1336

Closed vanfanel closed 7 months ago

vanfanel commented 7 months ago

Platform / OS / Hardware: GNU/Linux X86_64

Github hash: Latest GIT code

Hardware: X86_64, Intel IRIS graphics

Description of the Issue

There are major frame pacing issues observable in 30FPS games, like Sonic Adventure 1, REZ, Napple Tale, etc... During the same scene, frame rate goes from smooth to constantly plagued by small hiccups, even on 30FPS menus where graphical load is constant.

60FPS games (Daytona USA 2001, DOA1, VF3, etc) are not affected at all: I run them using a 59.94Hz video mode and video synchronization is perfect.

There's no VRR, GSYNC or anything like that set up on this system: only real 59.94Hz video mode set up for Dreamcast emulation.

Debugging Steps Tested

Setting a 29.97Hz video mode, frame pacing in 30FPS games is simply perfect: but that breaks 60FPS sequences, like the Dreamcast boot logo, etc, that naturally run half-speed and with broken audio, so this is not a fix. All in all, there's an internal framerate pacing issue with 30FPS games on Flycast (which are more like 29.97FPS, really). Seems I am not the only who noticed that something is wrong with frame pacing on ~30FPS games:

https://forums.libretro.com/t/frame-pacing-stuttering-issues-in-games-reicast/18994

flyinghead commented 7 months ago

Duplicate of #520. Post your comments and suggestions there.

vanfanel commented 7 months ago

@flyinghead Understood! Moved all my gathered information to that thread instead. Thanks!