PAL vs. NTSC ROMs - in terms of speed

General area for talk about ZSNES. The best place to ask for related questions as well as troubleshooting.

Moderator: ZSNES Mods

Post Reply
Nihad
New Member
Posts: 7
Joined: Tue Jul 25, 2006 11:47 am
Location: Bosnia and Herzegovina

PAL vs. NTSC ROMs - in terms of speed

Post by Nihad »

Hello to everyone.
This is the first time I have decided to write here. I am not new to the emulation scene, but I have been out of the wagon for a couple of years. But I have played games on some fetus ZSNES versions some five years ago on my Pentium 166MMX :)


To get to the point, I have assembled a great old workstation PC based on dual Pentium Pro 200MHz CPUs. But ZSNES still runs slowly :(
So I am trying to squeeze as much speed & quality as possible for ZSNES from that machine. While trying that, I have got an interesting idea:

Should PAL [ (E) ] edition of any game be a BIT faster than its NTSC [ (U) ] edition? My reasoning is this:
NTSC requires rendering at 60f/s to obtain its nominal realtime flow. PAL, on the other hand, requires only 50f/s for the same thing.
When calculated, that means that NTSC edition has exactly 20% higher requirement!


Is my reasoning correct? In other words, does PAL edition of a game work faster on slow hardware than NTSC edition?
If this is true, than obtaining a PAL edition instead of NTSC should be first step towards "tweaking" the emulation performance.

P.S.: Is ZSNES as compatible with PAL editions as it is with NTSC editions?
P.S.: Excuse my language errors (if any), English is not my native one.
adventure_of_link
Locksmith of Hyrule
Posts: 3634
Joined: Sun Aug 08, 2004 7:49 am
Location: 255.255.255.255
Contact:

Post by adventure_of_link »

Yes you can play (almost all) PAL ROMs with ZSNES.

iirc, (One of, or possibly all ?) the cpu in the SNES in PAL regions is/are underclocked.
<Nach> so why don't the two of you get your own room and leave us alone with this stupidity of yours?
NSRT here.
blackmyst
Zealot
Posts: 1161
Joined: Sun Sep 26, 2004 8:36 pm
Location: Place.

Post by blackmyst »

For almost all PAL games (exceptions like the DKC games being very rare, as far as I know) game movement is simply slowed down by 10 FPS instead of re-calculated. So not only are you getting slower gameplay when playing PAL roms, but you also get stuttering on a 60hz display (unless you're able to use 100hz, which I doubt unless you've got a new monitor to go with that old system of yours).

Theorethically though, I guess it would make sense that you get a tiny performance increase, however, I'm not too familiar with Zsnes' internal workings so this might not be the case. I'm sure someone else will clear this up.


AOL: I don't believe the SPU is.
[size=75][b]Procrastination.[/b]
Hard Work Often Pays Off After Time, but Laziness Always Pays Off Now.[/size]
adventure_of_link
Locksmith of Hyrule
Posts: 3634
Joined: Sun Aug 08, 2004 7:49 am
Location: 255.255.255.255
Contact:

Post by adventure_of_link »

I know some of the CPU's in the SNES were intentionally underclocked (but not by much, probably a couple hundred kilohertz iirc) in the PAL regions.
<Nach> so why don't the two of you get your own room and leave us alone with this stupidity of yours?
NSRT here.
Nihad
New Member
Posts: 7
Joined: Tue Jul 25, 2006 11:47 am
Location: Bosnia and Herzegovina

Post by Nihad »

I apologize for being absent. I am rather busy these days. I am going to write a proper reply, but not today, I am afraid. Hopefully tomorrow.
Nihad
New Member
Posts: 7
Joined: Tue Jul 25, 2006 11:47 am
Location: Bosnia and Herzegovina

Post by Nihad »

OK, I spent some time yesterday trying to tweak ZSNES on this machine.

First I have made a compact bootable DOS disk. No EMM386. The Fastvid patch was applied (anybody remembers this?) to enable PCI bus features, which are unfortunately turned off on all PPro chipsets. This solves the huge bottleneck between PCI and VGA which is around 25MB/s and raises it to about 80MB/s. This doubles Quake's framerates on 640x480 on this machine.
After that the SciTech Display Doctor v6.53 loads.

You can see that video subsystem is completely optimised now.

I used zsnes (btw i'm too stupid to learn the name of the emulator) v1.36. The general options were not altered. VSync was off. Sound was enabled, and was set to 22KHz mono. No sound interplations.

I have acquired ten games, and both editions (NTSC and PAL) of each game. So I had 20 ROMs. I started each game, ran it to the mere beginning of its first level, and made a savestate. Later, I measured FPS from that position. If someone wants, I can upload the collection of 10 screenshots (one for each game) of those positions to Rapidshare.

The games I used were Aladdin, Battletoads & Double Dragon, Donkey Kong Country 1, Flintstones, Jungle Book, Pinball Fantasies, Super Mario World 1, Teenage Mutant Ninja Turtles 4, Toy Story and Yoshi's Island.

I used two resolutions: 320x240x16M (VESA2) and 640x480x16M (VESA2).

I can't really publish the whole results as a table here, because it is hard to write it in plain text. I will just publish the summary:

There is NO or very small difference in FPS between PAL and NTSC edition in ANY game. The only exception is in 320x240 where some PAL games hit the 50FPS limit, and their NTSC counterparts reach 55FPS or even their maximum 60.

The usual FPS gain when lowering resolution from 640x480 to 320x240 is around 50%-70%, but there are lower and higher exceptions. This shows that anyone with slower PC should indeed pursue 320x240x16M VESA2 instead of the 640x480x16M VESA2, because not only do they look the same without the video filters (as it is stated in ZSNES readme), but the 640x480 already cripples you for about 60%. If you additionaly want to use video filters, you'll probably get even triple slowdown.

I have also noticed (as blackmyst stated) that sprite animations in PAL editions are indeed 20% slower. That is practically noticable. I have found more information about that here:

http://board.zsnes.com/phpBB2/viewtopic ... h+rate+dos

So, is the conclusion that there is NO reason to use PAL ROM instead of NTSC?
Nihad
New Member
Posts: 7
Joined: Tue Jul 25, 2006 11:47 am
Location: Bosnia and Herzegovina

Post by Nihad »

One more thing about refresh rates, screen tearing, VSync and its slowdown.

I do not completely understand all about that issue, but I have a straight question.
Blackmyst asked me if I have good monitor. Yes, I have IBM G78 - 17" flat Shadow Mask CRT with 85kHz horizontal refresh rate.

That monitor can refresh its screen 160 times at 640x480 resolution, so 100Hz, and even 120Hz should not be a problem. In the other hand, I am concerned would I drive the monitor too hard if I set the refresh that high?


Anyways, I have found an excellent DOS utility called UniRefresh. That program uses VESA3 interface to interact with monitor and set its refresh rates. That way I can define refreshes for all resolutions in DOS. Before I found this program, I had not known for a way to set refreshes in DOS. Is there any other way?

I've tried 120Hz and it works fine in ZSNES at 320x240x16M VESA2.

Now, the question is this:
If I play an NTSC game at its full speed (60FPS), do I need VSync ON (in other words - will I have screen tearing without VSync) if I set the refresh rate to 120Hz?
I am trying to avoid VSync because it slows me down too much.


Another question: If I play some tough game, for example some SuperFX enhanced, so it runs at only 40FPS out of 60, will I have tearing at 120Hz? Should I then set it to 80Hz :)
blackmyst
Zealot
Posts: 1161
Joined: Sun Sep 26, 2004 8:36 pm
Location: Place.

Post by blackmyst »

If the monitor's maximum is 85hz, then I doubt it actually runs at 120hz even if you try to force it to. You can always check in the monitor's settings menu what refresh rate it's actually running at.

If you do happen to be able to force it past the upper limit mentioned for the monitor, I'm not sure it'll be very healthy. They say you shouldn't, or it'll take damage over time, but I don't have any experience with that.



As for vsync, AFAIK you can never eliminate screen tearing without either that or tripple buffering.

But if you can run NTSC games at full speed, there should be no problem with using it. Vsync doesn't slow things down unless you dip under 60fps.




Edit: about your first post: I guess there is indeed very little reason to use PAL ROMs. Exceptions being games that only came out in (or were only translated to English for) PAL areas, such as Terranigma. Or if you're using TV-out and you've got a PAL TV that can't run at 60hz. Or if you've got a PAL TV that can run in PAL60 but not NTSC, and you've got an Ati videocard that outputs NTSC but not PAL60, like me. :(
[size=75][b]Procrastination.[/b]
Hard Work Often Pays Off After Time, but Laziness Always Pays Off Now.[/size]
RedDwarf
Rookie
Posts: 37
Joined: Thu Jan 27, 2005 7:28 pm

Post by RedDwarf »

blackmyst wrote:If the monitor's maximum is 85hz, then I doubt it actually runs at 120hz even if you try to force it to.
85KHz horizontal refresh rate.

I myself have a LG 700S that supports horizontal refresh rates between 30KHz and 70KHz, vertical refresh rate between 50Hz and 160Hz and a maxium Pixel Clock (not sure what this is, I suppose is simply max bandwidth) of 110MHz.

I can play at 100Hz with 640x480 and 800x600. I can't use 1024x768@100Hz because of the horizontal 70KHz limit, but with a 85KHz limit is possible.
But if needed I can play at 1024x768@50Hz.
paulguy
Zealot
Posts: 1076
Joined: Sat Jul 02, 2005 2:01 am
Contact:

Post by paulguy »

im thinking on such a slow computer like that that often can't get 60/60, you should just not use vsync. Sure, tearing looks crappy but you're not going to get much outta that.
Nihad
New Member
Posts: 7
Joined: Tue Jul 25, 2006 11:47 am
Location: Bosnia and Herzegovina

Post by Nihad »

If I must use either vsync or tripple buffering to eliminate screen tearing, why should I then pursue double refresh rate of the SNES framerate?

In other words, what benefit do I have when setting screen refresh rate to "round" value of 120Hz (=60FPS x 2) when playing NTSC games, instead of setting it to some "odd" value, like 85Hz?

Vsync doesn't slow things down unless you dip under 60fps.
This is one good answer. I'll keep this in mind.

But I also wonder, does triple buffering behave the same way as vsync (does this statement also apply to it)? And which is a better choice of these two?


We founded that PAL editions of SNES games have 20% slower animations than NTSC ones. Is the "game clock" also 20% slower? I mean, if you for example play some SNES Chess, will your turn times last 20% longer on PAL? Or if you race Mario Kart, the race/car speed be 20% slower in PAL edition?

I just have one more thing in mind. It is a bit off-topic, so if moderators find it unappropriate, then delete this part of message.
SNES games are sprite-based. But I also want to know does these PAL vs. NTSC differences also apply for Nintendo 64 games, which are model/polygon based. What is the difference between N64's NTSC and PAL games? Do its PAL games also suffer slowdowns or some other anomalies, or are they just as good as NTSC ones? If they are, then maybe I could save some CPU time by using PAL games (50FPS) instead of NTSC (60FPS). You know how CPU-hungry N64 emulators are.
Poobah
Lurker
Posts: 164
Joined: Sun Sep 25, 2005 12:59 pm

Post by Poobah »

Nihad wrote:If I must use either vsync or tripple buffering to eliminate screen tearing, why should I then pursue double refresh rate of the SNES framerate?
If you're using 120Hz, the amount of time wasted for a VSync will be roughly half as much as that when in 60Hz, since the screen would be refreshing twice as fast. Apparently, some people prefer 120Hz over 60Hz because they dislike the flicker of 60Hz.
Nihad wrote:In other words, what benefit do I have when setting screen refresh rate to "round" value of 120Hz (=60FPS x 2) when playing NTSC games, instead of setting it to some "odd" value, like 85Hz?
If you aren't using VSync or Triple Buffering or something similar, the screen tearing would be more consistent, and animation wouldn't appear "jerky". If you are using Triple Buffering or VSync, you will have "jerky" animation if you aren't using a refresh rate that's a multiple of 60. (For NTSC games, that is.) If you were in a 61Hz mode, for example, one in every 60 updates would have to take twice as long as the others, in theory.
Nihad wrote:But I also wonder, does triple buffering behave the same way as vsync (does this statement also apply to it)? And which is a better choice of these two?
Triple buffering has two "back buffers" that are processed in the background, and rather than halting everything once a frame is ready to be displayed, processing keeps occuring until it's the right time to update the display or both buffers are full, and then the buffers are rotated, or something along the lines of that. Therefore, time is used more efficiently. Since things are being done "ahead", though, a negligible lag must occur. So each one has its "ups" and "downs": TB has negligible lag and uses more video memory, while VS wastes time. If you're playing games that never slow down, you might aswell use VSync, since the negligible lag associated with triple buffering will be further reduced. Otherwise, triple buffering would be preferable. If you're getting frame rates of under 30 FPS, you might be better off without either of these options on. Take a look at this informative article on triple buffering.
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

Nihad wrote:We established that PAL editions of SNES games have 20% slower animations than NTSC ones. Is the "game clock" also 20% slower? I mean, if you for example play some SNES Chess, will your turn times last 20% longer on PAL? Or if you race Mario Kart, the race/car speed be 20% slower in PAL edition?
It depends how the game measures time. I think the internal clock & CPU speed in PAL systems is not as much slowed down as the frame rate. But the majority of games might use the frame rate for timing.

If the game uses the frame rate, then everything will be slower and eg. lap times in racing games might not match your personal time.
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
Post Reply