Pixelation desired

General area for talk about ZSNES. The best place to ask for related questions as well as troubleshooting.

Moderator: ZSNES Mods

dukeman
Rookie
Posts: 13
Joined: Sun May 17, 2009 12:31 pm

Pixelation desired

Post by dukeman »

Hello,

I have done my best to search for a solution to this problem first, to no avail. I am trying to get ZSNES to render the game with sharp graphic edges. This is usually done by turning filters off (with other emulators I've used), by changing the renderer to something else, or by using some sort of 2x/3x even upscaling, but with ZSNES, no matter what I do, unless I run in windowed mode, the edges of things are not entirely crisp, but rather a little fuzzy.

Is there a way this can be accomplished?

Regards,
Duke
I.S.T.
Zealot
Posts: 1325
Joined: Tue Nov 27, 2007 7:03 am

Post by I.S.T. »

likely to be a video card problem, sadly.

What OS do you have, and what video card do you have?
dukeman
Rookie
Posts: 13
Joined: Sun May 17, 2009 12:31 pm

Post by dukeman »

Windows XP
nVidia GeForce 6800
LCD with 1280x1024 native resolution

Like I said, in every other emulator I've used (Mame, Nestopia, Fusion, Snes9x), there is some way to disable filtering. Mame I use -nofilter. Fusion you uncheck Filtered, Snes9x you uncheck Bilinear filtering.
dukeman
Rookie
Posts: 13
Joined: Sun May 17, 2009 12:31 pm

Post by dukeman »

I just tried this on another PC and received the same result.

This is a comparison of what I get when I turn off all filters in Snes9x and ZSNES:

Image
Nach
ZSNES Developer
ZSNES Developer
Posts: 3904
Joined: Tue Jul 27, 2004 10:54 pm
Location: Solar powered park bench
Contact:

Post by Nach »

dukeman wrote: This is a comparison of what I get when I turn off all filters in Snes9x and ZSNES:

Image
Argh.
*bangs head against wall*

I can see a difference in the images as a whole. But when looking at any individual pixel, it looks the same in both of them. My brain doesn't get it and wants to scream. Stop it.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
dukeman
Rookie
Posts: 13
Joined: Sun May 17, 2009 12:31 pm

Post by dukeman »

Heh.

The image on the right as a whole should appear significantly blurrier. And you don't need to look at individual pixels. The effect can be clearly observed (at least for me, as a graphic artist) by looking at the edges of the letters. The left goes discretely from white to black, the right has a 1 pixel edge around everything that is halfway between the 2 colors, which indicates some sort of interpolation is being applied.
dukeman
Rookie
Posts: 13
Joined: Sun May 17, 2009 12:31 pm

Post by dukeman »

The effect should be clearly visible now:

Image
Agozer
16-bit Corpse | Nyoron~
Posts: 3534
Joined: Sun Aug 01, 2004 7:14 pm
Location: Nokia Land

Post by Agozer »

Isn't this one of those "Nvidia blur" problems relating to DirectDraw again?
whicker: franpa is grammatically correct, and he still gets ripped on?
sweener2001: Grammatically correct this one time? sure. every other time? no. does that give him a right? not really.
Image
adventure_of_link
Locksmith of Hyrule
Posts: 3634
Joined: Sun Aug 08, 2004 7:49 am
Location: 255.255.255.255
Contact:

Post by adventure_of_link »

Nach wrote:Argh.
*bangs head against wall*

I can see a difference in the images as a whole. But when looking at any individual pixel, it looks the same in both of them. My brain doesn't get it and wants to scream. Stop it.
I concur, except I don't see a difference in the images.

EDIT: Actually on second thought, the ZSNES image looks more blurry. but Nach's point still stands though.
<Nach> so why don't the two of you get your own room and leave us alone with this stupidity of yours?
NSRT here.
dukeman
Rookie
Posts: 13
Joined: Sun May 17, 2009 12:31 pm

Post by dukeman »

I could maybe see people not noticing the difference in the first image, but if you can't see it in the second one (which is just a zoom in of the first one), you need your eyes checked..

I doubt this problem is nVidia related because the other PC which I tested it on earlier is completely different and has an integrated Intel Graphics Controller. I may be inexperienced with this, but to me, the answer seems obvious. Every other emulator (and this includes DOSBox) has a way to explicitly disable filters. ZSNES doesn't seem to have that option; you can only disable filters by unchecking them all, which seems suspect to me. That, or when I try video modes that don't apply filters the image isn't being upscaled evenly (2x, 3x, 4x, etc). Please tell me if I'm wrong.
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

it is.

choose kept ratio, integer multiple of the base size, no filters.

disable blur from your video card menu thing.
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
dukeman
Rookie
Posts: 13
Joined: Sun May 17, 2009 12:31 pm

Post by dukeman »

Could you be more specific? Where do I do this? And I wish I had an option like that in my video card settings, but unfortunately I don't.

On a side note, I tried out the DOS version of ZSNES, and it doesn't have this problem. However, it relies on the emulated video support in DOSBox, and I have all filters disabled for it. The only problem is that DOSBox isn't powerful enough on my hardware to run ZSNES at a playable speed.
Johan_H
Starzinger Addict
Posts: 998
Joined: Tue Aug 17, 2004 1:14 pm
Location: Sweden
Contact:

Post by Johan_H »

Might as well...
Are you aware that the pixel ratio of a SNES is not 1:1?

(I don't know the terminology for stuff like this, please correct me if that was stated in a wrong or unclear way.)
Awakened
Rookie
Posts: 33
Joined: Sun Mar 25, 2007 3:04 am

Post by Awakened »

Try it on a PC running Vista?
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

DirectDraw applies filtering by default. Either you disable DirectDraw acceleration via dxdiag or you should start running Vista.

I forget if the D or R modes affect filtering, but I doubt it.

EDIT: 6666th post must be an omen, judging by this thread's existance.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
I.S.T.
Zealot
Posts: 1325
Joined: Tue Nov 27, 2007 7:03 am

Post by I.S.T. »

The various D modes kill the autofilter.
franpa
Gecko snack
Posts: 2374
Joined: Sun Aug 21, 2005 11:06 am
Location: Australia, QLD
Contact:

Post by franpa »

Yea, I never ever had blur with my good old 6600gt under Windows XP a good few (4 or 5) years ago now. I always used a D mode.
Core i7 920 @ 2.66GHZ | ASUS P6T Motherboard | 8GB DDR3 1600 RAM | Gigabyte Geforce 760 4GB | Windows 10 Pro x64
dukeman
Rookie
Posts: 13
Joined: Sun May 17, 2009 12:31 pm

Post by dukeman »

Unfortunately, I don't have a Vista PC to test it on.

Disabling DirectDraw acceleration does stop the blurring, but obviously that's a big workaround.

I guess my question is, in other emulators, namely Snes9x, how is this being accomplished within the program? Are they simply not using DirectDraw? Are there any alternatives I can try with ZSNES? Command line parameters? A way to use OpenGL?
crocomire
Hazed
Posts: 70
Joined: Sun Dec 12, 2004 6:27 am
Location: Brazil
Contact:

Post by crocomire »

dukeman wrote:The effect should be clearly visible now:

Image
The same happen here and I have Windows Vista. My Pc have onboard video and Intel(R) 82945G Express Chipset Family driver.
THE LAST METROID IS IN CAPTIVITY.
THE GALAXY IS AT PEACE...
franpa
Gecko snack
Posts: 2374
Joined: Sun Aug 21, 2005 11:06 am
Location: Australia, QLD
Contact:

Post by franpa »

try enabling/disabling video memory in Snes9x and see if that toggles the blur on/off.
Core i7 920 @ 2.66GHZ | ASUS P6T Motherboard | 8GB DDR3 1600 RAM | Gigabyte Geforce 760 4GB | Windows 10 Pro x64
dukeman
Rookie
Posts: 13
Joined: Sun May 17, 2009 12:31 pm

Post by dukeman »

The only option I see in Snes9x for Video Memory is "Local Vid Mem". When I disable "Bi-linear Filtering" this gets disabled, too, but unchecking Local Vid Mem by itself doesn't remove the blurry effect.
Johan_H wrote:Are you aware that the pixel ratio of a SNES is not 1:1?
If I'm not mistaken, they're slightly wider than they are tall.. but is this related to the console or NTSC televisions? Reason I ask is, in ZSNES, stretching seems too wide, but when I select to keep 8:7 aspect ratio, it doesn't look wide enough. Emulators like Nestopia have a "TV aspect" option which will make one every 5 or 10 pixels slightly wider. This is unrelated to the current issue, but I am curious about it, now that you mentioned it.
franpa
Gecko snack
Posts: 2374
Joined: Sun Aug 21, 2005 11:06 am
Location: Australia, QLD
Contact:

Post by franpa »

If you could enable the local video memory without also enabling billinear filtering then yea, it probably would get rid of the blur. You could check it out in Virtuanes. (Options -> Graphics -> SystemMemory Surface)
Core i7 920 @ 2.66GHZ | ASUS P6T Motherboard | 8GB DDR3 1600 RAM | Gigabyte Geforce 760 4GB | Windows 10 Pro x64
dukeman
Rookie
Posts: 13
Joined: Sun May 17, 2009 12:31 pm

Post by dukeman »

Yes, checking that box in VirtuaNES got rid of the blur. Is there a way to do this for ZSNES?
crocomire
Hazed
Posts: 70
Joined: Sun Dec 12, 2004 6:27 am
Location: Brazil
Contact:

Post by crocomire »

Nestopia have an option to remove this blur effect...

Image
THE LAST METROID IS IN CAPTIVITY.
THE GALAXY IS AT PEACE...
Gil_Hamilton
Buzzkill Gil
Posts: 4294
Joined: Wed Jan 12, 2005 7:14 pm

Post by Gil_Hamilton »

dukeman wrote:
Johan_H wrote:Are you aware that the pixel ratio of a SNES is not 1:1?
If I'm not mistaken, they're slightly wider than they are tall.. but is this related to the console or NTSC televisions? Reason I ask is, in ZSNES, stretching seems too wide, but when I select to keep 8:7 aspect ratio, it doesn't look wide enough. Emulators like Nestopia have a "TV aspect" option which will make one every 5 or 10 pixels slightly wider. This is unrelated to the current issue, but I am curious about it, now that you mentioned it.
It's the system making use of the analog nature of the video signals.

The software expects to be stretched to fill a 4:3 screen horizontally. And if you assume there's 240 visible lines(as is the NTSC spec per field), the 224-line game image should be slightly letterboxed.
Or 480 lines and 448 lines for a full frame(though the SNES most often operates in "240p", it's capable of rendering a full interlaced NTSC frame).

On PAL, the letterboxing is more severe, and results in image distortion relative to an NTSC unit(since the aspect ratio of the screen itself hasn't changed, but there's more blank lines, all pixels wind up being less tall than they're "supposed" to be).



Given TV-to-TV variances, no two sets will display EXACTLY the same image. But crude math says that you want to blow a 256*224 SNES image to 320*224 and display it in a 320*240 display on a 4:3 monitor.
Double that to 640*448 and 640*480, and you get support of all SNES video modes and a much more common modern PC resolution.

Further integer multiples reduce horizontal scaling artifacts.
...
OR you can use an ancient CRT with control knobs, output 640*480 uncorrected, and adjust the knobs until it looks right.
...
Man, I miss those days.

For a 16:9 screen, obviously you want significant pillarboxing.
Post Reply