4 June 2002
Section 3 - Windows 2000/XP
The "Optimal" Refresh rate under Windows 9X/ME was a very convenient setting. It allowed your monitor to work at its peak. However, that setting is no longer available under Windows 2000 or XP. Why? Well, that is a question that I have yet to see Microsoft answer. Instead, many users are forced to live with eyestrain-causing 60Hz refresh rates. You can set the refresh rate for your Desktop, but that could change when you entered a game. If VSYNC was enabled in that game, then more than likely, your framerate would be capped by the value of your Refresh Rate.
There has been a lot of finger pointing at Microsoft as well as video card manufacturers (especially NVIDIA) over this problem. The simple fact that Microsoft removed the "Optimal" setting seems suspicious to me.
So what can users do? Well, until Microsoft or videocard manufacturers address this problem, there are a few ways to go about it. The first way would be to edit the nv4_disp.inf file yourself BEFORE installing the drivers. Here are instructions I picked up from the late G256.com.
Refresh Rate Fix By: Typedef Enum - Source:
I can now confirm that this fix does, indeed, work. Many thanks go out to this page. I was essentially doing the same thing. However, you cannot fix this "post-install" (at least, the 3 times I tried doing it *after* installing the drivers).
Essentially, here's what you do. Again, this is for Windows XP, and I'm positive the same thing will go for Windows 2000. One thing. The service is now NV, not NV4 (in the registry).
1. Remove drivers via control panel (add/remove).
3. OK, when you boot back into Windows, the OS will install some GF3 drivers, and it will add:
Get rid of it...Just to be safe.
4. Extract the driver EXE using Winzip/WinRAR. Put it into a temp directory, and then use your favorite text editor, and load up the "nv4_disp.inf" file.
5. Now, what you want to do is simply go into the file, and modify the appropriate entry for your gfx. card. I have a GeForce3, so I'm looking for: NV20_Modes
The only thing you want to do is use the appropriate refresh rate for a given resolution. So, for me, 1024x768x16 AND 1024x768x32 would require me to set the mode line to "100 Hz". This is what it would look like.
HKR,, NV20_Modes,%REG_SZ_APPEND%, "16 1024 768 100 0"
HKR,, NV20_Modes,%REG_SZ_APPEND%, "32 1024 768 100 0"
That's it! Do this for each and every resolution. Save the file, and then manually install the drivers as you would normally do. It should be of no surprise as to why some of the tweak applications are failing to enable certain features.
NV0A_Modes = TNT2 Aladdin
NV10_Modes = GeForce SDR
NV10DDR_Modes = GeForce DDR
NV10GL_Modes = Quadro GeForce
NV11_Modes = GeForce2 MX SDR
NV11DDR_Modes = GeForce2 MX DDR
NV11GL_Modes = Quadro2 MXR
NV11M_Modes = GeForce2 Go
NV15_Modes = GeForce 2 SDR
NV15BR_Modes = GeForce 2 Ultra
NV15DDR_Modes = GeForce 2 DDR
NV15GL_Modes = Quadro 2 Pro
NV20_Modes = GeForce 3
NV4_Modes = TNT
NV5_Modes = TNT2 Vanta/Pro
NV5M64_Modes = TNT2 M64
NV5ULTRA_Modes = TNT2 Ultra
NV17_Modes = GeForce4 MX
NV25_Modes = GeForce4
However, editing .INF file is not for everybody. You can also download drivers that have already been modified. These altered drivers already have the .INF fixed to support additional refresh rates. Guru3d.com is good place to look for them. Since I don't like others messing with the drivers I'm going to use, I prefer to pass these up.
Finally, you could use a third-party utility like NV Refresh Tool, MultiRes or RefreshLock. There is also one for ATI cards called ATI RefreshFix. You could also use a full-blown video utility like PowerStrip, however that is overkill if you are only concerned with Refresh Rates. Personally, I use RefreshLock, it's simple and gets the job done. Here is what RefreshLock looks like
Until Microsoft and/or videocard manufacturers decide to address this problem, users will have to resort to the methods described above to correct the problem themselves.