This little section will tell you how to vastly improve the performance of 2D games on your PC, and if your PC is powerful enough, the performance of your 3D games as well. The information within really quite technical and may take a few reads to fully understand, but believe me, it’s worth the effort. Of course in an ideal world no-one would need to know this kind of thing, but the PC being the problem laden anachronism it is, we are constantly forced to learn awkward technical information just to keep our damn machines running.
If you’ve ever wondered why
2D games on the PC never look quite as nice as their console equivalents, this
section may be quite enlightening. Firstly, a little background about the
nature of televisions.
As you may know a television screen will refresh
(redraw) its display many times in a second. Standard televisions do this 60
times in a second, referred to as 60hz.
This refresh rate (hz) is central to the look of any
2D game. To have that patented arcade
smoothness the game MUST update its own graphics at the same speed as the TV.
So when the TV redraws itself 60 times a second, the game must also update its
own graphics at the same time, 60 fps. (The update of a game/program is
referred to as fps - frames per second, and can be quite independent of the
television.).
Good examples include CastleVania: SOTN on the
PlayStation and Super Metroid and Chrono Trigger on the SNES. These games
updated at the same speed as the TV and looked very smooth. Virtually every 2D
arcade machine updated at 60hz, which is why they always looked so silky
smooth.
For an example of when this goes wrong? We need to
go further back to the likes of the Amiga. Remember Magic Pockets or Xenon 2
Megablast? They ran 30fps on 60hz TV’s and so had a very cheap look to them.
The shuddering, sluggish movement these games had was down to the fact it drew
the screens less times the TV did every second, and it looks awful.
This effect
is much more difficult to describe than it is to demonstrate, so read on for a
demonstration.
But PC monitors are much
better than televisions aren’t they? Well, yes but they are still under the
same restrictions for 2D smoothness. In order for a 2D game to look smooth, the
game must redraw its graphics when the monitor refreshes its display. The
problem for PC’s is that monitor refresh rates differ between different
graphics cards and different monitors. Typically between 75hz and 120hz. This
means if the programmer tells his 2D game to update when the monitor does, the
game runs different speeds on different computers. (i.e. it will run 120 fps
on a 120hz monitor, 85fps on a 85hz and so on…)
If the programmer tells the game to update at a constant rate, say 85fps, then any machine where the monitor updates more than 85 times a second will suffer this sluggishness. If the monitor runs slower than 85hz then it will struggle to keep up with the game, resulting in screen flicker. Clearly this is a terrible situation.
In this game, try the option “Limit to 60 FPS” and
watch carefully. See, how horrible it is? (If you saw no difference then
your monitor already uses 60hz for 640x480 resolutions, and you don’t have to
read this tedious document. Hurrah!)
The Solution.
So surely the programmer just tells the monitor to update at the correct speed? Well no, very few games or applications support this (I only know of 2). So most games will attempt to match the refresh rate. If your refresh rate is 120hz then obviously this quite a struggle for your PC and 120hz is a needlessly high speed.
DirectX is our saviour here. You see, DirectX can force the monitor to refresh at any desired speed, as long as your PC can handle it.
The (very poor) reason for non-standard refresh rates is the fact that different graphics cards and different monitors support different refresh rates; there are no agreed standards. Setting your monitor to a refresh rate it can’t display is obviously bad news. There is however a solution.
60hz
The one refresh rate that all PC’s can handle is 60hz. This is Windows safe mode, and so your machine and monitor is guaranteed to handle this. If it couldn’t, upgrading graphic card drivers would render your machine completely useless as soon as you removed the original drivers and reverted to the default (PCI) graphics.
You might be wondering what on earth this technical document is doing with this game. Well this game is intended for a 60hz display, and it’s crying out for your help. It needs you to tell DirectX to run at 60hz. But this is good for a lot more than my modest efforts…
Advantages of
60hz
· The less times a second your games redraw themselves, the more graphics your PC can draw before sending it to the monitor. This will give a steadier performance and less “hiccups” in the graphics, particularly in 3D. This works for almost all the games that you play. Redrawing the screen 120 times a second is obviously twice as demanding as drawing 60 times a second.
· This game (and most Blitz Basic games) will run with arcade smoothness, making it easier on the eye.
· Any program that uses something originally run on televisions will now be perfect. The best examples of this will be old console emulator’s like ZSNES, GENS and MAME. The SNES emulator is particularly wonderful when run at 60hz. If you have any interest in emulation, 60hz is essential.
· American and Japanese DVD’s will look smoother, and more like a professional DVD player.
· If you have a powerful PC, then limiting to 60hz can give 3D the same arcade smooth effect as it does with 2D. My machine runs at 120hz by default, and none of my 3D games look that smooth. If I limit Unreal Tournament to 60hz however, it runs perfectly without ever dropping a frame. This is unbelievably nice. There are quite a few other Direct X 3D games that benefit from this treatment. (Motocross Madness, Aliens vs. Predator)
Disadvantages
of 60hz
· When the screen is in resolutions greater than 640x480, the screen will flicker visibly. Some people are more sensitive to this than others. The majority of people can see flicker in 800x600, and some may even suffer headaches. Personally I find it no worse than playing a PS2 or Dreamcast game on a television. Regardless, the resolution is only a problem when running 3D games. (After all, the SNES was only 300x200)
· When changing from a high refresh rate down to 60hz, you will perceive a small amount of flicker, but generally your eye adapts to this after 10 seconds or so.
· If you run a program that was originally intended for use with European televisions, you get none of the advantages of 60hz. Europe’s TV’s run at 50hz, far too low a speed for a PC monitor to handle. This means emulation of European games and consoles is not improved by the 60hz limit, and the same goes for European DVD’s.
· If your 3D games run less than 60 frames per second (common with the latest games) you won’t get any arcade smoothness by limiting the game to 60hz. You do reduce the number of “hiccups” as mentioned above however.
Now I’ve given you the
necessary background, I hope any gamers among you will be keen to try 60hz. So
at last, this is how to restrict DirectX games to 60hz.
·
Run C:\Windows\SYSTEM\DXDIAG (Or START > RUN and type DXDIAG)
·
Click on the tab labelled “More Help” at the far right (differs
with some version)
·
Click on the “Override” button that appears
·
Under refresh rate, in the Override box type 60
And that’s it. Your DirectX
games will have a 60hz monitor update, and almost all games will try and match
that, thus giving you arcade smoothness and all the advantages mentioned above.
Hurrah!
To remove 60hz limits just follow the above steps
and click “Default” instead of typing in the refresh rate box.
Remember, if you intend to experiment with different
refresh rates other than 60, I would advise against it, unless you know exactly
what your monitor is capable of displaying.
Now I don’t know the
technical reasons behind 2D games needing to run at the screens refresh rate. I
suspect it’s the fact all the frames need to be on screen for the exactly the
same length of time and having the screen refresh / game update at different
speeds means this won’t happen (e.g. 60hz divides equally into 60fps, but 75hz
won’t divide into 60fps equally)
A few notes finally.
Television broadcasts are 30fps, but work because it is in fact two half
pictures shown over 2 frames (Two 1/60’s of a second), and so covers this
defect with it’s constant update. (The PC can’t use this method sadly.)
3D games can be written to
redraw as fast as the screen can manage; with the game play timed using
milliseconds instead of the screen refresh. So while refresh rates limits are
less important to 3D it still has one or two of the uses as listed above.
All that aside, the bottom
line is 2D games must run at the refresh rate of the screen. It just has to be
this way. Call me a religious zealot if you like but this is a subject that is
important to me. Too long have PC owners put up with shoddy 2D. It has to end!
Happy
Gaming
Simon S