• 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.

FXAA for all PS3 and Xbox360 games

Durante

Member
Some PC gamers (myself included) like to go on about the huge image quality advantages of playing on PCs. Now, your PC can actually improve the visual quality of console-exclusive games! (outside of emulation)

I've previously posted about the small program PtBi that I use to display 360 and PS3 games. Today I added the ability to use NVidia's FXAA -- thanks to them for releasing the code to the public domain and making it easy to integrate.

For those that are unaware, FXAA is a post-processing method that tries to reduce the amount of aliasing artifacts (think pixel staircase) in an image. It's similar to MLAA in that aspect. Like all post-processing methods that act purely on image data, it has some drawbacks:
- It can't handle subpixel aliasing well. (Unlike most similar methods, it at least tries to reduce it though)
- Sometimes aliasing may be detected incorrectly, resulting in an overblurring of the image. PtBi can mitigate this by adaptive sharpening after the FXAA pass.
- Particularly when used as a post-filter external to a game, it's impossible to distinguish between UI and rendered 3D elements. This results in some UI distortion.

Advantages are that it can be used on any image data, it is really good at smoothing the edges it detects and it's very fast. On my system, with YUV decoding, FXAA and adaptive scaling on, it still only takes less than 5 ms for a frame to be completely processed. Another nice point is that it can be used on top of images generated with eg. 2xMSAA (like many modern console games) and still achieve an improvement in edge quality.

That out of the way, here is an example of it in action on Everybody's Golf. First without any post-processing, second with FXAA and adaptive sharpening. (This scene is obviously selected to maximize the effect, but you can find more random shots in the link at the end of this post.)
2011-07-26_21-40-08_fxdql6.png

2011-07-26_21-40-08_fxwpyu.png


Here is another one from Nier, same order:
2011-07-26_21-45-40_fxbu4j.png

2011-07-26_21-45-40_fx6urf.png


So, how do you get to join in on the fun? Well, that's one remaining problem. You basically need a somewhat capable PC and a Blackmagic Intensity capture device. Sorry, nothing I can do about that.

Here is a gallery with many more comparisons, both ones that work well and ones that are less impressive.
 

distrbnce

Banned
I think this would be awesome if you could consolidate everything needed into a small, consumer-friendly box. "ConsoleBooster+", "FuzzPedalHD"! Get to kickstarter!
 
Durante said:
it still only takes less than 5 ms for a frame to be completely processed.

Of GPU time, right? One of MLAA's advantages in PS3 is that it frees up GPU resources since it's entirely done on the CPU, which can result in a graphical and/or performance boost on top of the higher picture quality.
 

Durante

Member
distrbnce said:
I think this would be awesome if you could consolidate everything needed into a small, consumer-friendly box. "ConsoleBooster+", "FuzzPedalHD"! Get to kickstarter!
That's an interesting idea, the problem is that the whole thing would be at least $700 or so in parts. It would be a pretty good set-top box and couch-gaming PC as well though.

Philanthropist said:
Of GPU time, right?
Of total wall-clock time from the point where the frame enters the PC (via the Intensity capture card) to the point where it is decoded, filtered, scaled and ready to present on the screen. Making this interval as short as possible is one of the goals of the program.
 

Frankfurt

Banned
Only the master race would care about such a minuscule difference like that. I would pay $1 tops for this, if it required me no work whatsoever. Otherwise, useless.

If it adds 5ms on top of the 5ms of the wireless controller and the 14ms of my TV, that means it's getting dangerously close to the noticeable range of lag.
 
distrbnce said:
I think this would be awesome if you could consolidate everything needed into a small, consumer-friendly box. "ConsoleBooster+", "FuzzPedalHD"! Get to kickstarter!
I'd buy something like that.
Frankfurt said:
Only the master race would care about such a minuscule difference like that. I would $1 for this, if it required me no work whatsoever. Otherwise, useless.
Miniscule difference, maybe at native res in your browser, but blown up to TV size you notice jaggies a lot more.
 

Paracelsus

Member
Some games on homeconsole totally beg for anti aliasing but I'd like you to be more specific on the "demanding pc" aspect of the thing.
 

Durante

Member
Backfoggen said:
Miniscule difference, maybe at native res in your browser, but blown up to TV size you notice jaggies a lot more.
Yeah, I contemplated posting some scaled 1080p pics, but I'm not really trying to convince people that this is useful. I'm sure those that are really interested can extrapolate well enough.

Paracelsus said:
Some games on homeconsole totally beg for anti aliasing but I'd like you to be more specific on the "demanding pc" aspect of the thing.
It's honestly not particularly demanding, if you have a recent GPU you should be fine. The problematic part is the $200 capture hardware.

Twinduct said:
Hmm, any chance of seeing the difference on a game like infamous 1?
Sorry, I don't own that game. Maybe if there is a demo.
 

szaromir

Banned
5ms might still delay the display of the frame by one full frame. I'd rather continue playing MP games on PC and just bear with low IQ in console exclusives.
 

Zen

Banned
Very very cool! I might not use this for an online multiplayer game but for single player stuff? Completely awesome.
 

Durante

Member
szaromir said:
5ms might still delay the display of the frame by one full frame. I'd rather continue playing MP games on PC and just bear with low IQ in console exclusives.
True, but 1 frame is less than almost every TV does these days. Also, most console games already have 2 frames of inherent input lag. But I completely agree with playing competitive MP games on PC (best at 120 FPS :p).

For single player games, and particularly JRPGs and other console-exclusive stuff I feel like the improvement in IQ is worth the lag.
 

Raistlin

Post Count: 9999
Frankfurt said:
Only the master race would care about such a minuscule difference like that.
That's hardly minuscule.

If it adds 5ms on top of the 5ms of the wireless controller and the 14ms of my TV, that means it's getting dangerously close to the noticeable range of lag.
Umm ... that's not what it means necessarily
 

M3d10n

Member
Philanthropist said:
Of GPU time, right? One of MLAA's advantages in PS3 is that it frees up GPU resources since it's entirely done on the CPU, which can result in a graphical and/or performance boost on top of the higher picture quality.
But it uses 5 SPUs to do so, so it's only usable on games which are "light" on the CPU.

BTW, aren't new PS3 models disabling HD output over composite to please the Blu-Ray association? How would you route the image through a PC with one of those?
 

Raonak

Banned
That is pretty cool. Aliasing is the only thing I actually notice in games (sometimes i recognise low res, but most frame drops, screen tears and stuff like that just pass by me.)
 

Durante

Member
AbsoluteZero said:
I didn't realize aliasing bothered people so much that they had to jump through so many goddamn hoops.
You have no idea!

M3d10n said:
BTW, aren't new PS3 models disabling HD output over composite to please the Blu-Ray association? How would you route the image through a PC with one of those?
IIRC, that's only for Blu-ray movies. Even if not, I'm not concerned, I own a HDFury HDCP stripper.
 

szaromir

Banned
Durante said:
True, but 1 frame is less than almost every TV does these days. Also, most console games already have 2 frames of inherent input lag. But I completely agree with playing competitive MP games on PC (best at 120 FPS :p).

For single player games, and particularly JRPGs and other console-exclusive stuff I feel like the improvement in IQ is worth the lag.
MP = multiplatform :)
 
M3d10n said:
But it uses 5 SPUs to do so, so it's only usable on games which are "light" on the CPU.

The 5 SPU figure came out with God of War 3's implementation, which was almost 1.5 years ago. Prior to the final version in that game, the method require a lot more time per frame than that, which probably means there's a lot of room for improvement. I believe there have been implementations that require less CPU time, even though the quality is slightly worse.

As for games light on CPU, LittleBigPlanet 2 uses MLAA, and it has physics simulation and whatnot.
 

Durante

Member
Backfoggen said:
Does this work with Sub-HD games?
Depending on how sub-HD they are, not well to not at all. (the problem is that the original framebuffer is scaled before it's sent from the console, and in the scaling process the sharp "jaggies" that allow the FXAA algorithm to detect edges are lost)

szaromir said:
MP = multiplatform :)
Ah, of course. I'd never suggest playing multiplatform games on anything other than PC!
 

InertiaXr

Member
This makes me remember, does Hot Shots Golf 5 have move support yet? I would love to get a move and play that, Wii Golf sucks.
 

ShdwDrake

Banned
So wait what is this? I plug my PS3 into my PC via Video Capture Card and I can get better graphics and no downgrade in frame rate, input lag, etc?
 

Durante

Member
Sorry, I don't own Halo 3 and even if I did, it renders in sub-HD so it wouldn't work well with this.

ShdwDrake said:
So wait what is this? I plug my PS3 into my PC via Video Capture Card and I can get better graphics and no downgrade in frame rate, input lag, etc?
Almost, you do get at least 5 (and at worst 16) milliseconds of additional input lag. (However, that includes scaling to 1080p, which may actually take longer on your TV!)

StuBurns said:
Seeing Nier used and an example warms my heart.
It's my favorite game this gen that is a console exclusive and doesn't have AA. Now it's time to get ending C and D!
 

DarkChild

Banned
It would be great to try it on RDR.It's 720p,2xMSAA and than some FXAA,there shouldn't be a jaggie :mmm: Closest thing to PC version.
 

Mystery

Member
So, uh, I load up ptbi and my PS3 on, and all I get is a black screen. I can't find any documentation on your website of any configuration or anything. What am I doing wrong?
 

Lord Error

Insane For Sony
After looking at various FXAA implementations I'm honestly much less enthused about it than I was. It just seems to uniformly blur the image somewhat no matter what the scene is like.
 

Durante

Member
Mystery said:
So, uh, I load up ptbi and my PS3 on, and all I get is a black screen. I can't find any documentation on your website of any configuration or anything. What am I doing wrong?
Do you have your intensity card set to component input with 720p? The program should say something like
Code:
Found Intensity Pro capture hardware.
Display mode 720p 60Hz, 8 bit YUV supported..
on the console.

Lord Error said:
After looking at various FXAA implementations I'm honestly much less enthused about it than I was. It just seems to uniformly blur the image somewhat no matter what the scene is like.
Yeah, as a 1-pass technique there's only so much it can do. However, there's a lot more edge smoothing than there is blur. Still, it should be possible to do better with a more expensive multi-pass technique. I designed one in matlab but I haven't had time to implement it.
 

Mystery

Member
Durante said:
Do you have your intensity card set to component input with 720p? The program should say something like
Code:
Found Intensity Pro capture hardware.
Display mode 720p 60Hz, 8 bit YUV supported..
on the console.

Yes, I had sent you a PM about it. I get that message, but the monitor window is just black. I'm using the latest drivers from BM's website.
 

Ellis Kim

Banned
Naruto Ultimate Ninja Storms's pretty infamous for its complete lack of an AA solution, so that's pretty cool that they used that as an example. The glass frame in the VC example is kinda interesting, but I think that unless there's substantial image quality improvement, its just not worth doing unless you already have the equipment laying around.

Damn shame that it can't do subpixel AA very well, though.
 

Durante

Member
Wow, when you post a thread about something on GAF that really means it will get attention, even if it's something quite obscure. I released this program a year ago and got 1 message about it, but in the last week alone I got 8 bug reports.

Since those are now all fixed I released a new version at http://ptbi.metaclassofnil.com/

Major changes:
- Fixed shaders for AMD GPUs
- Changed default picture format to work with 8.x Blackmagic drivers
- Added command line option "-mode="

Future stuff I'm planning includes the ability to tweak FXAA and sharpening parameters during runtime.
 
Top Bottom