02-03-2009, 03:51 AM
(This post was last modified: 02-03-2009, 03:54 AM by happydays.)
I really like PCSX2, but this interlacing stuff is so jagged, jittery and ugly that it's really annoying, and the plugin options for de-interlacing all have drawbacks (such as halving frame rate and resolution.)
Do any programmers have any interest in tackling this issue? Will it ever be resolved - is the interest there?
I've been trying to find out more information about it, and the reasons that I got don't seem to make complete sense in light of the fact that software already exists for a real PS2 that can force it to output games in progressive. Gabest told me the "technical reasons" - but I still don't get how they are impossible to program around.
Seems like every other emulator can force progressive, even on systems that were made before there was such a thing.
Moreover, there's a commercial software, called HDTV Xploder, that forces about 90 percent of all PS2 games to run in a progressive mode instead of interlaced. So obviously it's not a matter of "hacking" games to make them run in a certain mode, but merely a matter of preloading a certain string of code.
If a third-party piece of software can make almost all PS2 games run in progressive mode, then surely an emulator that is rebuilding the system from scratch can do it?
My point is that while there are, of course, reasons why a real PS2 renders interlaced graphics, I've yet to hear a reason why it would be impossible for PCSX2 to force it to be otherwise, and why it should be the case only for PCSX2 but not for other emulators.
The reason why it matters to me is that I can either upgrade my PC or buy a new HDTV - I haven't the money for both.
So if PCSX2 can EVER force progressive output, then I'll upgrade my PC so that it runs PCSX2 better. If it can NEVER force it, then I might as well buy a TV and keep using my real PS2, even though it's a lot more convenient to just play on my PC.
As far as I know,HDTV Xploder just do the deinterlace for you,not make games progressive,it convert the 480i image to 480p one by using certain arithmetic,but it will never as good as a real 480p image.
and I also like to know why ps1 emulator like ePSXe could render the real progressive image,but pcsx2 can't.
Interlaced and progressive
Can you post screenshots? I have yet to understand why do you get interlacing with interlacing modes off...
02-03-2009, 10:14 PM
(This post was last modified: 02-03-2009, 10:15 PM by darkt123.)
I have an HDTV and I run PCSX2 on it just fine. The only time I ever see the interlacing issue come up is in the BIOS or during the early years of PS2 such as Devil May Cry. When that happens I just cycle through the deinterlacing options of GSDX and the jaggy, jittery, fuzzy symptoms go away. I also have the internal resolution at 1280x720 or 1980x1080 for 2x2 supersampled simulated progressive graphics which, imho, makes the games 10x better than they could ever be on the original PS2. The only thing missing would be a little better color vibrance and maybe a little more edge, but I only note that on some titles, the rest either have a progressive scan option ( whether it's actually displaying in progressive, who knows) or it looks beautiful. Xenosaga, FFXII, and Shadow of the Collosus look incredible with all of these enhancements, so much in fact, that I refuse to play the original PS2 because 480i does not even come close to 2x2 SS 1080p/i/whatever the PCSX2 is doing.
I can see what you mean as far as implementing an option to force it, but the end result would be a small percentage better than what can be produced atm. Maybe they'll get around to doing something like that in the future, but as always right now what seems important is compatibility and speed and I would expect nothing less. Afterwards, they can work on adding fluff and features such as true progressive scan.
But I do need a bit of clarification on what exactly is happening internally when a game has an option for progressive scan and it's enabled; just for understandings sake.
02-03-2009, 11:54 PM
(This post was last modified: 02-03-2009, 11:58 PM by Trehek.)
Quoting from the original gsdx thread with this discussion. By Gabest:
Quote:The games that look progressive without any in-game option run at half rate but render full resolution images. The video-out is still interlaced at 60/50 fps but the two fields that get combined are from the same image so there is no sawtooth effect to see. When there is, two different images are rendered in vram and every second is shifted by half pixel down. This shifting can be done in many ways, by changing the global vertex offset or directly manipulating the vertex coordinates. I know a few games that are so buggy that the osd is not shifted just the 3d, or sometimes they forget about the field order and the screen shakes for a sec, even on tv. In the old days, gsdx (and other plugins) tried to round the offset or the coordinates, with a low success rate . The other trick was to report the same field on video-out all the time, that method only worked for games that did the shift based on this value, the rest either tracked the field in a privately alternated variable, or simply waited for this flag to change before starting the next frame and therefore stopped working. So, to summarize, there is no universal way to turn every game into progressive.
Real interlaced games have two types.
First type renders two half height images (one of them shifted) nicely layed out in the memory next to eachother, one field is presented, the other is drawn, like normal double buffering. What you see is sawtooth effect but at full resolution if nothing moves. There is nothing you can do to make this type progressive.
The second type does not do double buffering but renders full height images at 60 fps (also shifts every second). The video-out still receives half height images though, there is a mixer circuit at the end that can automatically downscale it to the right size. It's a kind of full screen antialiasing effect, as suggested in one of the pdfs in the sdk, 2x vertical supersampling. The result is the same on screen as in the first case. The major difference is that we have full resolution images in memory and from then on the presentation settings are entirely controlled by GS. It would be possible to drop half of the frames (60->30 fps, stops shaking) and switch the video-out to progressive mode, that way downscaling would not happen because the output size it needs matches exactly the image in memory. Of course, in real life, things aren't so simple, the output mixer can be configured to position and alpha-blend two image sources (or one image and a color value) on screen in many ways. This trick needs to be carefully carried out to be successful, and only works for the games that run in this mode.
PCSX2 runs some games really well and the interlacing modes get rid of screen shaking. However, for example Disgaea 2 still has a minor shaking/blurriness. I don't know if it's the emulators fault or if it simply is like that because of a 1/2 pixel offset. For me it's immediately visible when I open a menu in-game. For a short moment the menu looks crystal clear and then becomes blurred by the slight shaking. I don't think any screenshot can display that well enough to work as an explanation.
02-04-2009, 12:21 AM
(This post was last modified: 02-04-2009, 12:22 AM by Trehek.)
Actually, wikipedia has a pretty good image on this:
In PCSX2 the interlacing usually doesn't show as black lines, though. Imagine the "interlaced scan" image without the black lines. Shapes and scenes usually look pretty good, but detail spots like the black text show slight shaking as in the wikipedia image.
Seems to me that in WWE Smackdown vs Raw 2008 and 2009 theres no interlacing mode that makes 100% without shaking or fuzzy letters.
C2D E6550 @ 2333 Mhz oc 3010 Mhz vcore 1.2750v | HD2600XT | P5KC | 1 + 1 GB G.Skill 6400HK 860 126.96.36.199