Page 1 of 1

Zelda : LttP Slow when firing Arrows

Posted: Fri May 28, 2010 7:27 pm
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

Posted: Sat May 29, 2010 3:26 am
by Camo_Yoshi
This is normal; any large amount of sprites on the screen will cause slowdown in the game itself, not the emulator.

Posted: Sun May 30, 2010 1:09 pm
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 !

Posted: Mon May 31, 2010 5:07 am
by Camo_Yoshi
No prob, SMW can have this issue too sometimes... poor 'ol 10.5Mhz CPU just can't keep up.

Posted: Mon May 31, 2010 5:14 pm
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:

Posted: Mon May 31, 2010 6:17 pm
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.

Posted: Mon May 31, 2010 7:36 pm
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.

Posted: Mon May 31, 2010 8:02 pm
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..

Posted: Fri Jun 04, 2010 2:02 pm
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.

Posted: Fri Jun 04, 2010 3:45 pm
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.

Posted: Mon Jun 07, 2010 8:23 pm
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.

Posted: Mon Jun 07, 2010 10:39 pm
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.

Posted: Tue Jun 08, 2010 8:56 pm
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.)

Posted: Fri Jun 18, 2010 4:07 pm
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.

Posted: Fri Jun 18, 2010 7:12 pm
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.

Posted: Sat Jun 19, 2010 11:42 am
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.

Posted: Mon Jun 21, 2010 5:52 pm
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.

Posted: Mon Jun 21, 2010 11:26 pm
by Camo_Yoshi
This problem can also be observed on other games as well. SMW, Kirby's Adventure on the NES, and others.

Posted: Wed Jun 23, 2010 4:21 am
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.