[not a bug] Snes9x 1.53 30 fps in fake fullscreen with vsync

If you're having problems with Snes9x, or think you've found a bug, this is the place to be.
Post Reply
Lex
Snes9x White Belt
Posts: 8
Joined: Sat Jun 30, 2007 5:36 am
Location: Waterloo, Ontario, Canada

[not a bug] Snes9x 1.53 30 fps in fake fullscreen with vsync

Post by Lex »

Hi! Thank you so much for this release! I love Snes9x! :) However, I immediately discovered a bug in this version of Snes9x.

With vsync enabled, Snes9x...
  • ... runs at 60 fps in windowed mode.
    ... runs at 30 fps while in fake (emulated) fullscreen mode. <-- the bug
    ... scrolls smoothly in scrolling games.
With vsync disabled, Snes9x...
  • ... runs at 60 fps in windowed mode
    ... runs at 60 fps while in fake (emulated) fullscreen mode.
    ... scrolls jerkily in scrolling games.
I love the smooth scrolling of vsync, but I also want to run games at their full speed in fake fullscreen mode.

For the record, I don't have a slow computer. Chrono Trigger runs at just over 1000 fps while fast-forward is held. That's one thousand.

I am running Windows Vista with Aero on (to work around the Windows vsync-not-working-at-all-anywhere bug) on an Intel i7 920 overclocked @ 3370.46MHz with an nVidia GeForce 9800GTX+ GPU.

I had posted this in the Snes9x 1.53 release thread, but I realized that was the wrong place to post bug reports.
Last edited by Lex on Wed Apr 27, 2011 5:36 am, edited 2 times in total.
the_randomizer
Snes9x Orange Belt
Posts: 222
Joined: Sat Oct 17, 2009 4:18 am

Re: Snes9x 1.53 30 fps in fake fullscreen with vsync enabled

Post by the_randomizer »

Lex wrote:Hi! Thank you so much for this release! I love Snes9x! :) However, I immediately discovered a bug in this version of Snes9x.

With vsync enabled, Snes9x...
  • ... runs at 60 fps in windowed mode.
    ... runs at 30 fps while in fake (emulated) fullscreen mode. <-- the bug
    ... scrolls smoothly in scrolling games.
With vsync disabled, Snes9x...
  • ... runs at 60 fps in windowed mode
    ... runs at 60 fps while in fake (emulated) fullscreen mode.
    ... scrolls jerkily in scrolling games.
I love the smooth scrolling of vsync, but I also want to run games at their full speed in fake fullscreen mode.

For the record, I don't have a slow computer. Chrono Trigger runs at just over 1000 fps while fast-forward is held. That's one thousand.

I am running Windows Vista with Aero on (to work around the Windows vsync-not-working-at-all-anywhere bug) on an Intel i7 920 overclocked @ 3370.46MHz with an nVidia GeForce 9800GTX+ GPU.

I had posted this in the Snes9x 1.53 release thread, but I realized that was the wrong place to post bug reports.
Odd....I have vsync enabled, and I also have an nVidia GPU. Use the settings I currently use under the settings;


Output Method - Direct3D or OpenGL
Sound Driver - XAudio2 (make sure you install it from the XAudio2 website first, this works better on Windows Vista/7 than DirectSound does)
Input Rate - 31850Hz to reduce any popping sounds you may hear
Buffer Length - 128ms to 160ms
Playback Rate - 32KHz


In the nVidia Control Panel, go to "Manage 3D settings", then under the tab "Vertical Sync" try the "Use the 3d application settings" or "force on" modes. Make sure your monitor is set at 60Hz, and that "Triple Buffering" is set to "Off". If all else fails, try updating the GPU drivers.
Lisa: "I hope you all know you're sponsoring a murderous pirate!"
Sponsor: "A pirate!!? Well, that's hardly the image we need for Long John Silvers!"
Lex
Snes9x White Belt
Posts: 8
Joined: Sat Jun 30, 2007 5:36 am
Location: Waterloo, Ontario, Canada

Post by Lex »

Of course I'm using Direct3D, XAudio2, with the correct input rate, buffer length, and playback rate. This isn't just an audio issue anyway. The emulator runs smoothly and perfectly at 60 fps in windowed mode. Snes9x' fps counter actually goes to 30 fps when I press Alt+Enter to enter fake fullscreen mode and runs at half speed. My video driver configuration is correct too; letting Snes9x determine everything.

For the record, the fps counter says exactly this in windowed mode (even at 4x size):

"60 fps
60/60"

In fake fullscreen mode, the fps counter says this:

"30 fps
60/60"

I was led to believe by World of Warcraft which also has a fake fullscreen mode that execution should be identical to windowed mode while in fake fullscreen mode. It seems strange that anything would change when switching between windowed and fake fullscreen modes in Snes9x.

Edit: I tried setting my buffer length to the insanely long 160 ms you suggested, but that didn't change anything, so I set it back to 64 ms. I don't hear any crackling ever anyway.

Edit: I tried changing the highlit number in the following screenshot to 1...

Image

... and the fps counter changed to say this:

"60 fps
30/60"

So, apparently, if it can skip every other frame, the emulator can "run" at 60 fps in fake fullscreen mode. Of course this means it's running half as smoothly as it should. There's definitely something wrong in Snes9x here.

Edit: Okay, apparently all this nonsense can be ignored. After fiddling with these exact same few settings continuously for the past hour, it suddenly runs smoothly at 60 fps in fake fullscreen mode with vsync enabled. This thread can be freely locked.

For the record, my final configuration is seemingly identical to my original configuration. This really makes zero sense. Oh well. I'm happy now. :)
the_randomizer
Snes9x Orange Belt
Posts: 222
Joined: Sat Oct 17, 2009 4:18 am

Post by the_randomizer »

Works fine on my end. I doubt it's a problem with Snes9x. Try turning off Triple Buffering and setting skipped frames to 0.
Lisa: "I hope you all know you're sponsoring a murderous pirate!"
Sponsor: "A pirate!!? Well, that's hardly the image we need for Long John Silvers!"
Lex
Snes9x White Belt
Posts: 8
Joined: Sat Jun 30, 2007 5:36 am
Location: Waterloo, Ontario, Canada

Post by Lex »

I edited my previous post.
the_randomizer
Snes9x Orange Belt
Posts: 222
Joined: Sat Oct 17, 2009 4:18 am

Post by the_randomizer »

Lex wrote:I edited my previous post.

Gotcha
Lisa: "I hope you all know you're sponsoring a murderous pirate!"
Sponsor: "A pirate!!? Well, that's hardly the image we need for Long John Silvers!"
Post Reply