rpcs3 icon indicating copy to clipboard operation
rpcs3 copied to clipboard

Time Crisis 4 (Standalone or Arcade Ver.) - Framerate drops when running at >=60hz

Open SeongGino opened this issue 1 year ago • 8 comments

Quick summary

Time Crisis 4 gameplay runs at sub-optimal 3D framerates but reports full speed when frame limiter is set to 60 or above, or VBlank frequency is set higher than 59hz.

Details

Time Crisis 4, either the original disc release [BLUS30093] or the "Arcade Ver." as part of TIME CRISIS: RAZING STORM [BLUS30528], seems to perform very poorly on otherwise capable hardware when RPCS3 is set to run the game at 60hz or above. Gameplay seems to run at a (jerky) 30 fps, introducing dropped button inputs (i.e. the trigger button on either normal controllers or emulated Motion Controller), while the cursor moves smoothly at 60fps.

Visual demonstration of the issue. Notice how the shadows flicker like this, and the cursor moving smoothly while the camera jerkily pans down the staircase.

From what I can tell, either version of TC4 specifically requires forcing the game to run at 59hz in the Advanced tab -> VBlank Frequency override - even the NTSC Fixup checkbox allegedly meant to fix timing for Space Channel 5 pt2 doesn't seem to be enough. While this fixes the problem and makes gameplay and input smoother, the performance still isn't optimal as frame pacing won't match either NTSC standard or most 60hz monitors.

With regards to the rest of TIME CRISIS: RAZING STORM, this does not seem to affect Deadstorm Pirates or Razing Storm (the namesake game itself); both games run properly at a flat 60FPS, even when RPCS3's limiter is off. This video of TC4 through RAZING STORM on RPCS3 seems to corroborate this, as the GPU config shown sets a 50fps cap - which would only be correct if I was running a PAL system, I suppose.

Only other issue that seems to bring this up is #4931, which somewhat handwaves the problem and is also several years old. If anything, this is just to clear the air on this game for anyone who's searching.

Attach a log file

RPCS3.log.gz

Attach capture files for visual issues

No response

System configuration

CPU: AMD Ryzen 5 5600X GPU: NVIDIA RTX 3060 Ti OS: Arch Linux Driver: NVIDIA (Proprietary) 530.41.03

Other details

No response

SeongGino avatar May 07 '23 01:05 SeongGino

I can confirm all of this (issue and workaround). I thought running at 30fps was the only fix to the input dropping. Thanks for detailing everything out.

legend800 avatar May 07 '23 07:05 legend800

Try setting the frame limit to "ps3" mode in conjunction with the ntsc fixup.

kd-11 avatar May 07 '23 10:05 kd-11

For me, here's my results:

Framerate=auto, Vblank=59, NTSC=fix up on/off= broken input Framerate=ps3 native, Vblank=59, NTSC=fix up on = broken input Framerate=50, Vblank=60, NTSC=fix up off = freeze on opening cinematic (2/2)

Framerate=50, Vblank=59, NTSC=fix up off = perfect Framerate=30, Vblank=60, NTSC=fix up off = perfect (but breaks input on other games on disc)

legend800 avatar May 07 '23 19:05 legend800

Try setting the frame limit to "ps3" mode in conjunction with the ntsc fixup.

Setting frame limit to PS3 Native, VBlank reset back to 60 with NTSC Fixup checked, and it's the same issue. According to the FPS counter in the window title, it does seem to hover more closely around 59.94, but the game framerate (not cursor or reported FPS) is still bad and shadows are flickering like the other attempts at running beyond 59hz. Same with normal Auto frame limiter.

Also, @legend800 not sure why you set a frame limiter on in the latter two tests; you can set the frame limiter to off, it just requires the VBlank frequency only be set to 59hz to 'fix' the performance.

SeongGino avatar May 07 '23 20:05 SeongGino

Also, @legend800 not sure why you set a frame limiter on in the latter two tests; you can set the frame limiter to off, it just requires the VBlank frequency only be set to 59hz to 'fix' the performance.

Yep, 59Hz fix issue.

dante3732 avatar May 18 '23 13:05 dante3732

Nope that doesn't fix the problem. framelimit/vsync off=off, Vblank frequency=59hz still losing bullets, even on a high end machine. Simply start game and start unloading clips fast = every few bullets will not fire.

Framerate of 50 (with 59hz) or 30 fps (vblank doesn't matter) is the only thing that gives me perfect shots.

legend800 avatar May 18 '23 15:05 legend800

Nope that doesn't fix the problem. framelimit/vsync off=off, Vblank frequency=59hz still losing bullets, even on a high end machine. Simply start game and start unloading clips fast = every few bullets will not fire.

Framerate of 50 (with 59hz) or 30 fps (vblank doesn't matter) is the only thing that gives me perfect shots.

I think you're right, my shooting was interrupted if I fired many times.

I have been using 50 FPS for this game for a long time, apparently this is the only right solution.

By the way, this game has another problem, but it is more related to mouse emulation. There are places where you need to specify the screen border on the left and right to rotate, but it works pretty badly, you need to play in a window with black borders on the sides, and then it works fine.

dante3732 avatar May 18 '23 16:05 dante3732

Nope that doesn't fix the problem. framelimit/vsync off=off, Vblank frequency=59hz still losing bullets, even on a high end machine. Simply start game and start unloading clips fast = every few bullets will not fire.

Framerate of 50 (with 59hz) or 30 fps (vblank doesn't matter) is the only thing that gives me perfect shots.

Yeah, I can't reproduce that part at all. No missed shots at just 59hz. And I was mashing the shit out of the trigger/mouse button.

Either that's a setup thing, or a Windows vs. Linux difference? Or is that at some later point beyond the Prologue?

SeongGino avatar May 20 '23 00:05 SeongGino