Blame | Last modification | View Log | Download
SetRefresh 1.2 ReadMe December 5, 2003================================================================================Overview================================================================================SetRefresh is a utility which attempts to optimize the monitor's refresh rate,and in some cases the resolution, for the best user experience. It does thisby querying the capabilities of the display adapter and the monitor. The firsttime a given monitor and display adapter combination is detected, SetRefreshwill set the mode to the preferred timing mode specified by the monitor, ifone is specified in the monitor's EDID. If no preferred timing mode isspecified, SetRefresh will only try to optimize the refresh rate. If a monitorand display adapter combination has been previously optimized, SetRefresh willdetermine if the current resolution and color depth combination is one which hasnot been previously optimized. If so, SetRefresh will try to optimize therefresh rate (the resolution will not be changed). SetRefresh optimizes therefresh rate by selecting the highest refresh rate both the display adapter andthe monitor support for a given resolution and color depth. Only refresh rateswhich the monitor has a preset for will be used. If SetRefresh cannotdetermine what the optimum display mode or refresh rate is or there is anyunexpected condition, then it will simply do nothing.SetRefresh has no user interface, so other than the display changing modes orrefresh rates, there will be no user interaction. The user will never beprompted for input or see anything other than the monitor's refresh rate, andpossibly resolution, changing.SetRefresh is run every time a user logs in. It does not stay resident in systemmemory. Once it has completed, SetRefresh will exit. It will, however, waitfor any Windows Plug and Play (PnP) enumeration to complete before itexecutes. If PnP has not completed within 10 minutes, SetRefresh will exit without doing anything. Any optimizations will occur on the next login.If the user overrides a setting made by SetRefresh by changing the mode orrefresh rate, the user's setting will not be overridden by SetRefresh. Notethat changing the color depth selects a new mode and SetRefresh will attemptto optimize the refresh rate.================================================================================FAQ================================================================================Q: Why didn't SetRefresh optimize the refresh rate which I logged out and backin after selecting a new resolution?A: You selected a resolution for which the monitor doesn't have a preset.SetRefresh will only select monitor presets unless the -p option is used.If the -p option is used, SetRefresh will select the highest refresh rate,for the current mode, the monitor and display adapter can both support.Q: Why wasn't the monitor's preferred timing selected when it was first attachedto the system?A: The monitor's preferred timing is not listed in its presets. To enable thepreferred timing to be selected even when the timing is not specified as apreset, the -p option must be used the first time the monitor is detected.This can be accomplished by carefully editing the registry keyHKLM\Software\Microsoft\Windows\CurrentVersion\Run\SetRefresh to add the -poption to the value (damaging the registry can prevent your machine fromworking so don't edit the registry unless you know what you are doing).Future automatic monitor optimizations will use this setting. Forcombinations which have already been optimized, manually set the resolutionto the one specified in the preferred timing and manually run SetRefresh withthe -p and -f options to automatically optimize the refresh rate.Q: Under what conditions will the resolution be changed instead of just therefresh rate?A: The resolution will only be changed if all of the following conditions aremet:1. It is the first time SetRefresh has seen a specific monitor and displayadapter combination.2. The monitor has a preferred timing specified.3. The preferred timing is listed in the monitor's presets (as specified bythe established and standard timings sections of the EDID), unless the-p option is used.4. The display adapter can support the preferred timing mode.5. The mode is in the range which Windows believes the monitor can support(see the next question).In all other cases, only the refresh rate will be changed.Q: Why doesn't my monitor get set to its preferred timing and why don't all ofthe modes my monitor is capable of supporting get listed in the WindowsDisplay Properties Page?A: When a monitor with an INF file is installed in Windows, the operatingsystem (OS) uses the information in the INF file to determine which modes themonitor supports. Rather than using the horizontal and vertical sync rangesspecified in the monitor's INF file and directly comparing them to therequired rates for a specific mode, Microsoft introduced a factor into thecalculation which effectively requires a monitor's range limits to exceed therequired rates by a specified amount. For example, the 1280x1024@75 Hz moderequires a horizontal sync rate of 79.9 kHz. If the monitor's INF specifiesthe supported horizontal sync range as 31.5-80 kHz, the OS should allow themode to be selected. In fact, the OS requires the range to be specified as31.5-83 kHz in order to allow the mode to be selected. This behavior isdocumented in Microsoft KnowledgeBase article KB309569.The INF file could be changed to indicate the larger range limits; however,Windows Hardware Quality Lab's (WHQL) certification requires the monitor'sINF file to match the data provided in its EDID. This would work around thebehavior in Windows but since other operating systems, which perform adirect comparison, rely only on the EDID, changing the EDID and INF toreport the larger range could result in other operating systems attempting toset modes outside of the monitor's actual range limits. That could result ina loss of the display image and, potentially, permanent damage to themonitor.Alternatively, if the monitor's INF file is deleted and the monitor isre-enumerated (which would require the monitor first be removed using thedevice manager), the OS will allow all of the monitor's supported modes. Thedownside is that some monitors (those without an ASCII name descriptor) willbe listed as a Play and Play Monitor while others (those with an ASCII namedescriptor and a serial number descriptor) will be listed as a combination ofthe name and the serial number (e.g. a Compaq P110 with S/N A12345678F wouldbe listed as Compaq P110 A12345678F Monitor).Q: If I change the color depth, will the refresh rate change?A: In most cases no, but some adapters have limitations on the refresh rate attheir highest resolutions and color depths. When such a resolution isselected and the color depth is changed, the refresh rate may be changed tomatch what the adapter is capable of supplying.Q: Can I force SetRefresh to optimize the display even if it did it previously?A: Yes, run SetRefresh with the -f option to force optimization. This does notcause SetRefresh to ignore the flag which indicates that a specific monitorand display adapter configuration has been seen so using this option willnot determine whether the resolution is changed or not. In fact, it issuperfluous. The first time a new combination is seen, it will beoptimized, so no -f option is needed. Subsequent executions of SetRefreshwill not change the resolution. The -f option is intended to allow userswho manually overrode the refresh rate setting SetRefresh selected, toautomatically set the refresh rate to the original optimal setting.Q: How do I get debug information to determine why a certain mode was selected?A: Run SetRefresh with the -d option to generate a setrefresh.txt file in thesame directory as the executable.Q: How do I uninstall SetRefresh?A: Login into an administrative account and run SetRefresh with the -u option toremove all registry entries associated with SetRefresh. Note that theSetRefresh.exe file and the directory it is in are not deleted so this isnot the same as removing SetRefresh using Add/Remove Programs.If you run SetRefresh with the -u option from a restricted account, it willdelete all of the current user's registry keys but it won't delete the entryin the Run key, the software installation key, or any other users' keys.SetRefresh can also be removed by using the Add/Remove Programs utility inthe Windows control panel. This will remove all registry entries, theexecutable, and the directory it is in. The entry in the Add/RemovePrograms list will only be preset if SetRefresh was installed using theSoftPAQ. If SetRefresh is preinstalled, it will not create an Add/RemovePrograms entry.Q: How do I install SetRefresh?A: The SoftPAQ will automatically install SetRefresh when it is run. However,to install it without the SoftPAQ, login to an administrative account, copythe executable into a directory on the hard disk, and run SetRefresh withthe -i option. This will install SetRefresh into the Run key so it isexecuted at each login. It will also install the software key whichindicates SetRefresh is installed and which version is being used. This willnot create an entry in the Add/Remove Programs list.If the -i option is used in a restricted account, no changes will occur.Q: In Windows 2000(tm) and Windows XP(tm), when SetRefresh changes theresolution, color depth, or refresh rate of the administrator, why does myrestricted (user) account changes as well, and vice versa?A: Windows 2000 and Windows XP use the Administrator's mode settings forrestricted (user) accounts. A change in either the Administrator's accountor a restricted (user) account will be reflected in the other account.SetRefresh does not alter this behavior.================================================================================Optional Switches================================================================================The following optional switches can be used to adjust the operation ofSetRefresh. When SetRefresh runs at login, none of these options are selected.In the SoftPAQ installation, clicking on the menu entry will run SetRefreshwith the -f option. The option switches are not case sensitive.-d This is used to enable the generation of a file with debug informationregarding the display adapter and monitor. It will generate a filed namedSetRefresh.txt in the same directory as SetRefresh.exe.-f This is used to force the optimization to be done, even if the monitor hasbeen previously optimized or the settings have been modified by the user.SetRefresh will not override the user's settings unless it is run with thisoption.-i The SoftPAQ will automatically install SetRefresh when it is run. Thisoption is used to install SetRefresh without the SoftPAQ. It will installSetRefresh into the Run key so it is executed at each login. It will alsoinstall the software key which indicates SetRefresh is installed and whichversion is being used. This option must be run from an administrativeaccount. If it is used in a restricted account, it will do nothing.-p This is used to make SetRefresh optimize the refresh rate for the currentdisplay resolution even it this resolution is not a preset mode for themonitor. Normally only presets are selected so the user is guaranteed toget a display which is properly centered and sized.-u This is used to uninstall SetRefresh. If it is used by a restrictedaccount, it will only remove the optimization flags for the current user.If it is used by an administrative account, it will remove optimizationflags for all users, the software key, and the entry in the Run key. Itdoes not delete the executable or the directory it is in.