• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

DF Retro: Metal Gear Solid 2 - A Kojima Masterpiece

Chinner

Banned
Yes, this does work and that's what we've done in the past.

However, my backwards compatible PS3 is long dead and the only one we have capable of doing this is at the office in the UK (not with me in Germany) and that's a PAL unit.

Soooo...it would have been possible but difficult to set up especially since we were short staffed last week.

Xbox analysis would have been right out, though, which is the one I really wanted to do.

Forgive me if I'm stupid, which is highly possible, but if you have to a framemeister that outputs to HDMI and that's digital I think?
 

dark10x

Digital Foundry pixel pusher
Forgive me if I'm stupid, which is highly possible, but if you have to a framemeister that outputs to HDMI and that's digital I think?
Oh, that's not a stupid question but, unfortunately, it does not work.

I thought this too as my second DF project ever WAS Zone of the Enders 2 HD back in 2013. I thought I could just capture PS2 from a Framemeister and analyse it but I didn't yet understand the limitations of our software. Now I get it.

The only reason digital signal helps is that, well, it eliminates image noise and produce a reliably clean picture.

Analog cables introduce noise into the image - sometimes minor enough that you can't even see it by eye. To analyse this footage, we have a "compression" flag that can be used along with a number defining the tolerance. This basically overlooks minor image flaws in order to try and pick out unique frames. Analog imagery, without this flag, just comes up as 60fps because analog noise refreshes at that rate and changes the image just enough that it believes there is a new frame being displayed.

The compression feature overcomes this BUT it also makes it nearly impossible to pick-up torn frames since the tear detection algorithm is no longer able to determine where the image is breaking. So analog + tearing = no way.

The ONLY workaround here would be to manually go through the footage, frame by frame, and add a tear line for each torn frame. That would, of course, take hours. No thanks!
 

NXGamer

Member
Forgive me if I'm stupid, which is highly possible, but if you have to a framemeister that outputs to HDMI and that's digital I think?
A valid question, I cannot comment on DF software but capturing analogue signal for frame analysis is much,much harder than digital for sure, but fully possible as I have been doing it for a while in my videos.

It did take me sometime to write an algorithm that I felt worked enough and was confident in multiple tests to be very accurate. Tear tests on this are harder still but again possible and take much longer. It may be that I capture within my own software rather than use a 3Rd party that may help though.
 

Chinner

Banned
Oh, that's not a stupid question but, unfortunately, it does not work.

I thought this too as my second DF project ever WAS Zone of the Enders 2 HD back in 2013. I thought I could just capture PS2 from a Framemeister and analyse it but I didn't yet understand the limitations of our software. Now I get it.

The only reason digital signal helps is that, well, it eliminates image noise and produce a reliably clean picture.

Analog cables introduce noise into the image - sometimes minor enough that you can't even see it by eye. To analyse this footage, we have a "compression" flag that can be used along with a number defining the tolerance. This basically overlooks minor image flaws in order to try and pick out unique frames. Analog imagery, without this flag, just comes up as 60fps because analog noise refreshes at that rate and changes the image just enough that it believes there is a new frame being displayed.

The compression feature overcomes this BUT it also makes it nearly impossible to pick-up torn frames since the tear detection algorithm is no longer able to determine where the image is breaking. So analog + tearing = no way.

The ONLY workaround here would be to manually go through the footage, frame by frame, and add a tear line for each torn frame. That would, of course, take hours. No thanks!

A valid question, I cannot comment on DF software but capturing analogue signal for frame analysis is much,much harder than digital for sure, but fully possible as I have been doing it for a while in my videos.

It did take me sometime to write an algorithm that I felt worked enough and was confident in multiple tests to be very accurate. Tear tests on this are harder still but again possible and take much longer. It may be that I capture within my own software rather than use a 3Rd party that may help though.
Thanks for detailed posts, I guess the trade off with time consumption means its hardly worth it. Maybe. I never realised analog brought these problems but the potential of noise makes sense.

Great retrospective btw,
 

dogen

Member
Tried running it in PCSX2 with a GTX950 and in hardware mode could only run in native resolution without seeing frame drops (opening cut scene tested), my cpu was around 20% at all times so know that isn't the bottle neck.

Can you or anyone else say what gpu I would need to get to achieve a locked 3x internal resolution?

This post was a few days back, but this is most likely a CPU bottlneck. PCSX2 will only use 2 cores by default.
 

Breakage

Member
Great video. I never knew the shattered glass (from the glass pane) in the Tanker could make Snake's feet bleed. It's as if he's wearing a pair of socks instead of sneaking boots.
 

SugarDave

Member
Great video. I never knew the shattered glass (from the glass pane) in the Tanker could make Snake's feet bleed. It's as if he's wearing a pair of socks instead of sneaking boots.

I don't think it does. I believe the player must have been bleeding anyway (which requires a bandage in-game) and it just so happens to look like the glass is cutting him. I thought the same thing for a moment.

Maybe someone can correct me though.
 
This post was a few days back, but this is most likely a CPU bottlneck. PCSX2 will only use 2 cores by default.

no it was my gpu as my cpu wasn't close to maxing regardless of resolution (hardware mode), if it was a cpu bottleneck then i still would have had frame drops on native resolution which i didnt. should note that i was testing in the opening cut scene which seems to be far more demanding than in game but a good stress test.
 

dogen

Member
no it was my gpu as my cpu wasn't close to maxing regardless of resolution (hardware mode), if it was a cpu bottleneck then i still would have had frame drops on native resolution which i didnt. should note that i was testing in the opening cut scene which seems to be far more demanding than in game but a good stress test.

I'll test the game real quick. I have a GTX 950 as well.
 

dogen

Member
Ok, so at 3x the intro stays at 90 fps or higher(1.5x speed) most of the time and drops to a low of 75 when snake jumps down. Even the part with his camo turning off stays above 60 fps.

I am only using basic blending accuracy though, I don't know if this game requires a higher setting. But that feature mostly hits the CPU, not GPU.
 
Ok, so at 3x the intro stays at 90 fps or higher(1.5x speed) most of the time and drops to a low of 75 when snake jumps down. Even the part with his camo turning off stays above 60 fps.

I am only using basic blending accuracy though, I don't know if this game requires a higher setting. But that feature mostly hits the CPU, not GPU.

switching to the opengl hardware backend did the trick, pretty much locked 60fps at 3x even with the blending accuracy at medium.

it seems that i have been using the d3d 11 backend all this time not knowing that it was that much slower. most of the games i have played to completion have been much less demanding or only accurate in software mode so never noticed. so thanks for the late response and mentioning the blending or i would have never known, going to enjoy those extra frames!
 

dogen

Member
switching to the opengl hardware backend did the trick, pretty much locked 60fps at 3x even with the blending accuracy at medium.

it seems that i have been using the d3d 11 backend all this time not knowing that it was that much slower. most of the games i have played to completion have been much less demanding or only accurate in software mode so never noticed. so thanks for the late response and mentioning the blending or i would have never known, going to enjoy those extra frames!

D3D is faster for me though.. probably because it's skipping effects, or not rendering them properly.

Are you using an old version of the emulator, or any non default settings?
 
D3D is faster for me though.. Which is probably because it's skipping effects, or not rendering them properly.

Are you using an old version of the emulator, or using any non default settings?

Thats odd, i went back to d3d to double check and I still see the same drops.

Im using a 1.5.0 dev build from about three months ago. And as far as non default settings I only use the basic safe "Recommended" speed hacks on the cpu side.

With d3d 11 I use "allow 8-bit textures" , basic mipmapping and full crc hack level. With open gl i use those same settings together with accurate date and medium blending. Unless of course a game requires a specific setting to be changed as per the wiki.

Was always under the impression that whilst opengl was more accurate it was slower as a result. I swear the more I try to understand this emulator and get optimal performance for my build the less i know!
 

Breakage

Member
I don't think it does. I believe the player must have been bleeding anyway (which requires a bandage in-game) and it just so happens to look like the glass is cutting him. I thought the same thing for a moment.

Maybe someone can correct me though.
On second thoughts maybe you're right. I can't remember whether Snake's life bar was so low that he was bleeding. I'll have to check the video again.
 
Fuck yeah this was a great episode. I loved seeing all of the little tricks the dev team used. Very informative stuff.

MGS2 was way ahead of its time, and is still impressive to this day. I have this on my wall downstairs

00QrzpO.jpg
 

dogen

Member
Thats odd, i went back to d3d to double check and I still see the same drops.

Im using a 1.5.0 dev build from about three months ago. And as far as non default settings I only use the basic safe "Recommended" speed hacks on the cpu side.

With d3d 11 I use "allow 8-bit textures" , basic mipmapping and full crc hack level. With open gl i use those same settings together with accurate date and medium blending. Unless of course a game requires a specific setting to be changed as per the wiki.

Was always under the impression that whilst opengl was more accurate it was slower as a result. I swear the more I try to understand this emulator and get optimal performance for my build the less i know!

Maybe performance was improved in a recent build. Normally D3D and OpenGL perform similarly unless you use high levels of accurate blending, or if you have an AMD GPU.
 

dhonk

Member
Oh, that's not a stupid question but, unfortunately, it does not work.

I thought this too as my second DF project ever WAS Zone of the Enders 2 HD back in 2013. I thought I could just capture PS2 from a Framemeister and analyse it but I didn't yet understand the limitations of our software. Now I get it.

The only reason digital signal helps is that, well, it eliminates image noise and produce a reliably clean picture.

Analog cables introduce noise into the image - sometimes minor enough that you can't even see it by eye. To analyse this footage, we have a "compression" flag that can be used along with a number defining the tolerance. This basically overlooks minor image flaws in order to try and pick out unique frames. Analog imagery, without this flag, just comes up as 60fps because analog noise refreshes at that rate and changes the image just enough that it believes there is a new frame being displayed.

The compression feature overcomes this BUT it also makes it nearly impossible to pick-up torn frames since the tear detection algorithm is no longer able to determine where the image is breaking. So analog + tearing = no way.

The ONLY workaround here would be to manually go through the footage, frame by frame, and add a tear line for each torn frame. That would, of course, take hours. No thanks!

Interesting, so the UltraHDMI was used for the Goldeneye / Perfect Dark FPS tests? neat!
 

Fafalada

Fafracer forever
dark10x said:
Yeah, for sure. Technically speaking, Rogue Squadron is doing things the PS2 simply isn't capable of.
While that's technically true, people often overestimate the differences in what hw delivered in that gen as well.
But really - PS2 never received a high-end space game in its entire lifespan(and neither did XBox IIRC), so there is no frame of reference how far those could be pushed anywhere other than GC. I guess DC did get a StarLancer port, but I never saw how well that turned out.

Btw - a note about textures on XB version - you are correct conversion process was partly at fault - they re-compressed 8bit/4bit textures -> DXTC, which is what introduces the artifacts. IIRC MGS source art was authored as palette pixel-art(not the usual "compress textures to palette automatically" approach) and DXTC is just not great at handling such data. Fall back would be to use non-compressed textures (they certainly had memory to spare on XB) but given that port performance was already not great, that probably wasn't an option in the time given.
 
Top Bottom