Nvidia Forceware Tweak Guide

[Page 9] Advanced Tweaking



This section delves into the types of things you can do outside the standard Forceware Control Panel to further improve your graphics performance and/or to alter image quality to suit your tastes and perhaps resolve specific graphics problems. Please note that if you are not confident in undertaking these tweaks then do not perform them - none of them is necessary for you to enjoy games. There is a certain level of risk involved in changing some of these settings. That said, the following tools/methods are safe if used correctly, and all the changes below can be reversed if they don't suit your preferences, or if a particular game has issues with them.


Important: Some of the utilites on this page currently don't work properly if used in conjunction with the New Nvidia Forceware Control Panel. For example, if you use NVTweak or Coolbits to enable the 'Additional Direct3D Settings' section, it will not show up in the New Forceware Control Panel - you must switch to the Classic Control Panel to see it. This also means they effectively can't be used in Vista, since it doesn't have a Classic Control Panel. In general the latest version of RivaTuner is recommended for advanced tweaking with minimal issues on both XP and Vista - see the next page for details.



NVTweak


NVTweak 1.71 can be downloaded from the NVTweak Page, scroll down and click the NVTweak 171_install.msi download link (or use this mirror to download it). Note that a newer version of NVTweak is available as part of NVTray, however this version requires .NET and thus uses more resources. Thus I highly recommend the older NVTweak 1.71. It is a utility which allows you to quickly and easily choose which particular tabs of the Nvidia Forceware Control Panel you wish to display, instead of the earlier Coolbits 2 which automatically changed the Forceware Control Panel layout. Note that NVTweak only works on Forceware version 55.xx and higher, and may cause problems on earlier Forceware/Detonator drivers, so make sure your driver version meets this requirement before using NVTweak, otherwise you may experience strange problems.


When you launch NVTweak 1.71 you will see a series of check boxes which if you tick will add that particular function to the Forceware Control Panel immediately - no need to reboot - although you will have to close and reopen the Forceware Control Panel to see the changes.


Click to enlarge

The important additional sections of the Nvidia Forceware Control Panel which NVTweak can add are described in detail below. If you don't see any of these, make sure to click the 'Enable All' button in NVTweak, and also note that depending on your version of the Forceware drivers, some of these features may be incorporated in the regular driver control panel, or no longer available.


Additional Direct3D Settings: The single setting under this section is 'Max frames to render ahead'. This setting controls the number of frames which are rendered and held in advance of being displayed. The default is 3, however by lowering this setting you may be able to resolve mouse lag problems, and even prevent graphics freezes in certain games, at the cost of some reduction in FPS. Experiment by setting this value to 2 first, and then if necessary try an extreme value like 0. For most people however I recommend either 3, 2 or 1 at the lowest as setting a value of 0 can disable the performance benefits of dual core CPUs for example. Note that this setting is now available in the main Forceware Control Panel as 'Maximum Pre-Rendered Frames' (see page 6) as of the latest Forceware drivers.


Clock Frequency Settings: This tab is covered in detail in the Overclocking section of this guide on page 11.


AGP Rate: The AGP Rate is the same as the AGP Speed setting discussed under the BIOS Settings section of this guide. The setting for 'Max AGP Rate' under the Optimal column should also be the same as the lesser of the Max AGP Rate shown under the GPU and Chipset columns. If your AGP Rate is lower than this, you can use the 'AGP rate' slider to increase it. I recommend setting the highest available AGP rate, which for most recent graphics cards and motherboards is AGP 8x. If for some reason the slider does not allow you to go to the maximum possible, then you need to follow the instructions in the Essential Optimization section of this guide to firstly configure your BIOS settings correct, especially any AGP-related settings. Then you also need to make sure you have installed the latest motherboard drivers (not BIOS) for your motherboard, especially the latest AGP drivers. Remember that while your graphics card can support AGP 8x for example, if your motherboard is older and only supports AGP 4x, then you can only run your system at AGP 4x speed.


Fast Writes: This setting is explained in detail in the Essential Optimization section of this guide, and I recommend that it be unticked for optimal stability without any noticeable performance impact.


Sideband Addressing: This setting is again explained in detail in the Essential Optimization section of this guide, and if the option is available to you I recommend you untick it for optimal stability without any noticeable performance impact. Otherwise you can use a utility like RivaTuner to alter this setting.


Additional Information: This tab provides details of the product version name of your Nvidia graphics card (e.g. G70 for the 7800 series), as well as the total system memory available - not to be confused with how much Video RAM is available or being used.


Debug Settings: This tab provides a list of error events similar to the Event Viewer utility in Windows.


3D Stereo: These options relate to the functionality of 3D Stereo drivers and relevant hardware. If you don't have such drivers installed and the appropriate hardware, changing these settings is irrelevant. If you do have such hardware, you can download the Nvidia 3D Stereo Drivers, then use NVTweak to alter it.


Note that the majority of the tweaks and settings above - including overclocking functionality - can also be accessed using the RivaTuner tweaking utility described in detail on the next page, so if you are not comfortable with using NVTweak (despite it being quite safe) or if you're using the New Nvidia Forceware Control Panel then install and use RivaTuner instead. Of course if you wish, you can apply any of the tweaks above and install RivaTuner as well, but I recommend only making changes to the same advanced settings using one or the other, not both.



DXTweaker


Click to enlarge

DXTweaker is a small utility which allows users to forcefully enable Triple Buffering in Direct3D, something which is not possible using the normal Triple Buffering setting in the Nvidia Control Panel (See the Triple Buffering setting in the Forceware Control Panel section). You can download DXTweaker for free from here. Note that you will need to have the DirectX9.0c June 05 update or newer installed otherwise you will get errors. You can get the latest DirectX Update here. You will also need .NET Framework 1.1 or newer for DXTweaker to run.


Update: See the bottom of the next page for a useful utility which comes with RivaTuner that allows the application of Triple Buffering in an easier manner.


Whenever you enable Video Synchronization (VSync) in a game, you will get better image quality due to the removal of "tearing": that is, when the top and bottom halves of the image go out of alignment, especially during fast turning motions for example. However if you enable VSync your average Frames Per Second (FPS) also drops because of the way your graphics card waits for data to be synchronized before displaying it on your monitor. The only way to enable VSync and be rid of tearing, yet at the same time not have to worry about reduced framerates is to enable an option called 'Triple Buffering'. However to further complicate things, this option is often not available in many games, and if enabled in the graphics card control panel only works for OpenGL games, not for Direct3D games. This is all explained in more detail in my Gamer's Graphics & Display Settings Guide.


DXTweaker can force Triple Buffering in Direct3D games, but it is not straightforward to use. To use DXTweaker to force Triple Buffering, do the following: Install DXTweaker, then run the DXTControl.exe file in the main DXTweaker directory. In the window which opens, you can specify the game(s) you wish to add Triple Buffering to by clicking the New button and finding the path to the appropriate game executable. Once you've added the game executable path, highlight the game in the Projects box and at the bottom of the DXTweaker box, click the 'Modules to Load' heading, and below a list of options will appear. To force Triple Buffering in the highlighted game, tick the Present Changer box, and in the options which appear for it, set the Count box to 2 (i.e. it will set two back buffers instead of the usual 1, giving three total buffers). Now to actually force this setting to work in the game you've chosen, you will have to launch the game through DXTweaker by highlighting it in the Projects box and clicking the 'Start' button. The game will now start with Triple Buffering On - but make sure VSync is On otherwise it will have no impact.


However, some very important things to note: firstly, PunkBuster may detect DXTweaker as a hack, so be careful when using it for online games. Secondly, Triple Buffering has the drawback that it uses more video memory to store graphics information, and thus for graphics cards with less video RAM and/or in games which are more graphically intensive, forcing Triple Buffering on will result in laggier mouse movements and increased texture loading pauses. So basically for fastest performance in games, disable VSync and disable Triple Buffering. However if you believe the tearing is just too annoying, enable VSync then check to see if the in-game options allow for Triple Buffering. If so, enable it - or use DXTweaker if it's an offline game - and see if it improves performance without generating too much lag and stuttering.



The next section of this guide covers further Advanced Tweaking using the RivaTuner utility.