Possible regression for Persona Q2

On Nightly 1883, Persona Q2 regularly experiences lock-ups during dialogue and combat and occasionally drops from a stable 30 FPS to an average 0.5 FPS, requiring a reset to fix. These issues are absent on Nightly 1272, and, according to someone in this GitHub Issue, they’re also absent in Nightly 1675. This also seems to happen regardless of game region, though I found that the Japanese version broke before I could even get past the main menu.

I apologize if this is inappropriate for “Citra Support” topics, I thought this didn’t exactly fit in “General”.

System Information

  • Operating System: Windows 10
  • CPU: Intel(R) Core™ i5-7300HQ CPU @ 2.50GHz
  • GPU: NVIDIA GeForce GTX 1050
  • Citra Version: Nightly 1883
  • Game: Persona Q2

In order for us to provide better support, we need to see the log generated by citra. This guide will walk you through how you can obtain the log file: How to Upload the Log File

First of all, please upload a log file using the guide that the bot posted above.

Here’s a log from Nightly 1883 where the game locks up mid-dialogue after about 25 minutes:
citra_log.txt (61.4 KB)

Nothing in the log file is standing out to me. If this is indeed a regression, figuring out when exactly this issue started occurring would be very helpful in figuring out why this is happening for the developers.

If you have some time available, we’d appreciate it if you could help with testing. Essentially, what you’d have to do is this:
([Earliest known build with the issue] + [Latest known build without the issue]) / 2
So from your opening message, that would be:
(1883+1675)/2 = 1779
So Nightly 1779 needs testing.

The results will change either [Earliest known build with the issue] or [Latest known build without the issue]. Keep testing until you have 2 builds side by side in which one has the issue, and the other does not.

Took a bit, but I’ve done the tests, all with the same ROM. In short, I’ve narrowed it down to 1805 as the latest “stable” version and 1806 as the earliest “bugged” version.

Since it seems to be somewhat random, I’ve played the game for about an hour on each version. If I found one of the relevant issues, I’d stop emulation then close Citra as soon as possible to get the log.

Hmm, the only change from Nightly 1805 to Nightly 1806 appears to be CMake: Update Qt bundle for Visual Studio 2019/2022 by ameerj · Pull Request #6176 · citra-emu/citra · GitHub
Would be a bit strange if a change like that caused an issue like this ngl.

Well, If I were you, I’d post about your findings on the GitHub issue, and perhaps ping the other users who reported the same issue with your comment so that they can test your findings for themselves and see if they can reproduce the same results.

I use Citra Nightly version 1805 and have battle lock-up after play 1 hour here file log
citra_log.txt (61.2 KB)

I’m back, been busy with IRL stuff.

Looks like I didn’t play 1805 long enough, then. Hopefully I didn’t miss 1779 as well.

I went ahead and tested 1792; ran into the same lock-up as 1811.
citra_log.txt (23.5 KB)

have you test Citra Nightly version 1819 to version 1829 yet

Of note: these battle lock-ups also seem to be preceded by missing assets, but it’s harder to notice since it only affects the Persona screen, which I personally rarely use.

We won’t be testing for these issues in any versions later than 1785. Since I already found that 1785 contains the same issues the others do, we would just be reaching redundant conclusions.

To clarify the method, just in case:

It’s inefficient to test each and every individual version, which is why I’m following this suggestion:

This saves us from having to test each individual version by cutting the range we have to search in half each time we reach a conclusion. It’s called a “binary search” if you’re curious, but that’s beside the point.

Since I now know that 1785 also has issues emulating PQ2, then the next version to test is 1782, because the average between 1785 and 1779 (which is the latest version number where no issues were observed) is 1782. We can draw one of two conclusions after testing:

  • If 1782 does not have issues emulating PQ2, that would make it the [Latest known build without the issue]. We then would test 1783, since it’s the average between 1785 and 1782.
  • If 1782 has issues emulating PQ2, that would make it the [Earliest known build with the issue]. We then would test 1780, since it’s the average between 1779 and 1782 (after rounding down to an integer).

TL;DR: We test 1782, do some math, test whatever version the math gives us, and repeat until we get two versions side-by-side.