ZSNES: Why Only GDI and DirectDraw?

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

Moderator: ZSNES Mods

Post Reply
nerdl

ZSNES: Why Only GDI and DirectDraw?

Post by nerdl »

DirectDraw sucks because it cannot display anything without blurriness - or at least I've never found a way to stop, so tell me if you know a way.

I'm hard-pressed to think of any other relatively modern emulator that doesn't offer an OpenGL mode, which makes resizing fast and doesn't force blurring.

I'd love to use ZSNES rather than SNES9x because SNES9x has always been too buggy for me - but I can't get past the blur.
nintendo_nerd
Sir Robin the Not-Quite-So-Brave-As-Sir-Lancelot
Posts: 446
Joined: Mon May 11, 2009 4:44 am
Location: USA
Contact:

Post by nintendo_nerd »

SnesGT uses Directdraw (and is infinitely more accurate than Zsnes will be until 2.0) and doesn't force blurry images in Vista/7.
"Just because I don't LISTEN doesn't mean I don't CARE!" -Homer Simpson
Killa B
♥ Love Freak FlonneZilla ♥
Posts: 111
Joined: Sun Apr 01, 2007 12:59 am
Location: USA
Contact:

Post by Killa B »

nintendo_nerd wrote:(and is infinitely more accurate than Zsnes will be until 2.0)
I'm interested in seeing a mathematical proof of this statement.
kode54
Zealot
Posts: 1140
Joined: Wed Jul 28, 2004 3:31 am
Contact:

Post by kode54 »

nintendo_nerd wrote:SnesGT uses Directdraw (and is infinitely more accurate than Zsnes will be until 2.0) and doesn't force blurry images in Vista/7.
That's because Vista/7 drivers for ATI and nVidia force unfiltered scaling with DirectDraw, unlike their XP drivers.
byuu

Post by byuu »

What's wrong with ZSNES' DR modes?
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

ZSNES does not use GDI.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
nintendo_nerd
Sir Robin the Not-Quite-So-Brave-As-Sir-Lancelot
Posts: 446
Joined: Mon May 11, 2009 4:44 am
Location: USA
Contact:

Post by nintendo_nerd »

Killa B wrote:
nintendo_nerd wrote:(and is infinitely more accurate than Zsnes will be until 2.0)
I'm interested in seeing a mathematical proof of this statement.
I was using hyperbole, but whatever. There's enough proof it's more accurate, especially when it comes to spc700 emulation (it's not no. 1 in accuracy like Bsnes, but it still sounds better than Zsnes or Snes9x). As far as I'm concerned Snes9x is as good as dead.
"Just because I don't LISTEN doesn't mean I don't CARE!" -Homer Simpson
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

nerdl wrote:ZSNES: Why Only GDI and DirectDraw?
You go back in time and code up a direct3d integration for a DOS application, mmmkay ?

Thought so.
皆黙って俺について来い!!

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
lordmissus
Ignorant Child
Posts: 326
Joined: Mon Apr 06, 2009 10:10 pm
Location: 1984

Post by lordmissus »

nintendo_nerd wrote:SnesGT uses Directdraw (and is infinitely more accurate than Zsnes will be until 2.0) and doesn't force blurry images in Vista/7.
Interesting bug in bsnes (or perhaps DirectDraw, or both, not sure) --> lock the screen (Super Key + L) then unlock the screen, blurring gone. This is on Windows 7 Release Candidate, and I'm not sure if it applies generally or just for me (vpu drivers and whatnot).
byuu

Post by byuu »

Interesting bug in bsnes (or perhaps DirectDraw, or both, not sure) --> lock the screen (Super Key + L) then unlock the screen, blurring gone.
Wrong forum on the wrong domain, but :P
Yeah, I have to completely re-initialize Direct3D from scratch when you lock the screen and then unlock it. D3D completely goes to hell otherwise.
I'll check, maybe I forgot to call the SetMagFilter thing after that.
There's enough proof it's more accurate, especially when it comes to spc700 emulation
ZSNES passes a lot of my tests that SNESGT doesn't, and vice versa*. It's best that you just play the games you want. If one runs those games better, use it. ZSNES is more impressive in that it's literally twice as fast while being roughly as compatible. But you know how that goes: if it runs full speed, it doesn't matter at all. If it runs 1fps less on your system, then that emulator is shit.

* ZSNES is much better about all the edge cases anomie, TRAC, Overload and myself have discovered: the odd scroll register behavior, OAM address reset, etc and special chip / peripheral support, while SNESGT is better at S-CPU opcode timing, BS-X support, etc and has a modern UI.

I don't think SNESGT will supplant Snes9X, at least not until it goes open source and appears on OS X and Linux. But yeah, Snes9X needs a new core developer, or it's in real trouble, long-term.
nintendo_nerd
Sir Robin the Not-Quite-So-Brave-As-Sir-Lancelot
Posts: 446
Joined: Mon May 11, 2009 4:44 am
Location: USA
Contact:

Post by nintendo_nerd »

Right, and if SnesGT is ever open source, programmers will be able to port if to other platforms such as the Wii/gamecube; Snes9x is as good as dead in my book.
"Just because I don't LISTEN doesn't mean I don't CARE!" -Homer Simpson
lordmissus
Ignorant Child
Posts: 326
Joined: Mon Apr 06, 2009 10:10 pm
Location: 1984

Post by lordmissus »

byuu wrote:Yeah, I have to completely re-initialize Direct3D from scratch when you lock the screen and then unlock it. D3D completely goes to hell otherwise.
I'll check, maybe I forgot to call the SetMagFilter thing after that.
Hmm, I'd much rather you didn't fix that bug actually :o
It's how I get rid of that horrible blurring (and I don't get fullspeed on the other video drivers, not if I want to use the NTSC filter that is).

But you own bsnes, so it's your call.
kode54
Zealot
Posts: 1140
Joined: Wed Jul 28, 2004 3:31 am
Contact:

Post by kode54 »

lordmister wrote:
byuu wrote:Yeah, I have to completely re-initialize Direct3D from scratch when you lock the screen and then unlock it. D3D completely goes to hell otherwise.
I'll check, maybe I forgot to call the SetMagFilter thing after that.
Hmm, I'd much rather you didn't fix that bug actually :o
It's how I get rid of that horrible blurring (and I don't get fullspeed on the other video drivers, not if I want to use the NTSC filter that is).

But you own bsnes, so it's your call.
You know you can turn off the blurring, right? Settings -> Video Filter -> Point.
lordmissus
Ignorant Child
Posts: 326
Joined: Mon Apr 06, 2009 10:10 pm
Location: 1984

Post by lordmissus »

Yeah I know. But when I've tried that on bsnes using DirectDraw, it remains blurred regardless.
byuu

Post by byuu »

Oh, OpenGL and D3D both allow turning it off via point. DirectDraw should never be blurred to begin with on Win 7 ...
franpa
Gecko snack
Posts: 2374
Joined: Sun Aug 21, 2005 11:06 am
Location: Australia, QLD
Contact:

Post by franpa »

Unless your using early Windows 7 drivers, there should be no blur like Byuu said.
Core i7 920 @ 2.66GHZ | ASUS P6T Motherboard | 8GB DDR3 1600 RAM | Gigabyte Geforce 760 4GB | Windows 10 Pro x64
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

Some drivers still do auto-blurring... depends on your video card manufacturer.

AFAIK, NVidia does auto-blurring for DDraw if you let it handle resolutions scaling instead of your monitor.

Really, this extended discussion belongs elsewhere.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
lordmissus
Ignorant Child
Posts: 326
Joined: Mon Apr 06, 2009 10:10 pm
Location: 1984

Post by lordmissus »

I must have one of those special drivers that do auto-blurring ...
(ATI Radeon X600 256MB Hyper Memory, Windows 7 default drivers)

EDIT: Uhh, just went on bsnes again (after booting up machine from power-off), no blur. Wow, I just kind of assumed "ok, dd = blur". Perhaps I wasn't paying attention, went on Point, locked the screen (I do this alot) then unlocked the screen, it wasn't a bug, just me having turned off linear filtering... linear filtering doesn't even work now anyway.

Perhaps my drivers were updated? (I leave ms auto-update turned on)

Delete the last few posts, I'm an idiot.
mudlord
has wat u liek
Posts: 559
Joined: Tue Sep 11, 2007 2:54 pm
Location: Banland.

Post by mudlord »

grinvader wrote:
nerdl wrote:ZSNES: Why Only GDI and DirectDraw?
You go back in time and code up a direct3d integration for a DOS application, mmmkay ?

Thought so.
That actually sounds like fun.....
byuu

Post by byuu »

lordmister wrote:linear filtering doesn't even work now anyway.
DirectDraw doesn't give you any choice in min/mag filters. You should really only be using it if it's faster than the other drivers.
lordmissus
Ignorant Child
Posts: 326
Joined: Mon Apr 06, 2009 10:10 pm
Location: 1984

Post by lordmissus »

byuu wrote:
lordmister wrote:linear filtering doesn't even work now anyway.
DirectDraw doesn't give you any choice in min/mag filters. You should really only be using it if it's faster than the other drivers.
I never got fullspeed before in other video drivers.
EDIT:
Just tested on v048 wip1, QtImage, OpenGL and GDI are as slow as snails, but Direct3d gets fullspeed now aswell (*with* the Ntsc filter enabled), in addition to DirectDraw (with Ntsc enabled) as before. Both drivers slow down mementarily on occasions (with Ntsc filter, not so without), but it seems more so on the D3D drivers. DD still seems faster to me so that's what I'll continue to use while I'm not in need of linear filtering, and frankly, I don't know why you don't leave DD as the default driver, seeing as how it is faster.

My system can now run bsnes with the Ntsc filter enabled on otherwise default settings, so I'm happy. I should note that I disable audio sync and enable video sync; vsync works in good speed like this (and still prevetns tearing of course), and audio still seems to be in sync, whereas with both enabled bsnes doesn't get fullspeed, and with only audio sync enabled... well, tearing.

Anyway let's stop discussing this, you have your own board now :P
We shouldn't be plaguing a thread about ZSNES especially.
Post Reply