Nvidia Forceware Tweak Guide
[Page 10] Advanced Tweaking (Pt.2)
The most convenient way to access the graphics-related settings in the Windows Registry and change them is by using a graphical tweaking utility such as RivaTuner. It's completely free and you can download the latest version of it from the Guru3D RivaTuner Page. To install RivaTuner, simply download the file and run the .exe to begin installation. Once you've completed the installation of the program, it may take up to a minute or more for RivaTuner to build a series of Registry databases which hold existing registry values as well as storing any edited values in the future. Once this is done, you can launch RivaTuner at any time by clicking its icon under the programs list in the Start menu, or if you have selected the 'Send to tray on close' function under the Settings menu, you can access RivaTuner by clicking its icon in the System Tray. Note that RivaTuner works under both XP and Vista, but some options may not be available under Vista as yet, or may be slightly different.
Each section of RivaTuner will be covered in detail below. Note that any RivaTuner settings related to overclocking your graphics card are covered in the Overclocking section on the next page.
This section displays the product name of your current Nvidia graphics card along with the display device(s) that are connected to your system. Underneath the first box is the actual technical name of the chipset for your Nvidia graphics card (e.g. NV31, NV47, G80 etc.) along with the amount and type of Video RAM onboard the card. There is a small grey triangle next to the word 'Customize...' in this section, and when you click on it a series of buttons will appear. These allow access to several important "low-level" (i.e. graphics-card hardware based, not Windows or driver-based) settings which are covered below:
Low-level system settings: This button opens up the AGP, Fan and NVStrap driver pages. The AGP settings page allows you to adjust the 'AGP transfer rate' (AGP Speed), 'AGP sideband addressing' (Sidebanding) and 'AGP fastwrites' (Fast Writes) settings which are all described in detail under the relevant settings on page 2 of this guide, and only appear if you have an AGP graphics card - if using PCI-E it won't be there. Adjust these as advised on page 2, and under the AGP Setting section of the Coolbits instructions above. Note that if you find the settings will not remain as you set them, tick the 'Apply AGP settings at Windows startup box' and click the Save button.
The Fan tab allows you to override the automatic control of the fan on your graphics card if you tick the 'Enable low-level fan control' option. You can then use the slider to manually set the fan speed to a specific proportion of its full potential speed. For example, select 25% on the slider means the fan will run consistently at around 25% of maximum speed. Do not alter this setting unless you have a lot of case cooling, as an insufficient fan speed can result in potential overheating of your graphics card, and in some cases damage.
If you find you cannot alter the Sidebanding or Fast Writes setting, go to the NVStrap driver tab and click the install button. This installs a small driver called NVStrap, which loads with Windows to override your graphics card's built-in BIOS settings. This allows you to do a variety of things, as shown on the NVStrap driver page. For example once you've installed NVStrap you can now alter your Sidebanding setting ('AGP sideband addressing support') by changing it from the default of 'determined by VGA BIOS' to 'force on' or 'force off', whereas you may not have been able to previously. You can also emulate an Nvidia Quadro graphics card and hence gain access to their professional features by choosing to override the hardware graphics adapter ID, but this may not work on some of the most recent Nvidia graphics cards.
If you have an NV4X-based Nvidia graphics card (e.g. GeForce 6800 or 7800 series), then you can choose to alter the number of pixel pipelines and vertex processors available on your card. On some lower-end version of these series graphics cards the additional pipeline/vertex units have been 'software masked' so as to appear non-existent. You can attempt to activate them here by choosing the Custom mode and thereby gain performance. Some pipeline/vertex units are 'hardware masked' which means they are physically marked as being unstable or damaged. You can choose to unlock such hardware masked units for additional performance by ticking the 'Allow enabling hardware masked units' and click the Customize button to configure the units. Note that enabling additional pipelines and/or vertex units, while improving performance, can also increase instability and graphical glitches. If you experience problems disable these options.
Note that if at any time you want to disable the NVStrap driver you can click the Uninstall button here, or if that doesn't work go to \Windows\System32\Drivers\ and delete the NVStrap.sys file and reboot your system.
Low-level refresh rate settings: The refresh rate is described in detail earlier in this guide. This section lets you alter the refresh rates used by your graphics card in Windows. The 'Refresh overrider' tab allows you to implement a refresh rate override, similar to that described on page 4. If you tick the 'Enable refresh overrider' box, you can then click the large '+' button at the bottom of the screen to add "rules" which RivaTuner will use to determine the refresh rate to apply depending on the resolution and color depth of the screen. This method is more complex than it needs to be, and I recommend using Refresh Force instead as detailed earlier in this guide. Note that if you have an LCD monitor I don't recommend using a refresh rate fix/overrider as it is not necessary.
The 'Monitor driver wizard' allows you to alter the basic details of your monitor's capabilities as described by its driver. You can override its maximum possible resolution for example, or select particular refresh rates for each supported resolution, or change the Horizontal and Vertical scan frequencies. This is not recommended for most users as a mistake could result in damage to your monitor - make sure you know exactly what you're doing before messing with this.
Low-level desktop color schemes: This section of RivaTuner is very similar to the Color Correction section of the Nvidia Forceware Control Panel (See page 7 of this guide), hence the descriptions are the same as well. If you wish to change your color settings here, adjust them as required then tick the 'Apply this color scheme at Windows startup' box to apply them each time you load up Windows. If you want to save several different schemes, click the disk icon under the 'Color scheme settings' section of the box and save the scheme under a unique name.
Graphics sub-system diagnostic report: By default this page gives you details of your Nvidia graphics card, its clock speeds, the Northbridge (part of the Motherboard chipset) and the memory ranges in use by the graphics subset. You can however increase the scope of the report by placing a tick mark at the top against any or all of the available categories shown and then clicking the small Camera icon at the bottom of the page to refresh the report data shown. If any of the information is not what you expect, check your BIOS and your hardware settings. The information is accurate since it is being polled directly from the graphics card and motherboard, and not the graphics drivers or Windows, hence changing driver versions or reinstalling Windows is not going to help.
Hardware Monitoring: This option brings up a screen which monitors your graphics card's Core and Memory clock speeds in real time. Note that the clock speeds should be completely stable, and if you have not overclocked your graphics card they should match the specifications of your graphics card. To find out more about these clock speeds and how to alter them, see the Overclocking section of this guide.
Reload display driver: When this setting is selected, the Nvidia display driver is reloaded into memory, causing a momentarily blackening of the screen as it is reloaded. This can help resolve any graphical glitches on the screen, or strange graphical behavior. However if you experience problems again after a short period of time see the tips in the Overclocking and Troubleshooting sections.
This section of RivaTuner deals with the software Forceware-based settings, not the low-level hardware based settings of the previous section above. As such many of these options are already available to be altered in the Forceware Control Panel, and that is where I recommend you alter them first. You can then use RivaTuner to tweak settings which are unavailable in the Forceware Control Panel, as detailed below:
System settings: The overclocking tab is covered in the Overclocking section on the next page of this guide and is not covered here. Under the Compatibility tab are several settings which can help improve stability and performance on certain motherboards. The VIA/Super Socket 7 and AMD Irongate motherboards are no longer in common usage, so these options can be ignored. If you wish however you can tick the 'Enable motherboard chipset compatibility mode' option at the bottom of this box, and RivaTuner will automatically configure a range of settings for maximum compatibility, stability and/or performance on your particular motherboard chipset. This is not recommended as instead you should manually configure all relevant RivaTuner settings yourself, however if you want to try this option to see if it resolves any problems you may have, tick this box.
The Fan tab is similar to that of the Fan tab in the hardware section above, and allows you to manually configure the fan speeds for the 2D, low power 3D and performance 3D (i.e. gaming) modes. The AGP tab may allow you to change your AGP rate, Sidebanding and Fast Writes settings if you run an AGP graphics card, however typically these are inaccessible here and best changed either at the hardware level (see above) or using the AGP Settings section of the Forceware Control Panel (See the previous page of this guide). The Overlay tab is similar to the Video Overlay Settings section of the standard Forceware Control Panel, so see that section of the guide. The 'Force hardware overlay support on spanning modes' setting only works on GeForce2-based graphics cards, while the 'Use busmastering mode for video' only works in Windows9X, and hence these are not covered here.
DirectDraw and Direct3D Settings: Note that all the settings below apply to Direct3D games only, and have no impact on OpenGL-based games. The Mipmapping tab allows you to manually adjust the Level of Detail (LOD) of MipMaps, which are texture overlays. The higher the LOD Bias slider is set, the blurrier textures become but the greater your performance may be in Direct3D games. If you want to improve image quality at the cost of performance, move the Mipmap LOD Bias slider to the left of 0 instead. Make sure the 'Enable user mipmaps' option is ticked for maximum performance and compatibility in games. The remaining Mipmap options are for TNT-based graphics cards, and are not covered here.
The Intellisample tab is identical to the Image Settings option and associated optimization-related settings available under the Performance & Quality tab of the normal Nvidia Forceware Control Panel (See page 6). As such, these options should be adjusted there.
The LMA tab provides access to the 'Enable lossless Z-buffer compression' option, which should be ticked for maximum performance. The Z-Buffer controls the rendering of depth in 3D games, such as which objects are hidden behind others when viewed at a distance. Z-buffer compression makes this process much more efficient, and this option should only be unticked for troubleshooting purposes if you notice issues with objects showing through each other or other distance-based graphical glitches. The 'Enable early Z-occlusion culling' option is similarly strongly recommended as being left ticked. Only untick for troubleshooting purposes, as unticking it will reduce performance.
The Shaders tab allows you to alter the Pixel and Vertex shader support of your Nvidia graphics card. Shaders are complex graphics functions supported by your graphics card's hardware. You cannot raise the maximum shader version your graphics card supports, as that is limited by the hardware on the card. However you can lower the shader versions to increase performance, perhaps at the cost of image quality depending on how low you force the shader version support. For example, if your card supports up to Version 3.0 Pixel Shader, but you force the version 2.0 shader, you will get a slight performance boost in some games with minimal image quality loss. If you then choose to force 1.1 or even disable shaders, you may find the game will have many glaring graphical glitches. You will have to experiment with the shader versions to see which give you better performance without a dramatic drop in image quality - this depends on how recent the Direct3D game you are playing is.
The Blitting tab controls are primarily for configuring blitting - a memory data transfer method called 'bit block transfer'. These options manually force games to wait between blitting functions, which can help resolve problems in older games, such as strange crashes. However ticking these boxes will also reduce performance, so make sure they are all unticked and only enable the first two when troubleshooting problems with older games.
VSync has been covered in detail under the Vertical Sync setting on page 6 of this guide. Auto is the recommended setting, as this allows you to determine whether VSync remains on or off in each individual application. However for the fastest performance you can set it to 'Always off' here, but with the possibility of noticeable image tearing in some games. If forcing VSync on or off, always make sure that the setting you choose for VSync here or in the Forceware Control Panel matches the one you choose in games, otherwise you may get problems or not the result you intend. The 'Prerender limit' setting is the same as the 'Max frames to render ahead' setting under the NVTweak section of this guide - lowering this setting can improve performance and reduce mouse lag, however the default of 3, or 2 at the lowest is recommended for most people.
The Textures tab contains a box at the top right which lets you choose firstly whether you're going to change settings for DirectX7 or DirectX8+ games. Once the DirectX format is chosen, you can tick or untick support for various texture surface functions. For example, if you choose DirectX8+, you can disable support for bump mapping by unticking the 'Enable 16/32-bit bump map surfaces' option. This can improve performance in games which use bump mapping, but will obviously not show bump mapping and/or may result in visual glitches. Therefore for the most part these options are to be used in troubleshooting problems with textures in games, or by allowing you to run certain games at reasonable speed but with missing effects or visual anomalies. The 'Amount of system memory for PCI textures' box is the same as the 'Maximum system memory for PCI mode textures' option in the Coolbits 2 section - it has no impact on AGP graphics cards unless you are running in PCI mode, which is not recommended. The 'Texture filtering preferences' box allows you to change the quality of texture filtering - this is similar to the Bilinear and Trilinear texture filtering settings in the Forceware Control Panel - the higher the quality level chosen, the lower the performance but the better the image quality of textures in games, with the Quality setting being Bilinear and the High Quality mode being Trilinear Filtering. Degree of Anisotropy is the same as the Anisotropic Filtering settings in the Forceware Control Panel.
The Compatibility tab has three relatively minor settings. The 'Texel origin adjustment' setting allows pre-GeForce 3 graphics cards to specify where Texels (texture data) are mapped to on surfaces. Changing this setting on some games can help improve image quality if the images or onscreen text appear blurry. The 'Enable table fog emulation' option is only used for some Direct3D games which require fog table emulation in order to display graphical effects correctly. If you find that certain games - particularly older games - are not displaying correctly, tick (or untick) this option to see if it resolves graphical problems. Otherwise leave this setting at its default. The 'Show Nvidia logo when running Direct3D applications' option simply shows an Nvidia logo in a corner of the screen when a game is running, and hence has no value at all and should not be ticked.
Finally, the Antialiasing tab allows you to specify the exact level of type of Antialiasing - as covered in the Forceware Control Panel section on page 6 - and should be adjusted there.
OpenGL Settings: Similar to the DirectDraw and Direct3D settings section above, this section covers OpenGL-related graphics tweaks and settings. Note that all the settings below apply to OpenGL games only, and have no impact on Direct3D-based games. The Mipmapping tab here works precisely the same as the one under the DirectDraw and Direct3D section above. The Intellisample tab is identical to the Image Settings option and associated optimization-related settings available under the Performance & Quality tab of the normal Nvidia Forceware Control Panel (See page 6). As such, these options should be adjusted there. If you don't want the Intellisample options to affect your trilinear filtering quality, tick the 'Override Intellisample trilinear filtering quality control' box instead and use the Trilinear Filter Quality slider below it to select your level of trilinear filtering quality/performance. Furthermore, if you want to independently control the texture compression level from Intellisample, tick the 'Override Intellisample texture compression control box' and you can then manually force texture compression on for all games as opposed to the (recommended) default of 'determined by application'. This can improve performance at the cost of some image quality, since compressed textures are easier to load into Video RAM but can show some minor signs of image quality loss due to compression.
The options under the VSync tab here functions exactly the same as those under the DirectDraw and Direct3D tab above. Note that the 'Prerender limit' here is 2 by default as opposed to 3 for Direct3D games. My recommendations for OpenGL VSync and Prerender limit remain the same as those for Direct3D.
The Back/Depth Buffering tab allows you to alter the buffer flipping mode. Buffer flipping controls the way in which buffered images are changed over from being undisplayed to being displayed. The Forceware drivers can detect the optimal buffer flipping mode when the 'Auto select' option is chosen here. However some (mainly older) games may require that you manually set this option to use 'Block Transfer' to change the buffer flipping method. You can also experiment to see if you gain some FPS in your favorite OpenGL game by changing this option, however the 'Auto select' setting is recommended for most people. The 'Force Triple Buffering' option is the same as the Triple Buffering option in the Performance & Quality Settings section of the regular Nvidia Forceware Control Panel. The 'Force 16-bit Z-Buffer' option can improve performance on older graphics cards at the cost of some image quality loss, but is not available for newer Nvidia graphics cards.
The Rendering Quality tab has several texture quality settings. The 'Default bit depth for textures' option can be used to force a specific color depth for textures in OpenGL games. The default of 'As desktop' is fine, however if you want better performance in OpenGL games, you can set it to '16 bits per pixel'. If you want to guarantee the highest image quality instead, choose 'Use 32 bits per pixel' and make sure the game's color depth settings match. Lower bits per pixel result in more color banding (visible color gradations) and can also be considered a cheat by PunkBuster anti-cheat software in some online games. The S3TC (S3 Texture Compression) quality settings section allows you to specify different forms of texture compression depending on your hardware. This can result in better performance and/or image quality. The 'Compress to DXT3 instead of DXT1' option is recommended for those who want a better image quality at the cost of a slight performance decrease. The 'Disable dithering when decompressing DXT1 textures' option is only available for the GeForce4 series, and if ticked improves performance at the cost of a slight drop in image quality. The 'Force fast trilinear filtering' option is only available for TNT series graphics cards, not GeForce cards, and should be ticked for such cards. The 'Degree of Anisotropy' setting is the same as the Anisotropic Filtering setting under the Forceware Control Panel.
The Compatibility tab lets you select options which can improve compatibility at the cost of some performance. The 'OpenGL hardware acceleration mode' should be set to 'Max acceleration mode' for optimal performance, however if you are having problems in OpenGL games, select another mode from the list. For example, you may wish to emulate a lower-end graphics card than your own to ensure better compatibility with older OpenGL games. The 'Disable support for enhanced CPU instruction sets' is the same as that covered under the Coolbits 2 section, and should remain unticked. The 'Enable GL_SGIS_MULTITEXTURE in 16-bit modes' setting is only available for TNT class cards and should only be ticked for older games running at 16-bit color depth. The 'Amount of system memory for PCI textures' is the same as the equivalent Direct3D setting above, and has no impact on recent AGP and PCI-E graphics cards.
The Professional tab has a range of features which can only be accessed if you run an Nvidia Quadro graphics card, or if you have altered the 'Graphics Adapter Information' setting to make your non-Quadro card appear to be a Quadro in the NVStrap driver tab of the low-level system settings section. You will also need to tick the 'Unlock Professional capabilities' box further down that page, and even then this option only works on NV40 (i.e. 6X00 series) Nvidia graphics cards or newer.
The Antialiasing tab allows you to alter the level of forced Antialiasing in OpenGL games in precisely the same way as the regular Peformance & Quality Settings options of the same name do in the regular Forceware Control Panel (See page 6), and are best altered there.
Color Adjustment: The Desktop and Overlay tabs here function exactly the same as the Color Correction and Video Overlay Settings sections of the standard Forceware Control Panel, so see those sections of the guide for further details. Note that just like the Forceware settings, these tabs affect all applications and games, whether Direct3D or OpenGL.
Custom Display Modes/ Refresh Rate Wizard: This tab allows you to either specify a custom resolution (width by height in pixels) or choose a standard resolution by clicking the Standard button. You can then set the Aspect Ratio for this resolution, the color depths (Bit depth) supported by this resolution, and the list of refresh rates it can support by pressing the Standard button, or manually entering a list. This mode can then be added to the list of resolutions by clicking the Add button at the bottom of the screen. Generally speaking unless you are certain your monitor supports the new resolution and refresh rate, it is wise not to add or alter these settings as an incorrect setting can result in damage to your monitor.
Reset all the driver's settings to their default values: If after making a range of changes in RivaTuner you wish to revert all the Forceware driver settings to their defaults, click this button. It will remove all the changes that have been made in the Registry, and prompt you to reboot which is recommended. It is also useful for removing any Registry changes made by NVTweak for example, however note that if NVTweak was installed prior to installing RivaTuner, this option may not remove the changes it has made. In that case, if you feel those tweaks are causing you problems you will need to follow the procedures in this guide for doing a full clean reinstall of the Forceware drivers to remove all non-standard Forceware settings.
The Settings tab of RivaTuner allows you to configure the appearance and function of RivaTuner itself. The 'Send to tray on close' option keeps RivaTuner in memory during your current Windows session by minimizing it to your System Tray whenever you close RivaTuner. This is handy if you are going to make a lot of changes and need constant access to RivaTuner, otherwise it is not recommended since it uses memory resources. The 'Always on top' option if ticked simply ensures that RivaTuner always stays in front of all other open windows on the screen. The 'Run at Windows Startup' option is only recommended if you require constant access to RivaTuner's functionality in each Windows session, otherwise it should be unticked to reduce resource usage at startup. If you do wish to tick this option, the two modes available for startup (Registry key or Startup folder) are both fine, however if you have problems change the startup mode. The 'Emulate hotkeys handler' is only recommended for those running in Windows9X.
The first time you click on this tab you will be prompted to confirm that you are aware of the potential danger of using this section. It is indeed for advanced users, and the complex nature of it means I can't cover it in full detail here. The basic premise of this section is that it allows you to directly alter the Registry entries which affect graphics card and 3D application functionality in Windows. Fortunately RivaTuner holds all the relevant Registry entries in a database it creates when first installed, storing the default values along with any of the edited values. If you run into problems, this database can be used to restore the original Registry values, preventing any significant harm. However you should still exercise caution if editing any of these values.
To view and/or alter a value, click on the relevant category, then for the name of the registry entry you wish to edit, double-click on the value column next to it. You can now enter values as appropriate, however they need to be in the format the Registry key requires. Most of these values can be changed using the Forceware Control Panel, NVTweak and/or RivaTuner's graphical user interface, so generally speaking you should not need to edit the Registry entries directly, however the option is here if you wish to do so.
The remaining Launcher, About and Links sections of RivaTuner are not covered in any detail here as they do not have any significant performance or image quality functionality.
As of RivaTuner 2.0 onwards, a neat program is included with RivaTuner which allows you to easily force Triple Buffering in Direct3D games, whether you use an ATI or Nvidia graphics card. The importance of Triple Buffering is explained in the link above, but in short enabling Triple Buffering in D3D is not normally possible in the graphics card control panel, so it requires the use of a special utility such as this one.
The utility which now comes bundled with RivaTuner is called D3DOverrider. You can launch it by going to your \Program Files\RivaTuner [Release version]\Tools\D3DOverrider directory and launching the D3DOverrider.exe program. By default this utility will simply sit in your system tray whenever it is launched and while it is active any Direct3D game you launch will automatically have Triple Buffering force-enabled. To configure it further, you can right-click on the system tray icon (a small green DirectX 'X' logo) and select Setup. From there you can select whether the program automatically launches at each Windows Startup for example - not necessary of course, but convenient if you always want to force-enable Triple Buffering in your games. For the most part you should leave the 'Active Profile' setting at Global to allow the utility to work properly in all games, and only change it if you want to create and apply particular settings for specific programs. The Application Settings section at the bottom allows you to alter the application of Triple Buffering, though these are best left at their default settings.
The next section covers the basics of Overclocking your Nvidia graphics card, and also brings the guide to a close.