VOGONS


First post, by MetaG64

User metadata
Rank Newbie
Rank
Newbie

Hello, I'm not sure if this is something that DGV2 can help with, but I'll ask just in case.

This game is supposed to run with a contextual FPS cap system: 30FPS during general gameplay, and 20FPS during certain in-game scenes. Most functionalities of the game are tied to the framerate.

On modern hardware (and even some systems of its time) the game runs at 60FPS, which is broken and prone to many softlocks.

Contrary to what many say (the FPS cap never existed, the PC port was always broken, etc) the 30/20 FPS cap does exist, but it only works when the detected CPU clock speed (in MHz) is within a certain range (200-999 MHz?).

The game has two FPS modes: the ideal 30/20 FPS mode, and a 60FPS performance(?) mode.

When the CPU speed is too low, the game assumes low FPS performance, so it raises the cap to 60 in some attempt to compensate for the game speed. Unfortunately, if the CPU speed is 1GHz or greater, the check fails and the game defaults to use the performance mode.

Applying a general 30FPS cap is problematic because the extra 10 frames still cause the 20FPS sequences to de-sync. I currently use RTSS to manually toggle between 30 and 20 FPS with a hotkey, but this is not an ideal way to play.

Unless this is something that DGV2 can remedy, is there any utility that can mask the CPU clock speed to some arbitrary value to trick a program? The closest thing I can find are CPU underclocking utilities, but they are ineffective because the game seems to read the CPU's original speed (as reported by OS?).

Fun Fact: Unrelated, but the game has an undocumented software mode that uses the old PSX/N64 models. It can be forced with the Virtual SVGA Card setting in DGV2. I haven’t seen this mentioned anywhere.

Reply 1 of 5, by ZellSF

User metadata
Rank l33t
Rank
l33t

You say the FPS cap exists, though you haven't said anywhere why you're so sure it exists. It seems more likely it just worked back in the day because of slower hardware (never actually exceeded 20 FPS, or V-Sync made game drop to 30 and more intensive cutscenes to 20).

So why so sure it exists? You might be looking for a solution to the wrong problem.

At any rate, dgVoodoo only handles rendering, it doesn't have anything to do with the CPU speed. DxWnd is a tool that that it is more in scope for.

Reply 2 of 5, by KingSyphilis

User metadata
Rank Newbie
Rank
Newbie
ZellSF wrote on 2023-11-11, 09:37:

You say the FPS cap exists, though you haven't said anywhere why you're so sure it exists. It seems more likely it just worked back in the day because of slower hardware (never actually exceeded 20 FPS, or V-Sync made game drop to 30 and more intensive cutscenes to 20).

So why so sure it exists? You might be looking for a solution to the wrong problem.

At any rate, dgVoodoo only handles rendering, it doesn't have anything to do with the CPU speed. DxWnd is a tool that that it is more in scope for.

The game simultaneously released for PS1, Dreamcast and PC. I can imagine the 20 FPS cap being implemented for certain scenes, as it was common for games on older consoles, at least up to PS2, to dynamically switch frame rate ratios (using refresh rate as base) to suit what was happening on screen. I.e. assuming 60 Hz, 1/1 = 60 FPS, 1/2 = 30 FPS, 1/3 = 20 FPS, etc.

Reply 3 of 5, by Darkstorm

User metadata
Rank Newbie
Rank
Newbie

Dgvoodoo can cap FPS to certain value and that's it. If there is really such mechanism then maybe it can be reverse engineered and make CPU detection part think it's always the CPU with less than 1GHz and not let it try run the other case.

Reply 4 of 5, by ZellSF

User metadata
Rank l33t
Rank
l33t
KingSyphilis wrote on 2023-11-14, 03:31:
ZellSF wrote on 2023-11-11, 09:37:

You say the FPS cap exists, though you haven't said anywhere why you're so sure it exists. It seems more likely it just worked back in the day because of slower hardware (never actually exceeded 20 FPS, or V-Sync made game drop to 30 and more intensive cutscenes to 20).

So why so sure it exists? You might be looking for a solution to the wrong problem.

At any rate, dgVoodoo only handles rendering, it doesn't have anything to do with the CPU speed. DxWnd is a tool that that it is more in scope for.

The game simultaneously released for PS1, Dreamcast and PC. I can imagine the 20 FPS cap being implemented for certain scenes, as it was common for games on older consoles, at least up to PS2, to dynamically switch frame rate ratios (using refresh rate as base) to suit what was happening on screen. I.e. assuming 60 Hz, 1/1 = 60 FPS, 1/2 = 30 FPS, 1/3 = 20 FPS, etc.

I wasn't saying it was impossible for there to be a FPS cap, but it's equally likely that it's a bad port and that there is no FPS cap.

OP seems to state that's he certain that there is a FPS cap, but not how he got that information.

Reply 5 of 5, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
MetaG64 wrote on 2023-11-10, 22:32:
Hello, I'm not sure if this is something that DGV2 can help with, but I'll ask just in case. […]
Show full quote

Hello, I'm not sure if this is something that DGV2 can help with, but I'll ask just in case.

This game is supposed to run with a contextual FPS cap system: 30FPS during general gameplay, and 20FPS during certain in-game scenes. Most functionalities of the game are tied to the framerate.

On modern hardware (and even some systems of its time) the game runs at 60FPS, which is broken and prone to many softlocks.

Contrary to what many say (the FPS cap never existed, the PC port was always broken, etc) the 30/20 FPS cap does exist, but it only works when the detected CPU clock speed (in MHz) is within a certain range (200-999 MHz?).

The game has two FPS modes: the ideal 30/20 FPS mode, and a 60FPS performance(?) mode.

When the CPU speed is too low, the game assumes low FPS performance, so it raises the cap to 60 in some attempt to compensate for the game speed. Unfortunately, if the CPU speed is 1GHz or greater, the check fails and the game defaults to use the performance mode.

Applying a general 30FPS cap is problematic because the extra 10 frames still cause the 20FPS sequences to de-sync. I currently use RTSS to manually toggle between 30 and 20 FPS with a hotkey, but this is not an ideal way to play.

Unless this is something that DGV2 can remedy, is there any utility that can mask the CPU clock speed to some arbitrary value to trick a program? The closest thing I can find are CPU underclocking utilities, but they are ineffective because the game seems to read the CPU's original speed (as reported by OS?).

Fun Fact: Unrelated, but the game has an undocumented software mode that uses the old PSX/N64 models. It can be forced with the Virtual SVGA Card setting in DGV2. I haven’t seen this mentioned anywhere.

dgVoodoo2 isn't the tool for this. It can add a general frame limiter, not a dynamic one.

previously known as Discrete_BOB_058