Zelda : LttP Slow when firing Arrows

If you're having problems with Snes9x, or think you've found a bug, this is the place to be.
Post Reply
hbrowser
Snes9x White Belt
Posts: 6
Joined: Wed May 26, 2010 9:35 pm

Zelda : LttP Slow when firing Arrows

Post by hbrowser »

Hi everyone,

This is probably the 100.000th "slow" question but please bear with me because it's pretty specific.

I'm playing Zelda:lttp again and it pretty much works fine, until I want to fire arrows. Then, every movement slows down to about half speed until the arrow hits.

some specifics:

- I'm running XP - specs should be good I guess. dual core >2ghz, 3.2 GB ram, 8800GT video card. Snes9x version 1.52 fix4
- I have had no crashes or other glitches whatsoever with the rom.
- this happens with any emulation speed - both slower and faster speeds. (so 200% + arrow = about normal speed)
- the framerate always stays at 60
- this happens using default settings (i have deleted config and after restart snes9x immediately loaded a state)
- this happens - noticeable anyway - with 1 or more enemies moving around. Empty screen: no problem
- The area you are in seems to matter. For example the area above the bridge in the light world with all the rocks is affected, and also any dungeon, but not the area below link's house. With the 2 knights there chasing me, no effect at all, but at the bridge it is very noticeable.
- I can swing any other weapon, from boomerang to hookshot to flame rod to sword with the shooting star thing without any effect on speed - the sword effect should be a lot "heavier" than the arrow, right?

I have played Zelda in the past on Snes9x 1.43 and I can't remember having this problem. That was a single core AMD X64 i remember, all specs lower than this one. Is there an issue with dual cores I have missed?
I have never seen the snes9x.exe process above 4%, also during the slowdown.

EDIT:
Recorded Video which clearly shows speed change.
http://www.youtube.com/watch?v=rWNIjd7gn48


I also have a save state for the interested. It's in the same dungeon room as the movie. (there is a red mouse thing, a moveable statue and 2 spikey blocks bouncing around) when I find a way to attach it or upload it somewhere, I'll post the link...(what do you all normally use?)

That's the story. At the bottom is the rom info.

One last thing: I played Actraiser 2 before this and it had a more common slowdown with a lot of enemies on screen. At the time I thought it was because I had to turn SPEEDHACKS to ON in the config. Again, some areas were more affected than others - especially the first area with all the insects flying around.

Thanks for any insights

Rom info:
  • File: E:\GAMES\SNES\Legend of Zelda, The (U)\Legend of Zelda, The (U).swc
    Name: THE LEGEND OF ZELDA
    Speed: 20/SlowROM
    ROM Map: LoROM
    Type: 02
    Kart contents: ROM+RAM+BAT
    Header ROM Size: 8Mbits
    Calculated ROM Size: 8 Mbits
    SRAM size: 64Kbits (64Kbit)
    Actual Checksum: AF0D
    Header Checksum: AF0D
    Header Checksum Compliment: 50F2
    Output: NTSC 60Hz
    CRC32: 777AAC2F
    Licensee: Nintendo
    ROM Version: 1.0
    Region: USA/Canada
User avatar
Camo_Yoshi
Snes9x Purple belt
Posts: 922
Joined: Thu Nov 08, 2007 7:59 pm

Post by Camo_Yoshi »

This is normal; any large amount of sprites on the screen will cause slowdown in the game itself, not the emulator.
Snes9x FAQs | Forum Rules
What operating system are you using? 32 or 64bit? Version of Snes9x? Is the text at the bottom of the window white when you load the game?
These suggestions are usually the solution to your issue!
hbrowser
Snes9x White Belt
Posts: 6
Joined: Wed May 26, 2010 9:35 pm

Post by hbrowser »

slowdown in the game itself
Really? So you mean a real SNES would also look like this and SNES9x just emulates that? Then this is all just a bad case of selective memory? :oops:

I've been able to play some more on other not much older machines, as well as ZSNES. All look the same in terms of speed.. So it looks like you're right and it doesn't matter how fast your PC is. SNES does what it does.

Time to find my old TV and see how that looks again...
Getting old I guess..

Thanks !
User avatar
Camo_Yoshi
Snes9x Purple belt
Posts: 922
Joined: Thu Nov 08, 2007 7:59 pm

Post by Camo_Yoshi »

No prob, SMW can have this issue too sometimes... poor 'ol 10.5Mhz CPU just can't keep up.
Snes9x FAQs | Forum Rules
What operating system are you using? 32 or 64bit? Version of Snes9x? Is the text at the bottom of the window white when you load the game?
These suggestions are usually the solution to your issue!
the_randomizer
Snes9x Orange Belt
Posts: 222
Joined: Sat Oct 17, 2009 4:18 am

Post by the_randomizer »

Camo_Yoshi wrote:No prob, SMW can have this issue too sometimes... poor 'ol 10.5Mhz CPU just can't keep up.
10.5MHz? I thought the CPU was much lower than that... :shock:
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!"
User avatar
Camo_Yoshi
Snes9x Purple belt
Posts: 922
Joined: Thu Nov 08, 2007 7:59 pm

Post by Camo_Yoshi »

Yeah, normally it's 22Mhz but a internal clock speed divider cuts it in half. The SA-1 is the exact same as the SNES' CPU, but minus the clock divider. And some extra RAM/Timers/DMA thrown on.
Snes9x FAQs | Forum Rules
What operating system are you using? 32 or 64bit? Version of Snes9x? Is the text at the bottom of the window white when you load the game?
These suggestions are usually the solution to your issue!
adventure_of_link
Hero of Hyrule | Official Port Recruiter
Posts: 2588
Joined: Mon May 24, 2004 5:06 pm
Location: 255.255.255.255

Post by adventure_of_link »

huh? :?

I always thought the SNES's cpu would go up to 3.50MHz or so, lowest clock speed is like 1.025MHz, IIRC.

The SA-1 allowed it to go up to ~10MHz, but only on certain games. the Super FX allowed it to go up to ~21MHz.

Also, I've played Zelda ALttP on a real SNES, and I can't ever remember a time where the arrow flew too slow.
Image

Unofficial Test Monkey For:
* Snes9X GX (Wii)
* Snes9X EX (Android)
* Snes9X 64-bits (PC/Mac)

ZSNES|Ben Heck|NSRT|Bob Smiley
hbrowser
Snes9x White Belt
Posts: 6
Joined: Wed May 26, 2010 9:35 pm

Post by hbrowser »

So.. is this still an issue?
Should I enable something like the Super FX?

If you want to test it out, I have a savestate at the position I made the movie. I think it's a good example because the area is quiet, small and has only a few sprites.

Also, while the arrow shows it very well, I think when the boomerang flies there is also a minor slowdown. You can see it in the video about halfway through though it is not so clear. The hookshot after that is just fine.

Maybe it has something to do with the blue starry effect of both. Just my 2 cents..
User avatar
kolechovski
Snes9x Brown Belt
Posts: 1100
Joined: Fri May 28, 2004 6:16 pm

Post by kolechovski »

The slowdowns, especially since they're area specific, would likely be related to the too-many-sprites issue, but that effect on the arrow seems severe. Although perhaps the starry effect could contribute to the too many sprites thingy, I don't recall it being an issue with that arrow, either. Do you have an earlier save where you can see if plain arrows cause lag there? And somebody should test out your save state, but I can't run 1.5x on my home computer, and I don't thing I've got a copy of the ROM with me. I also doubt that save will work on 1.43.

The Cane of Somalia's lag seems normal due to too many sprites.
The soldier was forced to desert his dessert in the desert.
hbrowser
Snes9x White Belt
Posts: 6
Joined: Wed May 26, 2010 9:35 pm

Post by hbrowser »

@kolechovski
I think I have a state with plain arrows, yes. Have to check when I get home.
I guess I can also make 1.43 states using the in-game save. Hope I don't have to replay a lot for that..
Shall I pm those to you when I have them? (is that possible here?)

EDIT:
Will also post a movie with normal arrows in the same area.
Deathlike2
Snes9x Brown Belt
Posts: 1158
Joined: Mon Jan 10, 2005 6:34 am

Post by Deathlike2 »

hbrowser wrote:So.. is this still an issue?
Some games exhibit it, and it's simply normal behavior sometimes. It is hard for some people to imagine especially if they have not played the original cart themselves.
Should I enable something like the Super FX?
Games don't "work" the way you think it does. If a game uses a chip, it must be used to run the game. You don't "add" chips like you do with computer RAM. It simply doesn't work like that.
Continuing FF4 Research...
User avatar
kolechovski
Snes9x Brown Belt
Posts: 1100
Joined: Fri May 28, 2004 6:16 pm

Post by kolechovski »

You could either record video clips for Youtube comparing them, or you could send me the 1.43 save state, and I'll see what it does on mine. I'll PM you my email address if you decide to do the other.
The soldier was forced to desert his dessert in the desert.
hbrowser
Snes9x White Belt
Posts: 6
Joined: Wed May 26, 2010 9:35 pm

Post by hbrowser »

It is hard for some people to imagine especially if they have not played the original cart themselves.
I see. Well, I have played zelda on a real SNES - admittedly quite some time ago - but really, I cannot remember it happening like this. Did you see the video and the effect? Camo_Yoshi also pointed out SMW has the issue too Well, I cannot even imagine playing a Mario game with these hiccups. I have a SMW cart right here, if you know a good testing level I'll pop it in and see for myself (as for a Zelda cartridge, that thing got lost in time and space :cry:)

anyway, 2 more videos
http://www.youtube.com/watch?v=MnznSKxk3WM (1.52)
and http://www.youtube.com/watch?v=tpUUfIujHCY (1.43)
This time no silver arrows and just the red boomerang
(this is a different area because I had to start all over again.)
User avatar
kolechovski
Snes9x Brown Belt
Posts: 1100
Joined: Fri May 28, 2004 6:16 pm

Post by kolechovski »

I am unable to watch teh videos at the moment, but having replayed the game, I cans ay that the lag you experienced in the earlier room in Ganon's tower IS NORMAL. I got the same results. It can happen in some other areas, and is clearly related to the too-much-stuff on the screen issue. Also note that the whole fight with Ganon might be annoyingly laggy as well. I'll check out those latest 2 vids you have soon, but for now, the earlier incident isn't a glitch.
The soldier was forced to desert his dessert in the desert.
User avatar
kolechovski
Snes9x Brown Belt
Posts: 1100
Joined: Fri May 28, 2004 6:16 pm

Post by kolechovski »

Hey, I checked the vids. That is normal behavior. indeed, the sparkles from the Magic Boomerang and Silver Arrows add at least 1 sprite (maybe each sparkle is even a sprite), and that is enough to cause such lag when enough enemies are already present. Don't worry-1.5x seems to be running okay for you.

BTW, like I said before, you'll likely have plenty of lag during the fight with Ganon, and I notice that missed inputs seem likely in that battle as well (due to the lag, buttons you hit quickly may be missed on the initial frame).

BTW, I haven't checked to see if you sent me the emulator vids, but they won't be necessary if you hadn't since this issue is now solved.
The soldier was forced to desert his dessert in the desert.
hbrowser
Snes9x White Belt
Posts: 6
Joined: Wed May 26, 2010 9:35 pm

Post by hbrowser »

Allright, thanks for your time to explain - and replay the game all the way to that room! :shock: I did send you a couple of savestates. maybe they wound up in spam.

I finished the game of course with not too much problems in Ganon's room, Dungeon #3 with the bat and all the spikey blocks and of course the final fight were the most laggy for me. There was also one dungeon with a lot of bow and arrow work which became very annoying because I had gotten the silver arrows early in the game.

Now I'll go one more time for the proper dungeon order and see if that helps, but I won't tire you anymore with that..

I'll leave the videos online for anyone who finds this thread to compare to their own game.
User avatar
kolechovski
Snes9x Brown Belt
Posts: 1100
Joined: Fri May 28, 2004 6:16 pm

Post by kolechovski »

Actually, I got the email, but I didn't bother to check the vids since it sounded like the issue was proven to be SNES mechanics and normal behavior, but I can still verify it the next chance I get (I still have the stuff).

From what you described and I had mentioned, the Ganon fight is also laggy, and now that you mentioned it, the fight against Mothula in DW3 is also very laggy. This, too, is normal. With all the moving spikes and Mothula's magic rings, there are too many sprites about, contributing to the same lag you get there.

As for the Silver Arrows, they are actually quite worth having as soon as you get them, and in most places, they do not cause severe lag like that, but on screens with too much stuff, any object will cause lag (not just the arrows). Anyhow, I'll verify the saves you gave me in comparison with the vids you posted next chance I get.

-edit-I happened to have the stuff with me, so I just checked it now. Indeed, this lag is normal behavior. On any console, if too many calculations must be made during a clock cycle, it won't be finished when it outputs a frame, so it must wait until the next frame to do so. Mostly, this is caused by too many objects on a screen at once, as each ojbect requires significant resources.

Without the enemy arrows on teh screen in that instance, the game is likely just barely able to finish handling everything by the time the next frame is rendered, but add one more enemy arrow to the mess, and the situation just mentioned happened. Since the game can then only finish cycles on every other frame, this causes the game to run at 1/2 speed essentially. The sparkles from the Magic Boomerang and Silver Arrows seem to be additional sprites (though I don't know if each lone sparkle counts as one, or just the sparling animation itself is all 1), and on crowded screens like that, will cause such effects. Once again, this is normal, and the emulators themselves are properly emulating this, just as it would occur on a console.

One final thing to note is that during game lag in most games, the music continues at normal speed during the whole ordeal-it's the rendering of the frames that's being delayed. Also, this can cause missed inputs. In other words, if you tap a button for 1 frame, and it occurred during the lag, the game will fail to detect that you pressed a button at that time.
The soldier was forced to desert his dessert in the desert.
User avatar
Camo_Yoshi
Snes9x Purple belt
Posts: 922
Joined: Thu Nov 08, 2007 7:59 pm

Post by Camo_Yoshi »

This problem can also be observed on other games as well. SMW, Kirby's Adventure on the NES, and others.
Snes9x FAQs | Forum Rules
What operating system are you using? 32 or 64bit? Version of Snes9x? Is the text at the bottom of the window white when you load the game?
These suggestions are usually the solution to your issue!
franpa
Snes9x Yellow Belt
Posts: 150
Joined: Mon Apr 30, 2007 10:18 am

Post by franpa »

adventure_of_link wrote:huh? :?

I always thought the SNES's cpu would go up to 3.50MHz or so, lowest clock speed is like 1.025MHz, IIRC.

The SA-1 allowed it to go up to ~10MHz, but only on certain games. the Super FX allowed it to go up to ~21MHz.

Also, I've played Zelda ALttP on a real SNES, and I can't ever remember a time where the arrow flew too slow.
This is what I thought too :/ of course I agree with there being lag with ice/sparkly weapons and lots of enemies being present.
Windows 10 x64, Ryzen 3700X, ASUS Crosshair Hero VIII WiFi Motherboard, 16GB 3600MHz RAM, MSI Gamer 1070Ti, Integrated Audio, Corsair AX760 power supply.
Post Reply