Snes9xGx Framerate Issues...

Discussion in 'Wii - Emulation and Homebrew' started by the_randomizer, Nov 6, 2011.

Nov 6, 2011
  1. the_randomizer
    OP

    Member the_randomizer The Temp's official fox whisperer

    Joined:
    Apr 29, 2011
    Messages:
    17,387
    Location:
    Unknown
    Country:
    United States
    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.

    Video showing how it should be - http://www.mediafire...itlc89ie9xn92q1

    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?

    Information -

    Version: 4.2.8 official ( http://tinyurl.com/3nclvar )
    Wii System Menu: 4.3 U/NTSC
    Snes9xGx Forwarder: http://tinyurl.com/3gjvsp5
    HBC Version: 1.0.8
    Tried both boot.dol and boot.elf files.

    ROM: Kirby's Dreamland 3 (U) [!].sfc
    Checksum: Okay
    ROM Size: 32mbit
    Region: NTSC-U

    Heck, other games (like Final Fantasy VI) are affected as well (framerate dips). Why VC games don't experience the same slowdowns as Snes9xGx is beyond me.
     


  2. Ergo

    Member Ergo GBAtemp Advanced Fan

    Joined:
    Oct 29, 2008
    Messages:
    614
    Country:
    United States
    I haven't played the originals in centuries, but could it be that SNES9xGX is emulating them more *accurately* than the VC rev?

    (There's also the fact that GX is hardly written from the ground up for the Wii, unlike the VC emulations.)
     
  3. Midna

    Banned Midna Banned

    Joined:
    Apr 13, 2008
    Messages:
    3,336
    Country:
    Albania
    I don't experience this issue.
     
  4. the_randomizer
    OP

    Member the_randomizer The Temp's official fox whisperer

    Joined:
    Apr 29, 2011
    Messages:
    17,387
    Location:
    Unknown
    Country:
    United States
    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.
     
  5. vigi_lante

    Newcomer vigi_lante Member

    Joined:
    Feb 5, 2004
    Messages:
    29
    Country:
    Brazil
    This is a know issue. It happens because the game use a different resolution.

    Are you sure others games like Final Fantasy VI are also affected?
     
  6. FIX94

    Global Moderator FIX94 Global Moderator

    Joined:
    Dec 3, 2009
    Messages:
    6,549
    Location:
    ???
    Country:
    Germany
    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.
     
  7. the_randomizer
    OP

    Member the_randomizer The Temp's official fox whisperer

    Joined:
    Apr 29, 2011
    Messages:
    17,387
    Location:
    Unknown
    Country:
    United States

    Only certain towns/dungeons have the framerate dips, but it doesn't happen all the time. Kirby's Dreamland 3 and other SA-1 games (like Super Mario RPG) are affected.

    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.
     
  8. Midna

    Banned Midna Banned

    Joined:
    Apr 13, 2008
    Messages:
    3,336
    Country:
    Albania
    I beat SMRPG start to finish on Snes9xGX. Didn't notice a thing. FFVI was fine as well.

    I've played DL3, but only for like 10 minutes. I might have missed the slowdown.
     
  9. Jacobeian

    Member Jacobeian GBAtemp Advanced Maniac

    Joined:
    May 15, 2008
    Messages:
    1,879
    Country:
    Cuba
    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.

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

    Global Moderator FIX94 Global Moderator

    Joined:
    Dec 3, 2009
    Messages:
    6,549
    Location:
    ???
    Country:
    Germany
    You can get it from my signature, the dol/elf needs to be in apps/snes9xgx/boot.dol/boot.elf. I got no idea why a wiimote can cause such a difference, who knows :P
     
  11. MarcusRaven

    Member MarcusRaven HBC Theme Maker

    Joined:
    Feb 5, 2010
    Messages:
    928
    Location:
    N. Carolina
    Country:
    United States
    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.
     
  12. the_randomizer
    OP

    Member the_randomizer The Temp's official fox whisperer

    Joined:
    Apr 29, 2011
    Messages:
    17,387
    Location:
    Unknown
    Country:
    United States

    A good level to test out would be the second level on the first world.

    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?


    I'll give that Snes9xGx SVN a try when I get back from school/work this afternoon.


    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.
     
  13. bradzx

    Member bradzx x-Darkie-x

    Joined:
    Sep 19, 2009
    Messages:
    1,936
    Location:
    Ponyville
    Country:
    United States
    When I am playing KDL3, it look fine to me. No lag or anything. It work fine.
     
  14. the_randomizer
    OP

    Member the_randomizer The Temp's official fox whisperer

    Joined:
    Apr 29, 2011
    Messages:
    17,387
    Location:
    Unknown
    Country:
    United States
    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.
     
  15. Ergo

    Member Ergo GBAtemp Advanced Fan

    Joined:
    Oct 29, 2008
    Messages:
    614
    Country:
    United States
    Can you provide your save states so I can skip to those levels? I don't mind testing, but I don't have the time this week to sit down and do it myself.
     
  16. Jacobeian

    Member Jacobeian GBAtemp Advanced Maniac

    Joined:
    May 15, 2008
    Messages:
    1,879
    Country:
    Cuba
    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.

    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.

    Don't worry, it's really not an issue with your Wii running slower than everyone's else ;)
     
  17. MarcusRaven

    Member MarcusRaven HBC Theme Maker

    Joined:
    Feb 5, 2010
    Messages:
    928
    Location:
    N. Carolina
    Country:
    United States
    I think that this is proof enough that these emulators could do with a framerate optimization update:

    [yt]3cNUCPGlMjg[/yt]
     
  18. Jacobeian

    Member Jacobeian GBAtemp Advanced Maniac

    Joined:
    May 15, 2008
    Messages:
    1,879
    Country:
    Cuba
    It's not surprising PS3 version (breaking news ! PS3 is more powerful than Wii !) neither that Nintendo (proprietary, remember ?) emulator is running faster than Wii version.

    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...
     
  19. Ergo

    Member Ergo GBAtemp Advanced Fan

    Joined:
    Oct 29, 2008
    Messages:
    614
    Country:
    United States
    I think the "breaking news" is that the alleged "accuracy" is lacking.

    After all, if you're going to sacrifice performance for accuracy, you should at least get accurate output, even if it is slow.
     
  20. Jacobeian

    Member Jacobeian GBAtemp Advanced Maniac

    Joined:
    May 15, 2008
    Messages:
    1,879
    Country:
    Cuba
    That's playing with words, it means accurate as with accurate sound reproduction, accurate graphics, accurate effects, etc,

    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.
     

Share This Page