Roob's Fps/vsync Guide

RoobubbaRoobubba Who you gonna call? Join Date: 2003-01-06 Member: 11930Members, Reinforced - Shadow, WC 2013 - Shadow
<div class="IPBDescription">Using winXP/2k? Stuck on 60fps? READ ON!</div> The issues I discuss in this thread apply to those running winXP or win2k, REGARDLESS OF WHAT FPS YOU GET IN GAME.

I have, since the dawn of my gaming career, played in OpenGL (yeah ok, my online gaming career post quake 1 <!--emo&;)--><img src='http://www.unknownworlds.com/forums/html/emoticons/wink.gif' border='0' style='vertical-align:middle' alt='wink.gif'><!--endemo-->) with vsync disabled.

Why? To understand what you're doing with Vsync it's important to know:

<b>WHAT VSYNC IS</b>

Vsync, or "vertical synchronization" ensures that your monitor refresh rate (in Hz = 1/s) is synchronized with the in game frame rate (also effectively measured in "Hz" ie frames/s (fps)). It is set in your graphics card settings NOT IN GAME.
Disabling vsync means that the game will determine the frames per second, by running as fast as is possible in a particular configuration. The monitor will run at whatever the default refresh rate is at the resolution you're running in game.
VSYNC gives a different feel to how the game engine responds. With VSYNC off you may find more responsiveness, but it may feel less smooth than with the setting enabled. Try playing with and without Vsync (after addressing the refresh rate issue I describe below!!) to see what you prefer.
Bear in mind also that Vsync stops "frame tearing". This occurs when the frame to be displayed by the graphics card changes while the monitor is still "drawing the last one". In other words, the monitor starts to draw one frame, then the frame changes half way through (because the graphics card is outputting faster than the monitor can keep up). The result is called a "tear" and to be honest it looks pretty damn awful.

If your game cannot achieve the same frames per second as your monitor with Vsync ON, it will (sometimes) drop to 1/2 the value of your refresh rate, hence fps drops to 30, 20, 15 etc in *steps* when vsync is on, but without vsync the change is in 1fps units (or less)
NOTE: I have not found this on ATI radeon boards, so there may be something I'm missing here, but it is well documented on NVidia graphics boards...


<b>Monitor refresh rates</b>
60Hz is bad mmmkay. Speaking personally, I have had very bad headaches and eye strain from using a monitor at 60Hz (I didn't realise, this thread is the result of my realisation).
There are numerous reports of eye strain and headaches being caused by low refresh rates. it appears that running at refresh rates of 72-75 or higher reduces the risk of these problems significantly.
Monitor settings of "optimal" should be taken with a pinch of salt. Don't trust Windows to know what is best for your set up, find out for yourself!

Bear in mind that the resolution you run the game at is most likely to be lower than the resolution you run your windows desktop at. Your monitor may be able to handle higher refresh rates at the gaming resolution than at your desktop resolution.

You <b>have</b> to know what resolution your monitor is able to run at in a particular resolution. Better still, have the correct monitor drivers which should contain this information.

<b>Frames Per Second. How High and Why?</b>

In NS 1.0x and earlier (more generally in the HL engine), many aspects of the game are determined by your client frame rate.
For example, building speeds and jetpack thrust (not recharge rate) are determined by fps. Someone with 100 fps will build and jetpack upwards FAR quicker than someone with 30 fps. The same goes for leap and charge - the number of "touches" recorded (hence the number of 4 or 16 damages dealt by each attack respectively) is determined by fps. It is possible to do somewhere between 350 and 400 damage with one single leap at 100 fps.

Half life has a default maximum frame rate of 72. This can be increased to a maximum allowable value of 100, using the fps_max setting in the console (type "<b>fps_max 100</b>" without the " in console).

HOWEVER if vsync is enabled in your graphics card driver settings, the actual fps will be no more than the refresh rate of your monitor at the gaming resolution.

To find out your fps in game, type "<b>cl_showfps 1</b>" in console (without "). Settings 0 disables.

The "net_graph X" will show you your fps, however this uses a significant amount of resources. It is MOST useful for determining data transfer rates (in packets and kB/s), packet loss and choke values for your connection to the server. Only use for a short time, do not leave this setting on!

DO NOT USE "timerefresh" in console. It is NOT the true value of your fps!

<b>WindowsXP and Windows2000</b>
There is a known problem in these operating systems, where the monitor refresh rate will be defaulted to 60Hz in non-desktop resolutions, WHATEVER REFRESH RATE you have on the desktop setting.

EVEN IF YOU HAVE VSYNC DISABLED your monitor refresh rate will be 60Hz, which as we know is bad for your eyes mmmkay...

A fix I have found to work with both Nvidia and ATI cards under winXP *AND OPENGL* (not confirmed win2k yet) is called Refresh Lock. The website for this program is: <a href='http://www.pagehosting.co.uk/rl/' target='_blank'>http://www.pagehosting.co.uk/rl/</a> <span style='color:yellow'>I recommend this for ATI card users, there are more suitable programs for NVidia graphics card users (such as <a href='http://www.nvrt.org/' target='_blank'>http://www.nvrt.org/</a></span>

This program runs in the background and will force windows to use the maximum refresh rate reported by your monitor or monitor drivers for a particular resolution.

<b>Pre-2k windows</b>
There is not the same problem in these operating systems. Simple registry entries allow for refresh rates to be set for each known resolution.


In conclusion:

If you have a maximum fps of 60.0, you most likely have Vsync enabled, and you should try to increase your monitor refresh rate, because the benefits of increased Hz also give increased fps with VSYNC ON. Job's a good un.

If you have a max fps of 72, you can get higher by setting fps_max 100 in console You probably don't have vsync enabled, hence you may have a monitor refresh rate of 60 Hz (in winXP/2k), you should try to address this issue to make sure your monitor refresh rate is more than 72 (if your monitor supports these refresh rates!) (in other words set Vsync ON in your graphics card drivers and see what fps you get in game when you set fps_max 100)

If you have a max fps of 100, you most likely don't have vsync on, check the above paragraph to ensure your monitor is running properly.

If your fps is very low, it is advised that you don't use vsync (by meh <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->) but still make sure you're running at a high enough refresh rate in game (use refresh lock if necessary)

If your fps is 30, or 20 or 15 constantly and only ever changes between these values, YOU NEED TO DOWNLOAD one of the suggested programs to fix your monitor refresh rate. You monitor is at 60Hz but your system is not good enough to run at 60fps. Ensure you have the correct monitor drivers and ALSO THE BEST GRAPHICS CARD DRIVERS FOR YOUR BOARD*!!!! You will be able to run at a higher FPS by disabling vsync, but YOUR MONITOR WILL STILL RUN AT 60Hz unless you use a refresh fix program.

* NB not necessarily the newest, the *only* way is to try several (you can get lots of drivers, from the very earliest from <a href='http://www.reactorcritical.com' target='_blank'>Reactor Critical</a> but there are MANY other sites you can also get drivers from!! More info: <a href='http://www.guru3d.com' target='_blank'>Guru3D</a>.

Hope this helps. Any questions you can PM me.
I'm not an authority on this, and I've no doubt people will correct me if I've made a mistake here. I shall update it if there's anything wrong or anything unclear.

Thanks for your time, and good luck getting higher refresh rates and frames per second!

Roo

PS NS 1.1 will not address this issue, it is a problem with -HALF LIFE- under win2k and winXP NOT specifically natural selection.

PPS thanks go to TeoH, Uh-Oh, Eternal Bliss, Anavrin and Jower for their feedback on the original of this when it was in the general discussion forum. <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->

PPPS this was previously in the general discussion forum, but I put it here as it's more appropriately placed <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
«1

Comments

  • ThinGThinG Lord of wub and vlaai Join Date: 2003-04-11 Member: 15400Members, Reinforced - Supporter
    edited June 2003
    Aye, mods should really STICKY this one...

    Helped me fix my fps <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
    got a nifty 99 fps now <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->

    Thank you Rooster (haha, a play of words, aren't I funny...)

    Seriously, TA for the research and effort,

    STICKY THE THING !!!

    [/edit] sticky the thread, not the thing <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif'><!--endemo-->
  • MonkfishMonkfish Sonic-boom-inducing buttcheeks of terrifying speed&#33; Join Date: 2003-06-03 Member: 16972Members
    thanx alot roo , get 85 fps now <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
  • devicenulldevicenull Join Date: 2003-04-30 Member: 15967Members, NS2 Playtester, Squad Five Blue
    edited June 2003
    Okay wow... I went from <30 to 60 by updating and enabling OpenGL
    But I have a question:
    How do I tell if vsync is turned on? I didn't see it in video modes...
    My graphics driver tells me i have a 85hz refresh, so does my montior.. how can I change the ingame one?
    *I cannot increase my hz, 85 is the highest it can go*
    *edit* my refresh rate is 60 ingame
  • MonkfishMonkfish Sonic-boom-inducing buttcheeks of terrifying speed&#33; Join Date: 2003-06-03 Member: 16972Members
    type fps_max xxx in console, xxx can be any number up to 100
  • devicenulldevicenull Join Date: 2003-04-30 Member: 15967Members, NS2 Playtester, Squad Five Blue
    edited June 2003
    I did fps_max 85 in console, it seemed to accept it, by my fps stayed the same
    it is listed as 85 in the config file..
    Disabled v-sync, now my fps gets up pretty high, but it varies..its been 75, then drops to 30-40 (ns_bast going between alien start(feed) and marine start)
    Another question... I get an error about TrackerUI.dll when I join any game (including local games) how can I fix this?

    *edit* another question, can I change the resolution that the menu runs at, there is this annoying 5 second delay between me pressing escape and the menu appearing
    I think the menu is still running at 640x480 while the game is 1024x768
  • MonkfishMonkfish Sonic-boom-inducing buttcheeks of terrifying speed&#33; Join Date: 2003-06-03 Member: 16972Members
    hmmmmm is your game resolution greater than your desktop resolution?
  • RoobubbaRoobubba Who you gonna call? Join Date: 2003-01-06 Member: 11930Members, Reinforced - Shadow, WC 2013 - Shadow
    you need to download and run the refresh lock program, see original post it has links.

    That will force your monitor to accept particular refresh rates in specific resolutions (you can set these).

    The problem is that you're not locking the refresh rate, so windows takes over and uses 60Hz, hence with VSYNC enabled, you're only getting 60fps in game.

    As for trackerUI.dll.... pass, I will do a quick scan though.
  • RoobubbaRoobubba Who you gonna call? Join Date: 2003-01-06 Member: 11930Members, Reinforced - Shadow, WC 2013 - Shadow
    <a href='http://www.nerdtreehouse.com/php/html/article.php?sid=275' target='_blank'>http://www.nerdtreehouse.com/php/html/arti...cle.php?sid=275</a>

    Fix for trackerUI.dll problem

    Roo
  • devicenulldevicenull Join Date: 2003-04-30 Member: 15967Members, NS2 Playtester, Squad Five Blue
    How bout the menu problem, my desktop and game both run at 1024x768
  • devicenulldevicenull Join Date: 2003-04-30 Member: 15967Members, NS2 Playtester, Squad Five Blue
    How bout the menu problem, my desktop and game both run at 1024x768
  • RoobubbaRoobubba Who you gonna call? Join Date: 2003-01-06 Member: 11930Members, Reinforced - Shadow, WC 2013 - Shadow
    I suggest using a 3rd party program such as hlsw or <a href='http://www.udpsoft.com/eye2/' target='_blank'>The All Seeing Eye</a> to join servers with, then you need never see the menu. The menu resolution is set and can't be changed to my knowledge.

    Is the rest OK?

    Roo
  • RoobubbaRoobubba Who you gonna call? Join Date: 2003-01-06 Member: 11930Members, Reinforced - Shadow, WC 2013 - Shadow
    ^ all the while noting that by doing that only you're not sorting out the 60Hz refresh rate problem, <!--emo&;)--><img src='http://www.unknownworlds.com/forums/html/emoticons/wink.gif' border='0' style='vertical-align:middle' alt='wink.gif'><!--endemo-->
  • ZerogreatZerogreat Join Date: 2002-12-11 Member: 10537Members
    Havent readed this whole thing but if your 60Hz problem is what i think, then get "Reforce" utility, works best of all i have tried and works with any graphic card.
  • RoobubbaRoobubba Who you gonna call? Join Date: 2003-01-06 Member: 11930Members, Reinforced - Shadow, WC 2013 - Shadow
    Zero, this is a guide I explain the problem and the solution, thank you.
  • ThinGThinG Lord of wub and vlaai Join Date: 2003-04-11 Member: 15400Members, Reinforced - Supporter
    *clap* *clap* *clap*

    about time one of the mods stickies this thread

    *clap* *clap* *clap*
  • RoobubbaRoobubba Who you gonna call? Join Date: 2003-01-06 Member: 11930Members, Reinforced - Shadow, WC 2013 - Shadow
    I'm just trying to figure out why it shouldn't be stickied...

    Sadly, I'm clearly not far sighted enough to understand <!--emo&:(--><img src='http://www.unknownworlds.com/forums/html/emoticons/sad.gif' border='0' style='vertical-align:middle' alt='sad.gif'><!--endemo-->
  • RoobubbaRoobubba Who you gonna call? Join Date: 2003-01-06 Member: 11930Members, Reinforced - Shadow, WC 2013 - Shadow
    erm mod would you like to explain? I don't want to get into that silly bumping that we had to do before....

    it's important and useful stuff in here.
  • ThinGThinG Lord of wub and vlaai Join Date: 2003-04-11 Member: 15400Members, Reinforced - Supporter
    edited June 2003
    It really should be stickied, there are very bad posts stickied in other forums, and I think a post that has gotten alot of effort and research put into it, and apparantly has helped lots of ppl (including the general forum where it was posted earlier) should really get stickied...

    Well, I for one am happy, because this thread helped me solve my fps problem and got my fps up to a lovely 99 <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->

    'nuff said I think
  • RoobubbaRoobubba Who you gonna call? Join Date: 2003-01-06 Member: 11930Members, Reinforced - Shadow, WC 2013 - Shadow
    and don't forget your monitor refresh rate is now not 60 Hz which can lead to health problems too Thing <!--emo&;)--><img src='http://www.unknownworlds.com/forums/html/emoticons/wink.gif' border='0' style='vertical-align:middle' alt='wink.gif'><!--endemo-->
  • ThinGThinG Lord of wub and vlaai Join Date: 2003-04-11 Member: 15400Members, Reinforced - Supporter
    true <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html/emoticons/biggrin.gif' border='0' style='vertical-align:middle' alt='biggrin.gif'><!--endemo-->
  • ElectricSheepElectricSheep Join Date: 2003-04-21 Member: 15716Members
    How do i change my monitor refresh rate im using a windows 98 and cant find where to change my refresh rate.
  • ZerogreatZerogreat Join Date: 2002-12-11 Member: 10537Members
    I dont have english windows so i dont know if the translation will be OK.

    Right click on your desktop (NOT on any icon), some menu appears, select PROPERTIES, on the window that appears click on the SETTINGS tab <!--emo&::skulk::--><img src='http://www.unknownworlds.com/forums/html/emoticons/skulk.gif' border='0' style='vertical-align:middle' alt='skulk.gif'><!--endemo--> (you can select resolution here) and there click on ADVANCED button, another window appears, click on MONITOR tab, there you might want to set your type of monitor (dload the drivers from your monitor manufacters web), this will set the proper maximum refresh rates for every resolution so you cannot set it higher than your monitor can go. There is a scroll-out menu (dont know how to name it <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo--> ) where you select the refresh rates.

    You need to do this for every resolution you use, like if you play game XYZ na 1024x768 you must switch to that resolution (search for the <!--emo&::skulk::--><img src='http://www.unknownworlds.com/forums/html/emoticons/skulk.gif' border='0' style='vertical-align:middle' alt='skulk.gif'><!--endemo--> above) and then select refresh rate for it, and if you are also playing game ZYX on 1280x960 you have to select that resolution ( <!--emo&::skulk::--><img src='http://www.unknownworlds.com/forums/html/emoticons/skulk.gif' border='0' style='vertical-align:middle' alt='skulk.gif'><!--endemo--> ) and then set the refresh rate.

    The higher resolution, the lower refresh rate can you set. (like i can set for 640x480 - 160 Hz, 1152x864 - 100 Hz etc.).

    Dont know if there are some programs to change it for you like in windows XP, its more easier and it sets maximum refresh rates for every resolution in one click.
  • Big_Fat_DuckBig_Fat_Duck Join Date: 2003-03-21 Member: 14760Members
    Refresh Lock makes Cheating-Death lock up your HL on server connect <!--emo&:(--><img src='http://www.unknownworlds.com/forums/html/emoticons/sad.gif' border='0' style='vertical-align:middle' alt='sad.gif'><!--endemo-->
  • RoobubbaRoobubba Who you gonna call? Join Date: 2003-01-06 Member: 11930Members, Reinforced - Shadow, WC 2013 - Shadow
    It shouldn't do, but you should only be running Refresh lock on win2k or XP. If refresh lock won't work for you, there are plenty of other programs out there (<a href='http://www.nvrt.org/' target='_blank'>NVRT</a>, for example).
  • ZerogreatZerogreat Join Date: 2002-12-11 Member: 10537Members
    Use REFORCE, its best because of the way it works. It modifies the file with setting for your monitor so it sets your maximum RR as minimum (ie. your monitors refresh rate for resolution XY is minimum 60Hz and maximum 120Hz, REFORCE sets 120Hz as minimum). No background running, no registry messing, just this.
  • davidsansomedavidsansome Join Date: 2003-02-07 Member: 13228Members, Constellation
    When you follow this guide, and get 100 FPS, you can own at leap.
    Oooh, look at the sig! <!--emo&;)--><img src='http://www.unknownworlds.com/forums/html/emoticons/wink.gif' border='0' style='vertical-align:middle' alt='wink.gif'><!--endemo-->

    </gloat-mode>
  • ThinGThinG Lord of wub and vlaai Join Date: 2003-04-11 Member: 15400Members, Reinforced - Supporter
    *off topic: lol tbh <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->

    I leaped Roo out of the air with his jetpack last week,

    all because of the guide <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html/emoticons/biggrin.gif' border='0' style='vertical-align:middle' alt='biggrin.gif'><!--endemo--> *evil laughter*
  • Marine0IMarine0I Join Date: 2002-11-14 Member: 8639Members, Constellation
    well - if they wont sticky - i have no regrets

    BUMP
  • RoobubbaRoobubba Who you gonna call? Join Date: 2003-01-06 Member: 11930Members, Reinforced - Shadow, WC 2013 - Shadow
    heh damn you guys if only I'd not told you my little secrets <!--emo&:(--><img src='http://www.unknownworlds.com/forums/html/emoticons/sad.gif' border='0' style='vertical-align:middle' alt='sad.gif'><!--endemo-->
  • ThinGThinG Lord of wub and vlaai Join Date: 2003-04-11 Member: 15400Members, Reinforced - Supporter
    *bumps post to first page again*
This discussion has been closed.