Okay, I'll post this issue here since reporting it to google code is pointless. This is a very peculiar, yet very noticeable glitch in Snes9xGx 4.2.6 and on, where SA-1 games are affected. Now, the version I am using, 4.2.8, had the IRQ changes reverted, since that was detrimental to the framerate, but something is still amiss.

Steps to reproduce emulator bug:

1 - Load Snes9xGx Wii
2 - Open up Kirby's Dreamland 3
3 - Start moving so the screen can scroll left or right
4 - Horizontal/Vertical scrolling should be constant 60fps, but it's
somewhere in the range of 50-55fps.

Now, I have the Virtual Console version as well and I wanted to compare running it on Snes9xGx Wii and the VC. Oddly enough, the VC version has full speed during vertical/horizontal scrolling, but Snes9xGx does not. They're both being emulated, I know that, but seriously, this is perplexing.

Think of Snes9xGx changing frameskip up and down, making it choppy versus being smooth. Surely, if the VC version can do it, then Snes9xGx should be able to do so as well. It can't be the Wii's fault, can it?

To sum up: Why does Snes9xGx run Kirby's Dreamland 3 at a choppier framerate than the Virtual Console version? Isn't there ANYTHING that could be done to optimize it? Or is this because I'm running off an SD card?

You don't? Are you loading off HDD or SD? Because SD is my only option (since it locks up randomly on HDD). So you have Snes9xGx Wii 4.2.8, loaded from dborth's forwarder and it doesn't skip or have choppiness when scrolling from left to right/right to left? Any suggestions? This doesn't happen with all games, but mostly ones that use the SA-1 co-processor chip. Star Ocean runs fine, oddly enough.

Surely, I can't possibly be the ONLY person on these forums that experiences this issue.

No problems here, make sure you have the correct video mode selected. You can try my compiled version too, maybe you got some problematic controller/wiimote combination, I have a wiimote which doesn't work with my classic controller and the newer official versions, and in some older versions it lags.

No problems here, make sure you have the correct video mode selected. You can try my compiled version too, maybe you got some problematic controller/wiimote combination, I have a wiimote which doesn't work with my classic controller and the newer official versions, and in some older versions it lags.

Click to expand...

This happens in levels that make heavy use of alpha blending (Jurassic Park does this effect too, when it shows Mr. DNA), i.e. transparent foregrounds/parallax scrolling. Could you be so kind and send me a link of your compiled version? Also, does it matter if the snes9x dol/elf file is placed in the SD root or in apps:/snes9xgx?

Should I try using a Wavebird controller instead and see what happens? And as far as video settings are concerned, they're all set to their defaults with only the basic filtering enabled (and believe me, unfiltered games look as bad as "upscaled" VC games do on an HDTV).

I never experienced this problem in the Windows version, which is what this is what this emulator is based off of. If VC can do it, why can't Snes9xGx? Surely, the Wii is more than capable of emulating SA-1 games at 100% full speed. Why other, more powerful emulators (Genesis Plus GX) don't have this issue is beyond me.

Oh, and how could a Wiimote affect speed? oO

Maybe it's due to the fact I'm using an .elf versus using a .dol file.

Obviously, Nintendo did not use SNES9X as a base for their emulator but home-made & game-optimized emulators, that's quite logical you experience speed differences, snes9xgx is not particularly optimized for Wii, it's just a straight C++ port.
I experienced some slowdowns myself in known CPU-sensistive games (like Yoshi Island title screen), also make sure you have HQx filters turned OFF, they eat quite a lot CPU time as well.

I never experienced this problem in the Windows version, which is what this is what this emulator is based off of. If VC can do it, why can't Snes9xGx? Surely, the Wii is more than capable of emulating SA-1 games at 100% full speed. Why other, more powerful emulators (Genesis Plus GX) don't have this issue is beyond me.

Click to expand...

You realize those are all different emulators right ? Genesis != SNES and your PC != your Wii

These emulators have always had framerate issues. Load up Inspector Gadget (SNES) and take damage. They trick transparency by flashing the sprite very quickly, but the framerate issues sometimes makes Gadget disappear completely.

Its the same thing with Nightmare Before Christmas on GBA in VBA. Jack takes damage and he either doesn't flash at all or completely disappears.

These emulators do NOT run at full FPS. I can make a comparison video later this afternoon if you guys need to see it. The PS3 versions of these emulators run at the proper FPS, but have terrible GUIs. (The main reason I still keep the Wii versions.) I'll put something together later. Got a busy morning.

Obviously, Nintendo did not use SNES9X as a base for their emulator but home-made & game-optimized emulators, that's quite logical you experience speed differences, snes9xgx is not particularly optimized for Wii, it's just a straight C++ port.
I experienced some slowdowns myself in known CPU-sensistive games (like Yoshi Island title screen), also make sure you have HQx filters turned OFF, they eat quite a lot CPU time as well.

I never experienced this problem in the Windows version, which is what this is what this emulator is based off of. If VC can do it, why can't Snes9xGx? Surely, the Wii is more than capable of emulating SA-1 games at 100% full speed. Why other, more powerful emulators (Genesis Plus GX) don't have this issue is beyond me.

Click to expand...

You realize those are all different emulators right ? Genesis != SNES and your PC != your Wii

Click to expand...

I know that they're two difference platforms (PC versus Wii), and they both have different levels of optimization, I was just annoyed at the whole situation and wasn't thinking properly. All filter settings are set to their default, heck, I even turned it off, but to no avail. Are you running it from SD or HDD?

These emulators have always had framerate issues. Load up Inspector Gadget (SNES) and take damage. They trick transparency by flashing the sprite very quickly, but the framerate issues sometimes makes Gadget disappear completely.

Its the same thing with Nightmare Before Christmas on GBA in VBA. Jack takes damage and he either doesn't flash at all or completely disappears.

These emulators do NOT run at full FPS. I can make a comparison video later this afternoon if you guys need to see it. The PS3 versions of these emulators run at the proper FPS, but have terrible GUIs. (The main reason I still keep the Wii versions.) I'll put something together later. Got a busy morning.

Click to expand...

I know they're not perfect, but at least Snes9xGx runs at more-than-playable speeds; Visual Boy Advanced needs some serious optimizing if people expect to play at a decent framerate. Many snes games experienced slowdowns from time to time, so keep that in mind.

WTF? It had smooth scrolling when it shows the alpha-blended foregrounds/parallax scrolling? oO Oh, and I spoke with dborth and he said that he can't/won't fix it, since "accuracy comes at a cost", so how in blazes can some people experience the issue while others don't? The levels in fifth (ice) world seem to run a lot more choppy than they do in the first world. Has anyone tried 4.2.7 and see if there's a difference?

Any more suggestions? Can other people confirm whether this is a noticeable issue? I would like more people to test these levels out ( level 1-2 and any of the fifth world ones or underwater ones). Hint: Look for the levels that show the funky alpha-blended scanlines (water, snow/ice, etc).

I'm at the end of my rope here and can't think of anything else to try. 4.2.8 shouldn't be doing this after reverting the IRQ changes.

I can't be the only one experiencing these issues.

Oddly enough, I remember using a modified version where I didn't have this issue (compiled from GBAtemp user giantpune), heck, KDL3 ran as smooth as butter, but where I got that file, or what I did differently, I can't recall.

I know that they're two difference platforms (PC versus Wii), and they both have different levels of optimization, I was just annoyed at the whole situation and wasn't thinking properly. All filter settings are set to their default, heck, I even turned it off, but to no avail. Are you running it from SD or HDD?

Click to expand...

SD or HDD or whatever device you load ROM from won't make any differences. The ROM is being FULLY loaded in Wii RAM and run from this.

WTF? It had smooth scrolling when it shows the alpha-blended foregrounds/parallax scrolling? oO Oh, and I spoke with dborth and he said that he can't/won't fix it, since "accuracy comes at a cost", so how in blazes can some people experience the issue while others don't? The levels in fifth (ice) world seem to run a lot more choppy than they do in the first world. Has anyone tried 4.2.7 and see if there's a difference?

Any more suggestions? Can other people confirm whether this is a noticeable issue? I would like more people to test these levels out ( level 1-2 and any of the fifth world ones or underwater ones). Hint: Look for the levels that show the funky alpha-blended scanlines (water, snow/ice, etc).

I'm at the end of my rope here and can't think of anything else to try. 4.2.8 shouldn't be doing this after reverting the IRQ changes.

I can't be the only one experiencing these issues.

Oddly enough, I remember using a modified version where I didn't have this issue (compiled from GBAtemp user giantpune), heck, KDL3 ran as smooth as butter, but where I got that file, or what I did differently, I can't recall.

Click to expand...

Honestly ? You are losing your time. As Tantric said you, accuracy comes at a cost and snes9xgx is now based on a more accurate version of snes9x so runs a little bit slower than first ported versions.
Recompiling SVN won't magically do the trick since NO CHANGES were made regarding optimizations.

Now, why some people don't notice slowdowns when you are ? Simply because different people have different expectations of what full speed means and most of them won't notice 55 fps slowdowns, especially when it's very game-specific (those using additional cartridge chips, which requires additional emulation processing) or very located (most parts in game run fine but one part might use SNES hardware in a way it makes emulation more CPU demanding, like hi-res mode, transparencies, etc). At the end, it all comes down to the games people play and how much they are sensitive to speed drops.

Now, Tantric clearly said he had no plans (and also very likely not the knowledge) of optimizing the current code as he was fine with the current status. That's his right to decide what he wants to do anyway, right ? Your comments at the end of the video are a little bit unappropriate imo as it seems you are implying coders don't care about your little problems and you don't get why it isn't fixed yet. Thing is, as always with homebrew, the code is available for anyone to optimize it but if it does not happen, we have zero right to complain when we don't contribute anything ourselves, really...

Off course if you are skipping a frame you are missing something and it's not 100% accurate anymore (duh) but it's still more accurate than older versions released (especially in the sound department since snes9x 1.53 made some progress with that). And if you don't skip that frame, your emulator will start to suffer from more noticeable bad effect, like sound hic-hup or stuff like that. It's all about compromises.

Off course, the EXACT same code ported on PS3 will run faster (without needing any optimization) because PS3 CPU is faster than Wii CPU, comparing the two versions is like comparing the Wii port with the original PC version in term of speed, it's pointless.

And lastly, VC emulators are *optimized* emulators made by the same company who designed both hardware they are emulating (SNES) and running on (Wii), so no surprise the emulator is running fullspeed; Sadly, we can't get their code, only do some injections.