Closed JMC47 closed 4 years ago
Build 7569:
Window Resizing does this ingame
Issues still present on the Master Build of RPCS3 dated 17/06/2019 RPCS3 Version: RPCS3 v0.0.6-8261-d52953fc Alpha.
All graphical glitches are still present.
Looks like this is partially fixed by newest PR from @kd-11 https://github.com/RPCS3/rpcs3/pull/6376
I think this one can be closed. What do you think @kd-11 ?
Any major issue remaining?
@kd-11 going through it right now, I don't see anything missing on MGS2, apart from some shadow artifacts.
MGS3 is harder to tell, not much was missing there.
Case in point, those lines at 11 and 3 o' clock. I believe I've only seen them there so far. Really minor stuff, rest of the game works perfectly apart for the wonky FPS.
Can you try the mgs4 build? Those lines look like something I fixed in that PR. You'll need the latest build since the first ones had bugs.
@kd-11 I can, but could you please specify which build exactly I should try? I've downloaded 5 different RPCS3 versions today and I'm not sure which is which at this point.
@kd-11 I couldn't find more people to test this, but the effects only seem to render with OpenGL on my end. (Linux, RADV mesa unstable) On latest master.
@kd-11 yes, artifacts still happening with the latest MGS4 PR.
One rendering issue that I found is after the battle with the Harrier midway through the game, there's a shot through the busted canopy showing Solidus with his hurt eye:
That currently doesn't work on RPCS3 (0.0.6-8561), the canopy doesn't have any transparency to it:
I've just found another issue, this time on Windows. Character models that were transparent only got fixed for NVIDIA GPUs. On my GTX 1050 they do indeed show up as intended, but on my RX 570 they are still semi-transparent (caches were deleted after each test.) Both of these tests were done using the latest drivers for each vendor. Also when running on AMD there seems to be some weird flicker every now and then.
@kd-11
Just wanted to wake this one back up, as those lines shown above by Alex are still present. They are certainly related to shadows cast by specific lights in specific places. Looks to be boxes around the extent of the shadow textures, and looks to be almost exclusively character models. Here's a few more examples in that hallway. The lights from the windows are causing this anomaly, as if you go south in those hallways, they disappear. They can also be found crossing some bridges in Plant chapter, as well as in the Transformer Room in Strut B where you first meet Vamp and he destroys all of those dudes. (each dude has the box around their shadows)
Not sure how I can be of more help, but I'll help however I can. Game is essentially perfect otherwise, aside from frame drops. EDIT: I have also test the MGS4 build, newest version as of yesterday, and it has the same issue. Open GL, Vulkan, strict rendering... you name it.
As of April 27th, the shadow edge issue persists, and the transparency issue on the harrier and Otacon's glasses is still present, tested with Anti-aliasing on/off and Anisotropic filtering on/off. Attached is a screenshot of what may be the same rendering issue or a new one with the swimming section towards the middle of the game that also seems to be affected by this transparency not rendering. Once underwater this is not an issue, so the section is still easily playable.
These issues aside, the game is fully playable from start to finish with only minor visual artifacts.
Sidenote: The game does experience an infinite loading scenario periodically, reported on a separate issue on the tracker. Switching SPU to ASMJIT and disabling TSX resolved this for the remainder of my play through.
Please add some more recent RSX captures highlighting the remaining bugs for further investigation.
This corresponds to the above water transparency issue mentioned in my previous post.
This corresponds to the same issue observed by @mackmcd two posts up, with shadows featuring a black square around their rendered area. The shadows rotate and scale correctly as the character moves through a scene, but the edges of the rendered shadow appear as a solid black line.
Followup on the shadow issue, showing both sides of the square. Shadow centered on character, rotated square.
The borders are by design, a developer used a scissor region of 255x255 to render into a target of 256x256 which leaves a 1px border on two sides. The memory is already pre-cleared to 0 though so it's not an issue on PS3. On RPCS3 you must enable Read Color Buffers to obey memory modification by cell such as memory being cleared manually which is what happens here. This fixes the shadow border.
Please retest if the other issues are resolved, check MSAA enabled and disabled for transparency issues. If no issues are left, close this ticket.
Will re-test and check as advised.
Can confirm that Read Color Buffers corrects this issue on MGS2 and MGS3 with Shadows. This issue is resolved.
Transparency Issues remains regardless of Anti-Aliasing being set Auto or Off in config settings. Attempted with Interpreter (fast) on Vulkan and with Read/Write Depth Buffers on/off as well as Read Color Buffers Off/On and Write Color Buffers On/off for the water surface. Is there anything else we can test on the transparency issue?
The transparency issue, as far as playability, is incredibly minor. It affects the water surface in MGS2 in 2 sections, Otacon's glasses in MGS2, and the chopper and plane cockpits in both titles. Both games are fully playable.
That is beautiful, kd-11. Thanks for the info.
Above all, I'd love a quick button-press solution for the severe frame drops in MGS3, specifically during The Boss fight, even if it resulted in some post processing effects to disappear for the duration of the fight. This version is 100% speedrun ready if not for those frame drops.
Thanks for your work and insight.
@jedinjapan If you have a save game near a location where the transparency glitch is visible, please provide it. I have very little patience for stealth mechanics in games making debugging very frustrating if I have to actually run through to reach the bugs.
@mackmcd I'm not aware of any issues in MGS3, I know there is a ticket for MGS3 issues, maybe provide footage or something there showing the problems, I know very little about this series of games. Make sure to enable the performance metrics on high to show the emulator's performance during the problems.
@kd-11 As far as I'm aware the performance issues in MGS3 are draw call related. Scenes where you can see further into the distance completely max out one of the threads on my 2600X. Edit: screenshot
@kd-11 Here's a screen shot of the area with the worst slow down. (25 - 30fps) I'm on a 3800x with SMT enabled clocked at 4.2ghz, if that matters.
Also, here's a save to the very beginning of this fight in the flowers. No stealth required.
If I hold down on the right stick to move the camera lower, the framerate increases immediately. 40 - 50fps. I don't pretend to know exactly what a draw call is, but judging from what those words mean in english, I think @NotBeanz is likely correct. They are drawing a shitload of flowers in this scene. BLUS30847_MGS31G00000E.zip
The virtual GPU is only being seeing 47% usage, it means it is not graphics load causing slowdown.
Also, new issue with MGS2. This is the first time I'm seeing this. I hadn't played MGS2 in a month or two, and I just updated RPCS3 this morning. Just booted it up to test the Read Color Buffers shadow solution. (which I can also confirm works like a charm)
The left image on each codec is now half cut off. Doesn't matter who is on that side of the call. Does not seem to be related to enabling Read Color Buffers, as disabling it does not resolve this.
The virtual GPU is only being seeing 47% usage, it means it is not graphics load causing slowdown.
If it helps, a similar slowdown happens in MGS2 whenever there are bugs on the screen. There's a few areas where there are many small bugs crawling around, and when the game renders them, same slow down. It seems when there are "lots" of something on screen, the frame rate drops, in both games. I might have read somewhere that's most likely a CPU limitation, but again, I'm no expert.
EDIT: I'll play the game up to, and share a save of the swimming section screenshotted above, which should demonstrate both that water/transparency issue, as well as the bugs as described.
EDIT2: @kd-11 save for MGS2 added. Just skip the cutscenes and codec calls. There are bugs on the wall to the left, and the water ought to be transparent. Cheers, sir. BLUS30847_MGS2000G004.zip
I do not have the cut-off faces bug.
Very strange. Will investigate cut-off codecs on my own and report back if I discover what was causing it, in case someone else has it and stumbles on this thread.
Save file directly in front of the water from the screenshot in Metal Gear Solid 2 HD.
Will follow up with a save file for The Boss fight from Metal Gear Solid 3 HD as well in a moment.
edit: Also cannot repro the cut off faces bug in MGS2. @mackmcd Try with latest build and defaults?
Save file from Metal Gear Solid 3 HD, end of game fight with The Boss illustrating the aforementioned slow down.
For reference for anyone reading later, both MGS2 HD and MGS3 HD from Bluepoint are included in the Metal Gear Solid HD Collection and run on the same ported engine, so the shadow bug resolved above was also resolved in MGS3 with the same fix, and the same slowdown that only mildly affects MGS2 in the Tanker Chapter is present and a much more major issue in MGS3, as the decals/textures are used much more aggressively in that title.
Transparency update: The emulator seems to render everything as instructed by the game. There is an alpha boost parameter set in a shader variable to 2 which makes the alpha too strong and breaks transparency. Obviously the alpha boost multiplier makes no sense in a transparent effect. Disabling it with hacks shows the game rendering correctly. There is no obvious bug, unless PS3 supports some interesting texture transformation to divide the output strength of a channel by half. Feeding the same sequence of inputs to a ps3 matches rpcs3 behavior which points to something more serious happening in the core of the game. I'll keep poking at it, similar issues are observed in other games like killzone 2 so it points to me missing something critical about how the data is being set up.
Well, I figured it out eventually, this game is using rendering techniques from the 90s, I just had to think like a dev from the old days.
Well, I figured it out eventually, this game is using rendering techniques from the 90s, I just had to think like a dev from the old days.
Thanks for your persistence with even weird and anachronistic stuff ! For many MGS 1/2/3 "Legacy Collection" and MGS4 are pretty much the main (or even, the only) reason for need in PS3 emulation due to lack of proper native PC versions and all of them blowing up their respective hardware which translates in blowing up emulators. So much so, that for every "realtime in-engine" trailer of each of them there was skepticism that it's all non-realtime pre-rendered fakery.
https://youtu.be/mH2ZVlOLPNI?t=841 - few years ago Digital Foundry has made overview of rendering techniques in MGS2 and difference with all of its ports. https://youtu.be/5PxGM1np2hU?t=488 - ironically, when talking about difference in rendering for "Castlevania: Symphony of the Night" on PS1 original and Saturn port, they highlighted "meshed" faked transparency issue for Saturn even though they was a "native" way for doing it nicer and faster that developers failed to use. Seems they did something similar in MGS2 on PS2 for some reason. It targetted 60 fps on PS2, unlike MGS3 with 30 target that goes as low as 15, though. https://youtu.be/OeNayQKP0v4?t=505 - MGS2 still sometimes manages to drop well below 60 fps even on XbOneX™ at 720p.
Other than https://github.com/RPCS3/rpcs3/pull/8299 are there any graphics bugs in MGS2 specifically? We already have a separate tracking for MGS3 bugs especially when MSAA is used.
RPCS3 Version RPCS3 v0.0.5-6692-98b715d8c Alpha | HEAD Computer Info Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz | 8 Threads | 31.96 GiB RAM | AVX+ | TSX NVIDIA GTX 1070
Issue Description
The opening of Metal Gear Solid 2: Sons of Liberty (tanker) is rife with tons of missing graphics that cannot be repaired by any of the available settings in RPCS3. I've provided screenshots and renderdocs of some of the issues I've encountered along with a screenshot from my Playstation 3 console.
Issue 1 - Missing Rain Effects
The rain effect present in the opening of the game is completely missing.
Console RPCS3
Issue 2 - Missing Lighting Effects
The cars driving along the bridge have lights with massive glare. This is completely missing in RPCS3, making the scene look incredibly empty.
Console RPCS3
Issue 3 - Missing Stealth Camouflage Effect
When jumping from the plane, Snake's stealth camouflage begins to fail. But, while it is working, he is completely invisible because the effect is not rendering.
Console RPCS3
Issue 4 - Snake is Missing in Codec Scenes
Issue is pretty clear. No idea why - Otacon shows up fine. Note, the misaligned boxes is just a symptom of the port.
Console RPCS3
Issue 5 - The Hudson River Does Not Render
This one is kind of hard to see in the screenshots, so I grabbed two on console this time. The water around the ship is completely missing on RPCS3! I have two shots from console as it pans up, showing that the water is clearly missing. Compare it to RPCS3, and you can see below the ship into the void.
Console RPCS3
Issue 6 - Laser Dot is Missing
The Laser dot sight used for aiming on the m9 is missing. Probably related to the other missing effects but it was really easy to grab so I grabbed it.
Console RPCS3
Renderdocs
Within the renderdocs I've included each of these screenshots alongside them for ease of use. The renderdocs were recorded on OpenGL with the old buffers.
Renderdoc1 Renderdoc2 Renderdoc3 Renderdoc4 Renderdoc5 Renderdoc6