RPCS3 / rpcs3

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

Deadly Premonition: The Director's Cut | Flickering Shadows #8950

Open FrancisZachMorgan opened 3 years ago

FrancisZachMorgan commented 3 years ago

As the title implies there's flickering shadows in "Deadly Premonition: The Director's Cut" when you move the camera. You can encounter them from the first playable section onward. Just skip all the cutscenes and start a new game. Once camera movement stops, it takes a brief moment and the shadows will stabilize. This does not occur in an older build of RPCS3 (v0.0.10-10343 #8171) [download here] that I've tried.

Unfortunately I don't know which update introduced this error as I'm new to using RPCS3. I tried the aforementioned build as it seemed to be the one these guys used (according to the date) when posting that "Deadly Premonition" was working fine with RPCS3.

As for the current build I tried lots of different settings combinations, using the recommended settings for this game from RPCS3 wiki, a clean re-install, updating my graphics driver and more. Nothing could get the shadows to appear as they should. With the older build mentioned above, it worked right away with default settings, as well as when using Vulkan and increased render resolution (1.5x/1080p).

I have attached both log files. You can download video footage of both builds running the same scene here (link expires after 30 days): https://easyupload.io/s5peav

My system specs are as follows:

I hope this is helpful! Thank you for your time and effort!

RPCS3_Deadly_Premonition_Flicker

AniLeo commented 3 years ago

Need log files from a clean game copy, removed the existing ones since they show a pirated copy of the game

Since it's a regression report, knowing which Pull Request broke it exactly is also required, in order to ask the developer that made the breaking change to investigate

FrancisZachMorgan commented 3 years ago

I hope someone else can provide these. While I do own the game I neither want to install custom firmware on my PS3 nor dig through month's worth of RCPS3 builds to find the one causing the issue. :( Thanks for your reply though!

lextra2 commented 3 years ago

The game is available on GOG & Steam. Not sure why you'd pirate the PS3 version over the PC version...

FrancisZachMorgan commented 3 years ago

I bought the game both on XBOX 360 and PS3. Unfortunately the 360 version is sub-720p and the PS3 version suffers from horrible framerate on original hardware. With RPCS3 it runs at superb 60 fps even at 4K – unfortunately it also crashes randomly in addition to the shadow flickering. The PC version is a catastrophic port that is extremely unstable and full of bugs.

I bought this game twice. I just didn't want to go through the trouble of installing custom firmware on my 11 year old fat PS3 to dump a game which, as it turns out, doesn't even run flawlessy and/or stable on RPCS3. I already wasted hours of trying different settings combinations and different builds of RPCS3 to get it to work the way it should. So please forgive me for wanting to save time and effort for downloading an iso of a game I already bought twice. As in my book it's not really piracy if you download a game you already bought legitimately.

lextra2 commented 3 years ago

The PC version is a catastrophic port that is extremely unstable and full of bugs.

Some of that can be mitigated. Check out https://www.pcgamingwiki.com/wiki/Deadly_Premonition:_The_Director%27s_Cut for DPfix

FrancisZachMorgan commented 3 years ago

I knew of that potential fix but I must admit that I haven't tried the PC version myself yet. Nevertheless: Thank you very much for trying to help and pointing at DPfix! Seeing how much better the game feels and plays at high resolutions and framerates (with RPCS3) I think I'll give the PC port a chance.

Silanda commented 3 years ago

I seem to be seeing this too. When I get the chance to look in more detail I'll try to find when the regression occurred.

As for the PC version: it's a piece of crap. It's unstable, has sound issues, and runs at 35fps on my system for reasons I have yet to determine and have been unable to mitigate.

FrancisZachMorgan commented 3 years ago

@Silanda: If I'm not mistaken, I also tried the last build released in September, which dispayed the shadows correctly. Thus the regression should have occurred in a build that's less than 1.5 months old. Maybe you can use that as a starting point.

Also: Does the emulation also crash/freeze on your system? Depending on which settings I use (or maybe it's just random?) the emulation freezes after 10 to 100 minutes. I let the emulation run (tryinh different settings) while I was doing something else in hopes of determining the cause/setting for the freezes – to no avail unfortunately. It seems to freeze faster the higher resolution and framerate are set. Without resolution scaling and a 30 fps cap it would sometimes run stable for more than an hour. Most of the time the game would freeze within 30 minutes though. I considered using the most accurate interpreter's of RPCS3 to see if that would help but didn't really test that for very long as it resulted in very low framerates.

ribolovac510 commented 3 years ago

The regression got introduced with #8741 so the last build without the z-fighting issues on shadows is 0.0.12-10844. For anyone wanting to try out the game, currently it works best on that build, at least in my case.

rpcs3-v0 0 12-10844-2e88924c_win64 rpcs3-v0 0 12-10846-6380e67a_win64

0.0.12-10844 log: RPCS3.log.gz 0.0.12-10846 log: RPCS3.log.gz

digitaldude555 commented 3 years ago

Still an issue.

jeremybris commented 3 years ago

Same with Mercenaries 2:

RPCS3 Version RPCS3 Commit RPCS3 RSX Capture & log Screenshot
v0.0.12-10844 and Before ------------- RSX Capture 2 & RPCS3 2.log Capture61
v0.0.12-10846 and After #8741 RSX Capture & RPCS3.log Capture321
kd-11 commented 3 years ago

Any change with https://github.com/RPCS3/rpcs3/pull/10111?

jeremybris commented 3 years ago

Mercenaries 2 is about the same:

Before After
Capture51 Capture155 BLUS30056_20210413192411_capture.zip
ribolovac510 commented 3 years ago

The issue is still present. Screenshot BLES01776_20210418194341_capture.zip

kd-11 commented 3 years ago

Let's get some fresh captures of this issue. RSX capture format was changed recently.

jeremybris commented 3 years ago

Mercenaries 2: RSX Capture.zip

ribolovac510 commented 3 years ago

And here's one for Deadly Premonition: BLES01776_20210810065706_capture.zip

ribolovac510 commented 3 years ago

Unrelated to shadow flickering, I remembered that there's some texturing issues in the lumber mill section of the game, they were there before #10637. Here's a capture of that as well: BLES01776_20210810071204_capture.zip Capture

kd-11 commented 3 years ago

Please give a comparison screenshot. Most of us have never played most games in bug reports, and I know this game is known for trippy visuals.

ribolovac510 commented 3 years ago

Sure. Here's how the same section looks running on native hardware: ps3-1 ps3-2

kd-11 commented 2 years ago

This is going to take a few days to validate everything, I need to cross-check with multiple drivers across vendors and platforms including source code analysis. Not too difficult, just time consuming.

kd-11 commented 2 years ago

FTR, this is caused by precision drift introduced by Z-clip emulation introduced to work around some deficiencies. Looks like I have to use the hardware primitive clipping afterall. I still need to remember why it was not possible to implement on OpenGL.

ribolovac510 commented 2 years ago

@kd-11 I've tested the game some more, weirdly enough there's still some shadow flickering in outdoor areas, inside they are completely fine. Don't know if anything could be done about that but here's a fresh capture just in case.

https://user-images.githubusercontent.com/74596991/147154388-920d2d7a-2192-4f07-9d38-cf6c0fa49b73.mp4

BLES01776_20211222215409_capture.zip

kd-11 commented 2 years ago

How was this section before the regression reported?

kd-11 commented 2 years ago

The flickering is because the game is annoyingly using EQUAL comparison between computed values and very tiny errors are messing up the comparison. There's multiple ways around this, none of them pretty.

ribolovac510 commented 2 years ago

Figured it would be messy fixing this since the game is badly programmed on all platforms. :/ I've booted up this save on the old build and it looks even worse there, false alarm on my side.

https://user-images.githubusercontent.com/74596991/147156105-f4930a7e-88a9-417f-9105-0e8dd152d1be.mp4

Currently I don't have a PS3 readily hooked up to test if it's any different on native hardware. I could try finding a video of that section on youtube if needed. In my opinion I'd call it a day and consider this fixed.

kd-11 commented 2 years ago

According to the comments, the last good build is 0.0.12-10844, maybe you can try with that one. The version in the clip is newer.

ribolovac510 commented 2 years ago

True, I've managed to get the wrong build, sorry. They look fine on this one, no flickering at all.

https://user-images.githubusercontent.com/74596991/147158690-fd11cda4-052a-413e-82be-0fda0968d789.mp4

Kazamanowski commented 1 year ago

How was this section before the regression reported?

Another regression happened. The shadows still flicker in the latest builds of RPCS3. Even OpenGL won't help eliminate them either. Perhaps a z-clip emulation toggler would help it a whole lot. Even on Vulkan.

kd-11 commented 1 year ago

Requires https://github.com/RPCS3/rpcs3/issues/13078 implemented and a beefy GPU thereafter.

ArtyIF commented 8 months ago

How was this section before the regression reported?

Another regression happened. The shadows still flicker in the latest builds of RPCS3. Even OpenGL won't help eliminate them either. Perhaps a z-clip emulation toggler would help it a whole lot. Even on Vulkan.

I noticed that using OpenGL, at least on my AMD GPU, eliminates the issue on Linux. However, on Windows, the shadows flicker regardless of the graphics API. Both setups use the latest GPU drivers and run on the same PC.