RPCS3 / rpcs3

PS3 emulator/debugger
https://rpcs3.net/
GNU General Public License v2.0
15.12k stars 1.89k forks source link

Fallout 3 [BLUS30541]: Frequent vertex explosions #14862

Open Shoegzer opened 9 months ago

Shoegzer commented 9 months ago

Quick summary

Vertex explosions occur frequently while ingame:

pic

Details

Attach a log file

RPCS3 Log: RPCS3.log.zip

Attach capture files for visual issues

RSX Capture: BLUS30451_20231201180021_capture.rrc.gz

System configuration

Other details

Save file from an area of the game that frequently (always?) triggers the issue: BLUS30185-SAVE-PLAYER-66.zip

Darkhost1999 commented 9 months ago

If I remember correctly this is antagonized by write color buffers.

Shoegzer commented 9 months ago

Thanks, I asume by antagnozied you mean WCB causes this. I've been testing with it on since it prevents save game thumbnail corruption but I'll and try without it for a while.

Shoegzer commented 9 months ago

Update: Vertex explosions occur even without WCB, as I've just discovered in testing.

Darkhost1999 commented 9 months ago

Yes, but does it happen less often or have the same triggers?

Shoegzer commented 9 months ago

That's why I assumed that by "antagonized" you meant that WCB causes the problem, not to be pendantic. I can check again to see if I encounter the issue less frequently, though it did occur soon after going ingame with WCB turned off, so I'm not sure if there's a conclusive way to measure its impact. As far as triggers, it was caused by going into a new area as can happen with WCB on. Have your tests been different?

Shoegzer commented 9 months ago

Vertex explosions seem to be occurring just as frequently, and triggered the same way, so I don't think we can conclude that WCB has any real effect on them, positive or negative.

kd-11 commented 9 months ago

I don't see any RSX heap overflows so it's more likely one of two things:

  1. Vertex shader corruption.
  2. Verts coming in already messed up from CELL,

Has this error always been present? It would be easier to figure out which scenario is the culprit if it is a regression of some kind.

Shoegzer commented 9 months ago

I'm not exactly sure if it has always been present, but at least the writeup on the title's Wiki page which references the issue was there before I started testing it a few weeks ago. I know that's much help but perhaps there's a way to determine when that was posted.

That said, I'm happy to gather any other information for you that may help in tracking this down.

Darkhost1999 commented 9 months ago

Does Shader Precision Ultra help at all? My tests were when I got the game and not very long after that epic gave the game away for free. So I have 0 progress in RPCS3. Just remember getting to that 1st town with a bomb in the middle of it and there being vertex stuff that made it impossible to see anything. Then on this approximately 0.0.22 or 0.0.23 build I disabled wcb and never saw the issue again. Nowadays things could've changed yet the game doesn't appeal to me very much.

Shoegzer commented 9 months ago

Hey thanks, I turned shader quality to Ultra and will let you know if it helps. That's one of the few settings I didn't test.

And yeah, that first town with the bomb in it is "Megaton" as I had mentioned in my original post, and that's the first time I encountered it too. FWIW assuming you followed a typical game path as I did, that's the first area of the game with such a large amount of scene geometry, before that point you're primarily in the vault which is nowhere near as complex graphically. Perhaps not by coincidence then, usually when I enter Megaton the vertex explosions occur.

Shoegzer commented 9 months ago

Actually, I got the vertex explosions immediately on loading the game with Ultra shader quality, so that doesn't help unfortunately.

kd-11 commented 9 months ago

This isn't a shader bug. The memory for some vertex stream likely got overwritten. I wonder how to catch the culprit.

Shoegzer commented 9 months ago

Thanks @kd-11. FWIW I've just dicovered an area of the game that seems to always trigger this issue, if you think that might help I can provide some RSX captures from there or anything else you may need.

kd-11 commented 9 months ago

Thanks @kd-11. FWIW I've just dicovered an area of the game that seems to always trigger this issue, if you think that might help I can provide some RSX captures from there or anything else you may need.

A save file would be better. I need to run the game on a modified version of the emulator to catch the issue.

Shoegzer commented 9 months ago

Done - posted above. It's a serialized save so if you need the entire lot just let me know.

Shoegzer commented 9 months ago

Also, in case it helps I've just come across this post which shows that the issue must have been present over four years ago (though whether it was resolved and then later regressed again I don't know):

The game suffers from...major graphical glitches like stretching polygons covering the screen or when using any scoped weapon (it doesn't always happen, though).

Incidentally the "scoped weapon" comment only holds true in the most recent builds if the screen is already showing vertex explosions.

jeremybris commented 9 months ago

I got this bug more frequently and consistantly in Oblivion and Fallout 3, when enabling high frame rate patches and increasing the vblank rate. Dunno if that helps.

Edit: Specifically 120 F.P.S., 120 vblank in Oblivion.

Edit 2: I rarely get this bug outside of the above settings.

Shoegzer commented 9 months ago

Interesting. I've tried almost everything but can't seem to change its frequency positively or negatively, but then again I always run at ps3-native resolutions and framerates. I'll tinker with those a bit to see if there's any observable difference on my end.

Also interesting to know that this happens on Oblivion too, though I suppose not too surprising given the same developer and engine. I'm curious if this is observed in Fallout New Vegas or Skyrim.

Shoegzer commented 8 months ago

Update: I discovered that setting the PPU Thread Count to 1 in Debug seems to eliminate this issue, at least in testing so far. At least, it hasn't occurred after entering areas such as the Rivet City Marketplace multiple times, whereas the problem is always observed with the default Thread Count of 2.

I'll report further if I get the issue again though.

kd-11 commented 8 months ago

Test with https://github.com/RPCS3/rpcs3/pull/14907 If you enable WCB, also enable RCB. Same for RDB/WDB, try to pair them together.

Shoegzer commented 8 months ago

Thanks. Unfortunately the vertex explosions are still occurring with the new PR merged and WCB + RCB enabled.

Log: RPCS3.log RSX Capture: here (too large to upload here)

Also: Is it possible your new PR could resolve the issue with this title freezing occasionally? I'm not sure if that's related, and it's still early, but it hasn't frozen in testing so far.

Darkhost1999 commented 8 months ago

Also: Is it possible your new PR could resolve the issue with this title freezing occasionally? I'm not sure if that's related, and it's still early, but it hasn't frozen in testing so far.

https://github.com/RPCS3/rpcs3/issues/9133#issuecomment-1859295216 That's what this was describing so I hope so. Along with other games than just Fallout 3.

Shoegzer commented 8 months ago

Actually, after further testing it did freeze on me once. At that frequency I'm not convinced it's a RPCS3 issue though - the Bethesda games were known for freezing on PS3 and even PC. This is the GOTY edition which I assume incorporates all previous patches, but I'm pretty sure even that edition had issues like this.

Shoegzer commented 8 months ago

Incidentally, turning on RCB frequently produces issues of its own, and only when the game is drawing other objects in the foreground, as shown with the in-game menu here:

pic

Such issues are not present when only WCB is on.

Log: BLUS30451_20231229172639_capture.rrc.gz

As this is likely to be unrelated, I can move this to a separate issue if needed.

Triticum0 commented 8 months ago

Does the issue get worse or better when using the Spu interpreter?

Shoegzer commented 8 months ago

@Triticum0 are you asking about the main issue or the one I just raised? And also, which interpreter - static, dynamic or ASMJIT?

Triticum0 commented 8 months ago

@Shoegzer Interpreter Static or dynamic it doesn't matter. I just had issue with vertex explosions on an issue which got worse using the Interpreter and just wanted to know if it related to this issue or not.https://github.com/RPCS3/rpcs3/issues/15021

Triticum0 commented 8 months ago

Incidentally, turning on RCB frequently produces issues of its own, and only when the game is drawing other objects in the foreground, as shown with the in-game menu here:

Also Ideally RCB and WCB are meant to used together as that how ps3 does it. So having graphical issue with one turn off is to be expected.

Kd-11 Quote about data leaking causing graphical issues

As I noted in https://github.com/RPCS3/rpcs3/pull/14907, there is no way to avoid the leaks without both RCB+WCB (or RDB+WDB in some games) enabled at the same time.

Shoegzer commented 8 months ago

The vertex explosion issue is no better or worse with the interpreters (I just tested all three). The only way to avoid this problem (90% of the time at least), is to set the PPU Thread Count to 1. Try that and see if it helps your case.

I realize RCB and WCB are meant to be used together. My point is that the issue only occurs with both of them turned on.

Triticum0 commented 8 months ago

Thanks, just wanted to know if the issue was related looks like it is not.

With the RCB issue, you should probably comment on #9133

Shoegzer commented 7 months ago

Done.

Also, I discovered this video that demonstrates the vertex explosion issue at least with Fallout: New Vegas (though it's the same with Fallout 3).