This is Vic.  Jack of all trades
gamer | doofus | engineer | weirdo | lover | fighter | writer | coder | wit | twit | nerd | canadian
[2004.02.06] I do a bit of informal computer technical support for my friends and family. If the 'puter is broke, I'm supposed to fix it, or make it happy, or something to that extent. The goal of this page is to document some of the more interesting occurances that others may find useful should they one day become desparate and google catalogs this page.

Entries
Internet Explorer 6 Rendering Bug: Horizontal scrollbar ...
Win2K/XP 60Hz refresh issue: NVIDIA chipsets
Win2K/XP 60Hz refresh issue: ATI Radeon chipsets


Internet Explorer 6 Rendering Bug: Horizontal scrollbar appears when working with frames

Problem: Microsoft Internet Explorer 6 (and possibly 5.5) renders a horizontal scrollbar in a frame-based HTML page even when there is sufficient width for a page. The resulting anomaly causes a scrollbar-width-sized amount of information against the right edge to be covered by the vertical scrollbar and is annoying for viewers to navigate. This is apparently a bug in the rendering engine and does not appear with other browsers. It is caused by the DOCTYPE URI reference on the first line of every valid HTML page based on the W3C standard.

Note: As of the time of writing, this bug has not been fixed in the latest IE6 update. The solutions presented below are merely workarounds.

Update: For a visual reference, here is a sample page known to display the rendering bug in IE6.

Solution 1: Switch browsers (for example, to Mozilla or Opera. Although IE6 is the "dominant" browser on the internet, it's not the best. Many security flaws, rendering issues like this, and lax conformance to established web standards are a pain for web developers and users.
  • Benefits
  • Eliminate the problem altogether
  • Promotes web standards
  • Drawbacks
  • Requires download of another browser
  • Only sidetracks the issue for users; web developers still must deal with this issue.


Solution 2: Avoid using frames. The problem only occurs in IE6 when working with frame-based webpages.
  • Benefits
  • Eliminate the problem altogether
  • Drawbacks
  • Potentially requires complete site-redesign
  • Website clients may strongly desire a frame-based website, or the content of a website is only practical with a frame-based website.


Solution 3: Remove the DOCTYPE URI from your HTML page. This eliminates the horizontal scrollbar but causes IE6 to render the page in its most non-conformant, proprietary method.
  • Benefits
  • Removes the horizontal scrollbar from the frame
  • Drawbacks
  • Causes IE6 to render the page improperly
  • Promotes non-conformance to web standards (Microsoft tactic?)


Solution 4: Increase the right margin of the affected frame pages to avoid rendering content against the right edge (where the scrollbar would cover). This is done by adjusting the style properties of the page to have a large margin (for example, 30 pixels or more). For example, in the body tag of the affected pages, add the following embedded style attributes: <body style="margin-right : 30px">
  • Benefits
  • Avoids the problem altogether
  • Relatively simple workaround for the web developer
  • Drawbacks
  • Horizontal scrollbar still remains
  • Workaround might be undesirable due to page layout (i.e. content that must be against the right edge)


Back to the Entry Listing



Win2K/XP 60Hz refresh issue: NVIDIA chipsets

Problem: Resolution change (particularly for 3D games) causes the refresh rate to fall back to 60Hz. This can cause severe frame rate drops when vertical sync (vsync) is enabled and screen tearing if the potential frame rate is higher than 60fps and vsync is disabled. The general consensus between users is that 60Hz is also an eye-strain.

Note: Some of the solutions presented below are generic and can be applied to all chipsets. These will be noted below.

Update: Newer drivers (i.e. version 45.xx and higher, including the ForceWare series) can now force refresh rates selectively from the display properties advanced menu. This should be the preferred method for adjusting refresh rates per resolution from this point onward with NVIDIA drivers. The methods below are provided for historical reference.

Solution 1 (generic): Leave it alone. Some people adapt to the low refresh rate well and just get used to it. This is always an option as it does not critically affect the system.
  • Benefits
  • No work involved
  • Drawbacks
  • It doesn't really fix the problem, does it?


Solution 2 (generic): Lock the refresh rate for all DirectX games (you do have DirectX installed, right?). To do this, press the start button, choose run, and type dxdiag. Once the DirectX Diagnostic Tool has finished analyzing, choose the "More Help" tab, select the button that says "Override...", check the "Override value" radio button and enter an override value refresh rate.
  • Benefits
  • Affects all DirectX games throughout
  • No need for additional downloads; tool is already on the system
  • Fairly easy to use and undo
  • Drawbacks
  • Forces all DirectX applications in all resolutions to the same refresh rate
  • Requires knowledge of monitor's refresh rate capabilities (i.e. need to read the manual)
  • Doesn't fix problem with OpenGL games (i.e. Quake engine games)
  • Potential to damage monitor if improper refresh rate is entered


Solution 3: Download a small program that "fixes" the problem. These are usually small utilities like this or this that have moderate success.
  • Benefits
  • Usually fairly easy to use and undo
  • Usually works with some success
  • Usually works for everything
  • Most often free to download
  • Drawbacks
  • Isn't a full-proof solution. Your mileage will vary depending on your system and the utility you download.
  • With driver updates, sometimes these utilities don't work, or the developer (often just a computer enthusiast) gives up or stops supporting and/or updating it.
  • There are a lot of them out there. It makes me question why, and how the "solution" is implemented behind the scenes.


Solution 4 (generic): Download a full-blown tweaking program that "fixes" the problem. Examples include Entech's PowerStrip and is very professional, well-documented, and very powerful.
  • Benefits
  • Very comprehensive tool with a high rate of success
  • Documented well, supported by an actual company
  • Quite a quality generic solution for all chipsets
  • Drawbacks
  • Overkill for a mere refresh rate fix
  • Not free; shareware download is available but supposedly must register after a certain period of time.


Solution 5 (Vic's preferred solution): Go into the registry and fix it with NVIDIA's compressed mode strings. The documentation is here (as of this writing, current latest version of drivers is 44.03 and manual revision is 2.1). The latest version can always be found in the driver section of NVIDIA's official website. It works by having you eliminate the lowest undesired refresh rates from your monitor's selection, forcing the system to pick your desired value.

  • Benefits
  • 100% success rate (for me, anyways)
  • Well-documented, easy for any moderate power user
  • Free solution, supported by the chipset developers
  • Drawbacks
  • Difficult solution for novices; involves "hacking" around in the system registry (risks screwing up the system).
  • Requires patience and reading a manual.
  • Latest driver versions are required (and driver updates can be a side track).


Back to the Entry Listing



Win2K/XP 60Hz refresh issue: ATI Radeon chipsets

Problem: Resolution change (particularly for 3D games) causes the refresh rate to fall back to 60Hz. This can cause severe frame rate drops when vertical sync (vsync) is enabled and screen tearing if the potential frame rate is higher than 60fps and vsync is disabled. The general consensus between users is that 60Hz is also an eye-strain.

Note: Some of the solutions presented below are generic and can be applied to all chipsets. These will be noted below.

Update: Newer drivers (i.e. Catalyst ~3.6 and higher) can force refresh rates easily by choosing the Monitor button in the "Displays" tab in advanced display properties. If your desired in-game refresh rate cannot match your desktop refresh rate (thus making it unavailable), force it to the highest possible, and use DXDIAG to override the refresh rate for Direct3D games, and the registry key "OGLForceRate" (search for this within your registry, it should be under your video card's GUID) to your matched refresh rate. As usual, take caution when editing the registry. The remaining methods below are listed for historical purposes only.

Solution 1 (generic): Leave it alone. See this portion of my Tech Log for details.

Solution 2 (generic): Lock the refresh rate for all DirectX games (you do have DirectX installed, right?). See this portion of my Tech Log for details.

Solution 3 (Vic's preferred solution): Go into the driver panel and lock the refresh rate for DirectX and OpenGL games. Click the start button, Settings, Control Panel, Display. Choose the Settings tab, click the "Advanced..." button, choose the "ATI Displays" tab, select "Monitor" and in the DirectX Override Refresh Rate drop-down list, choose a valid refresh rate. Supposedly the drop-down list works for both DirectX and OpenGL games and the label title is merely a typo.
  • Benefits
  • High success rate of working
  • Embedded directly in the driver panels
  • Works for both DirectX and OpenGL games
  • Refresh rates are usually safe values
  • Drawbacks
  • Refresh rate selection is limited to those currently available to your desktop resolution (or same as desktop)


Solution 4: Download a small program that "fixes" the problem. There is actually a community-based utility called Rage3D Tweak that supposedly fixes the problem and offers an abundance of Radeon-specific adjustments for power users.
  • Benefits
  • High success rate of working
  • Community-supported tool, updated occasionally
  • Free download
  • Comprehensive tool for other uses
  • Drawbacks
  • Like most tweak tools, this can be overkill for a refresh rate fix.
  • Interface is annoying with the multitude of "skins" (i.e. somewhat unprofessional surface).
  • Loads stuff into memory that is largely unnecessary for refresh rate fixes.


Solution 5: Go into the registry and fix it yourself. It works (and well, I must add), but there are driver bugs or buffer overflows that stop this from being a full-proof solution. Details to be posted.
  • Benefits
  • High success rate of working
  • Very controllable; great for power users
  • Drawbacks
  • Buffer limits cause problems with refresh rate restrictions
  • Requires registry work; can potentially blow up the operating system.


Back to the Entry Listing





Valid XHTML 1.0! Valid CSS 2.0!
© Copyright 2002-2005 Victor Chow.