Lyall / P3RFix

A fix that adds custom resolutions, ultrawide support and more to Persona 3 Reload.
MIT License
172 stars 9 forks source link

[Feature Request] Uncap Menu FPS & Fix audio dialogue delay above 60 FPS #2

Closed SandeMC closed 8 months ago

SandeMC commented 9 months ago

The game locks the FPS when you open the menus, which is frankly unnecessary and it should respect the normal FPS lock instead (unlocked it to >150 fps with console, worked completely fine). It also breaks if you set to 120FPS, as it locks the UI to 30 instead. On my end, anyway

Also, slightly unrelated, but I think enabling 120 FPS mode also creates delay before voice starts playing in dialogue lines.

Lyall commented 9 months ago

There is an fps uncap option in the config but I don't recommend using it for now. I've had multiple reports that uncapped FPS can cause some voice lines to be skipped. I suspect the shenanigans they are doing with constantly changing the FPS cap is related to that.

SandeMC commented 9 months ago

I specifically mean only applying it to the UI so it respects the t.MaxFPS/Vsync lock instead, as it forces the value via the console when you open the menu

Lyall commented 9 months ago

That might not be possible but I'll have a look. If they're sharing a function to set the max fps then it will be difficult to only apply it in menus.

SandeMC commented 9 months ago

Would be greatly appreciated if you figure it out

Lyall commented 9 months ago

This game has some really odd behaviour. I suspect it has certain timings tied to the t.MaxFPS value. Check out this video. In the first bit I have it set to a 120fps limit and in the second part I set it to 960. Bear in mind that the game is still Vsync'd and running at 116fps.

https://streamable.com/r5iiul

It looks like they have certain things tied to the set framerate so I don't think it's on the cards to have a feature that changes that. I'd look in to the timing issues but they may be very widespread.

TailsGuy commented 9 months ago

Strangely, the FPS lingers after exiting any menu and takes a couple seconds to revert to your set framerate. It's not a problem with P3RFix, but something I figured should be mentioned.

queenbiscuit311 commented 9 months ago

The menu framerate cap seems to be quite sloppy. The game changing the fps cap in general seems to have a very high delay. I'm honestly not quite sure why it's there given that uncapping it breaks nothing in the menus.

SandeMC commented 9 months ago

Yeah, the UI framerate limit in general is weird and unnecessary. It should just respect the game frame limit, given that it does not break at 120 fps (maybe it breaks at obscure framerates like >300fps, but the game doesn't even offer uncapped). Hopefully they'll tackle it with the patch they're working on

SandeMC commented 8 months ago

@Lyall sorry for offtopic, do you have a Gamebanana account?

Lyall commented 8 months ago

@Lyall sorry for offtopic, do you have a Gamebanana account?

I do not, no.

kamcoi commented 8 months ago

@Lyall Could you add the uncap framerate again but with additional feature to set the framerate limit such as t.MaxFPS=120 so the dialogue breaking bug is fix?

queenbiscuit311 commented 8 months ago

@Lyall Could you add the uncap framerate again but with additional feature to set the framerate limit such as t.MaxFPS=120 so the dialogue breaking bug is fix?

this would be nice. I have an uncapped frame rate at the moment with another mod so the game runs at 144fps and the dialogue appears to remain unbroken. if possible it would be nice to have a limiter so I could theoretically not have to use the games vsync to make the game not run at 170 fps

Lyall commented 8 months ago

Okay, I've added two features to test out. First is the menu FPS uncap that @kamcoi asked for and the second is an override for t.MaxFPS. Here is a test build with the latest commits. Just remember to check the ini if you want to adjust those settings.

P3RFix_testbuild.zip

image

If you guys can try both features out and let me know if they work okay, that would be great. I've only done cursory testing with the FPS cap option and setting it to 480 doesn't seem to cut off voice lines but it may do that later on in the game.

SandeMC commented 8 months ago

Works, thank you! I'll close the issue for now since the feature is implemented exactly as I wanted (I can finally peacefully play at 75FPS instead of 60, which looks better on my screen) - will reopen if somebody else reports issues

kamcoi commented 8 months ago

Okay, I've added two features to test out. First is the menu FPS uncap that @kamcoi asked for and the second is an override for t.MaxFPS. Here is a test build with the latest commits. Just remember to check the ini if you want to adjust those settings.

P3RFix_testbuild.zip

image

If you guys can try both features out and let me know if they work okay, that would be great. I've only done cursory testing with the FPS cap option and setting it to 480 doesn't seem to cut off voice lines but it may do that later on in the game.

Yup this works great when the fps cap is on 120 FPS, try it in Tartarus a few runs (more than 5 hours) and even on daily life gameplay. Didn't saw any weird bugs popping in yet.

SandeMC commented 8 months ago

@Lyall so umm, when are you actually going to put it in a release? haha

Lyall commented 8 months ago

@Lyall so umm, when are you actually going to put it in a release? haha

Sorry I've just been taking some time to make sure everything in this new release works. Should be out later today (hopefully!).

SandeMC commented 8 months ago

great to hear!

SandeMC commented 8 months ago

@Lyall fyi, I was asking because I've already hasted to add the feature to PCGW expecting a release soon, lol

Lyall commented 8 months ago

@Lyall fyi, I was asking because I've already hasted to add the feature to PCGW expecting a release soon, lol

Ah, I was wondering who was keeping that PCGW page so up to date!

SandeMC commented 8 months ago

Could've checked the history, lol

ossnorry commented 2 months ago

Would it be possible to have a seperate menu fps cap agnostic from the regular? When playing in 120fps mode my menus are locked to 30, but they're 60 in 60fps mode.