Tuesday, September 20, 2005

Adventures in Concurrency: Fix for Stuttering Apps!

So I downloaded the DX9 August SDK and started having a look at some of the samples.

It helps to realize early on that trying to build the samples using the release candidate of Visual Studio 2005 acquired at the PDC (this is a sweet IDE) won't go off without a hitch. Though there are VS2005 solutions included in some of the samples, the UI toolkit they use to do a lot of the UI legwork references the wrong version of the .NET Framework (900). Tearing out the DirectX, Direct3D, and Direct3DX references, and replacing them with references to their respective 12xx equivalents seems to solve the problem.

Anyway, when I got the BasicHLSL sample to build, I ran it and saw constant stuttering. The timer in the UI was jumping back and forth in time. So, having already had problems with stuttering in Firefox and, the other day, Painkiller, and having solved both those problems by setting those processes' CPU affinities to a single CPU, I reasoned that the same thing was going on with this DirectX sample.

A bit of Googling turned up an article on MSDN about the QueryPerformanceCounter sometimes suffering from BIOS problems on multiprocessor computers. Further Googling schooled me in a problem with AMD's Cool 'n' Quiet technology.

Went to ABIT and upgraded my BIOS, and guess what? Problems solved. Firefox & Direct3D samples -- no stuttering.

So FYI, BIOS version 17 for the ABIT Fata1ity AN8 SLI cured the problem. I suppose it's just coincidence that the release notes for that version indicate a fix for the Cool'n'Quiet technology.

Oh, and might I add that the FlashMenu utility that ABIT dishes out is quite helpful: first time I ever flashed BIOS from within Windows. It even has connectivity to the ABIT website for finding, downloading, and installing the latest version automatically. Very cool. Happy with this board I am.

UPDATE: Ignore everything! Woke up this morning and the PC is back to its old ways. Rrrr.


Post a Comment

<< Home