game-patches icon indicating copy to clipboard operation
game-patches copied to clipboard

Most games with 60 FPS patches have double-buffered vsync

Open GavinKeane opened this issue 2 years ago • 4 comments

This patch works very well in areas that are not very graphically busy.

However, in areas that are graphically busy, the game reverts to a 30fps cap. I could be wrong but I think this is not a performance issue on my end. I believe the game is programmed specifically to behave like this. I say this because the shift in fps goes from 60 (steady without drops) instantly to 30 (also steady without drops) depending on the busyness of the scene.

I really appreciate the work you folks do here. I wish I could figure it out myself with ghidra, but I lack the skills.

I've attached a video so you can see what I mean. The fps is being displayed in the top left corner.

https://user-images.githubusercontent.com/32646750/171295512-b136ddcb-a368-457c-bfdd-6b97acf09d07.mp4

GavinKeane avatar May 31 '22 22:05 GavinKeane

Fault of double buffer vsync, it can only flip up to 2 frames at a time if the budget does not meet it's rendering time.

illusion0001 avatar May 31 '22 22:05 illusion0001

Fault of double buffer vsync, it can only flip up to 2 frames at a time if the budget does not meet it's rendering time.

This also applies to most 60 FPS patched games.

Margen67 avatar Jun 06 '22 06:06 Margen67

This might be caused by Xenia's vsync.

Margen67 avatar Jul 06 '22 22:07 Margen67

Games with vsync options:

  • Lego Indiana Jones 2
  • Saints Row 2

Margen67 avatar Aug 08 '22 05:08 Margen67

@Margen67 I don't think this issue should be open here anymore. The 360 does not have native triple-buffering support so patching device-init/DX9 functions isn't a means of circumventing this specific issue, therefore it's outside the purview of #game-patches and perhaps a problem with the emulator itself.

What do you think?

bomabomaboma avatar Sep 06 '22 17:09 bomabomaboma

@Margen67 I don't think this issue should be open here anymore. The 360 does not have native triple-buffering support so patching device-init/DX9 functions isn't a means of circumventing this specific issue, therefore it's outside the purview of #game-patches and perhaps a problem with the emulator itself.

What do you think?

Some games have tearing on real hardware so I think this is a Xenia issue.

Margen67 avatar Sep 06 '22 17:09 Margen67