rainwarrior wrote:
I get a proper vsync in FCEUX only if hardware acceleration is enabled (there is a checkbox to disable hardware acceleration which must be clear).
Unfortunately, the "none" scaling filter seems to use bilinear interpolation when hardware acceleration is not disabled, which looks poor. For some reason, the vsync appears to be broken when hardware acceleration is disabled. So... either you can have a blurry image with vsync, or a clear image with tearing. Kind of a crummy trade. I should report this...
Warning: NSFW language ahead (because koitsu is an angry panda today).Re: blurry but has working vsync: it sounds like they use a hardware memory surface for "hardware acceleration" support, rather than a SystemMemory surface. Other emulators (see VirtuaNES and Nestopia) let you choose the surface type.
VirtuaNES also has a multitude of options that can help/make use of Vsync in windowed mode (talking about "Use HEL", "Use Sleep", and "Sync drawing"). I've been working on an updated English language plugin for VirtuaNES (well, a specific version of VirtuaNES actually) that cleans up all the Engrish (some of the items don't even make any sense).
The 4 emulators I use and what I use them for, since I get asked this a lot. I use Windows XP + nVidia GPUs, by the way:
* Nestopia -- for playing games or testing emulator compatibility
* VirtuaNES -- for playing games, doing glitch videos (special version of VirtuaNES), or testing emulator compatibility
* FCEUX -- for game dev or reverse-engineering
* Nintendulator -- for game dev or reverse-engineering
At least on XP, Nestopia seems to have the best Vsync model in windowed mode -- I get no stuttering or oddities (barring something in the background doing lots of I/O or causing lots of interrupts). However, with Windows 7 on the same machine (as in formatting C: and installing 7), I see periodic "stuttering" in Nestopia (and some other emulators). It's not quite a Vsync issue from what I can tell, and it's very very hard to describe. It's fucking annoying and is one of the literal hundreds of reasons why I stick with XP.
I don't use emulators in full-screen mode at all. In fact, in general I hate games that don't decently support windowed mode (Bethesda, I'm looking at you, you pricks) and for a lot of reasons. Some relate to legacy/historic idiotic design choices in emulators or games (shit everyone here has seen, I promise you -- anyone remember that Genesis emulators (Gens?) that actually changed/forced your desktop bitdepth to 16-bit, claiming "this is the only way to do it" and then later arguing "it's for speed"? Utter complete nonsense), others are present-day nonsense (for example trying to pick locks in Fallout 3 in windowed mode is like trying to shove a horse up your own asshole). One gaming company who seems to get windowed mode mostly correct (thank GOD!) is Blizzard.
The amount of "behavioual oddities" (with the UI, application, etc.) in FCEUX and Nintendulator are pretty major. It always makes me laugh when I see emulators (not just NES ones) where if you click a menu option while playing a game, the sound engine isn't told to halt, so you end up hearing a repeated looping noise (followed by there being 50 releases of the emulator where this idiocy is never addressed -- do the authors not actually use their own software?). Another one that still to this day doesn't make any sense are "pixel shift" anomalies in the rendering area when doing things like opening up a preferences menu (this is very hard to describe, it just looks like the visual rendering area where the game is suddenly "shifts" in one 4 quadrants by a pixel or two -- god I hate 3D crap!).
Either way, the latter two emulators get the job done and have great development features, but things like that are why I don't use them for general gameplay.