• DirectX problem

    Author
    Topic
    #464271


    Hi Everyone,
    Firstly thanks to everyone who worked so hard to resurrect this forum.
    This is my first post and I’m looking for a solution to a very tricky problem I have been trying to fix myself for the last 6 months. Although not a computer professional I do have a good working knowledge of computers and some programming skills, mainly making 2D games with Delphi7 and DirectX. I can usually fix most computer problems for friends and family. You may find this post on other tech forums where I have posted without finding a solution. This is certainly a much wider audience than other forums I’ve tried so here’s hoping

    When I run any of mine or my programmer friends 2D games programmed with DirectX they run slow but only on my machine. Games designed to run at 25 FPS run at 21 FPS. My latest game designed to start in level 1 at 20 FPS and increment in a linear progression to 40 FPS in level10 starts at 16 FPS jumps to 21 FPS then another jump to 24 FPS and a final jump around level 8 to 32 FPS.
    This only happens on my machine. Every other machine I and my friends and family have tested these games on runs the games at the designed speeds.
    I am unable to say when the problem started. I only noticed it because in my current game project the speed is critical.
    My machine is 18 months old. The specs are
    Athlon 64X2 6000+ AM2 Dual Core CPU
    Gigabyte GA-MA770-DS3 rev1
    Asus EN7200GS 256M PCIE
    Windows XP SP3
    In an attempt to fix the problem I have done the following without success.
    Checked that I have the latest BIOS version. Also the latest DirectX 9c and graphics drivers.
    Upgraded XP from SP2 to SP3.
    Tried an AMI Radeon graphics card in place of my Nvidia card.
    Put a clean install of XP on a separate hard drive with only the graphics drivers installed.
    All to no avail.

    I found one workaround a few months back. I ran the Windows DirectX Diagnostic Tool dxDiag and after it finished and found no problems left it open. All the games then run at their designed speed. Close dxDiag and the problem returns.
    I also accidentally found another workaround. I had been watching a video on YouTube and after it finished left FireFox open at the page. The games run at the correct speed. Close the YouTube page and the speed problem is back.

    Beats me why these two workarounds fix the problem. Is dxDiag and YouTube loading their own drivers? If so where can I find them? Anyone have any other ideas?

    Oh one other thing. My old P III 98SE machine runs the games OK and Windows7 RC dual boot with XP runs the games perfectly.

    Thanks for any help
    Barberic

    Viewing 8 reply threads
    Author
    Replies
    • #1187735

      That IS strange…sounds more like an OS problem than anything else. Have you tried reinstalling Windows?

    • #1187744

      Yes. I have tried a clean install of XP on a separate drive with only the graphics drivers loaded. This did not fix the problem.

      • #1187768

        Yes. I have tried a clean install of XP on a separate drive with only the graphics drivers loaded. This did not fix the problem.

        I would try uninstalling the graphics drivers first THEN do a “clean” installation of Windows, and update Direct X at that time…everything “new” That should fix the problem, and if it doesn’t, try a different graphics card… or visa vera…time to go to bed!

      • #1187982

        Yes. I have tried a clean install of XP on a separate drive with only the graphics drivers loaded. This did not fix the problem.

        You seem to have done most everything possible with the software. It would appear that you have a hardware problem. Have you tried the graphics card in a different slot?

        Joe

        --Joe

    • #1188347

      It would appear that you have a hardware problem. Have you tried the graphics card in a different slot?

      I agree it would have to be a hardware problem. There is only one PCI-E slot on the mobo so I can’t try your idea. What I haven’t tried and your idea just gave me a clue, is to try an old PCI graphics card if it will work. I can take the one out of my other machine which is an old PIII and still has 98SE on it but at least it runs the games at their designed speeds. I’ll let you know what happened in a short while.

      Eric

    • #1188405

      In short the PCI graphics card didn’t fix the problem.
      As soon as I opened the case on the old machine I realized this wasn’t going to work as that has an AGP slot and my XP machine doesn’t. However in the deep dark depths of my old computer junk I found a Skywell Magic Twin Power PCI card and to my surprise the CD had Win NT drivers. After a bit of fiddling I got the thing to work but no luck, the speed problem is still there. The only thing left now is the motherboard and changing that isn’t going to happen anytime soon. But there again why does everything work on the same hardware running Windows 7? It appears to be some combination of XP, the mobo and the CPU.

      Eric

      • #1188427

        In short the PCI graphics card didn’t fix the problem.
        As soon as I opened the case on the old machine I realized this wasn’t going to work as that has an AGP slot and my XP machine doesn’t. However in the deep dark depths of my old computer junk I found a Skywell Magic Twin Power PCI card and to my surprise the CD had Win NT drivers. After a bit of fiddling I got the thing to work but no luck, the speed problem is still there. The only thing left now is the motherboard and changing that isn’t going to happen anytime soon. But there again why does everything work on the same hardware running Windows 7? It appears to be some combination of XP, the mobo and the CPU.

        Eric

        Could be there is a bug in the chipset inf file for XP.

        Joe

        --Joe

    • #1188516

      This thread looks interesting…Try downloading ATITool. http://www.techpowerup.com/atitool/
      When it runs, on the bottom left click ‘Show 3D View’ and ‘Scan for Artifacts’.
      I’d let it run for about 10-15 minutes. If the card it faulty it should pick up on it almost instantly. You can also keep track of the temps using this.
      This will rule out the graphics card as the problem.

    • #1188963

      Could be there is a bug in the chipset inf file for XP.

      Joe, that’s something I have not heard of before. Do you know how I can check this or maybe replace the file.

      Try downloading ATITool.

      That’s a nice tool Mike. Without changing any settings on the card, it’s not overclocked, I let the Artifacts scan run for 20 minutes. No problems reported.
      In 3D view, frame rate around 64 with some jumpiness. On the NVIDIA control panel the 3D preview runs nice and smooth. GPU temperature stabilized at 70oC.
      I presume the graphics card is OK. Also I think I already ruled out the card when I tried a brand new Radeon card at my favorite computer shop and then the old PCI card.

      Eric

      • #1189000

        Joe, that’s something I have not heard of before. Do you know how I can check this or maybe replace the file.

        You’d have to get an update from the motherboard vendor.

        Joe

        --Joe

    • #1189233

      Hello again Mike and Joe,
      Good news, I have identified the problem and that’s half way to a fix.

      The problem is with the Windows system timer. On my XP system the minimum timer resolution is 15.625 milliseconds, it should be approximately 1 millisecond. I found this using a program LP_TimerTest from here. An interesting article even if you don’t sign up to allow you to download the program.
      Running the form timer interval test set to 40 milliseconds gives an actual result of 47 milliseconds. 1000/47 = 21 frames per second which is what the games run at with this designed speed when it should be 25 FPS. A test at 50 milliseconds returns a result of 62.5 milliseconds, 1000/62.5 = 16 frames per second, again confirming the actual game speed against the designed speed of 20 FPS. Likewise a 25 milliseconds test confirming an actual 32 FPS against 40 FPS designed.

      Running dxDiag or a web page with a Flash movie or advert or even running Windows Media Player fixes the problem while any of these are running. The reason is that all these programs temporarily change the Windows system timer resolution globally to approx 1 millisecond. This makes all other programs using the Windows system timer run better. I don’t know why this is only on my XP machine, no one else seems to have the problem. Windows Vista and Win 7 apparently have better system timers but even my old Win98 SE machine runs the games at their designed speed.

      I haven’t been able to test all this on another XP machine that doesn’t have the problem. I will have to go over to my son’s place to try that. Also the LP_TimerTest program won’t run on Win98 SE.

      It seems the solution may be to programatically change the Windows system timer resolution using Windows API calls to temporarily set the system timer resolution to 1 millisecond.

      I haven’t yet done a little test program but I have found some Delphi code which gives me some clues about the appropriate Windows APIs to use.

      Thanks for taking an interest in this problem. I’m hoping I can progress to a fix.

      Eric

    • #1190277

      If it is a timer issue you could try this, but I dont think directx should be having timer issues with its own code.
      http://support.amd.com/us/Pages/dynamicDetails.aspx?ListID=c5cd2c08-1432-4756-aafa-4d9dc646342f&ItemID=153

      You can go here to be sure that you have the latest version of directx installed.
      http://www.microsoft.com/downloads/details.aspx?FamilyID=2DA43D38-DB71-4C1B-BC6A-9B6652CD92A3&displaylang=en

    • #1190405

      I think I’ve found the fix here http://www.xtremesystems.org/forums/showthread/?t=81429 .
      This gives detailed instructions on how to install the AMD X2 drivers, Microsoft hotfix, and the AMD Dual-Core Optimizer the correct way.
      I have some more testing to do but the game that first brought this to my attention now runs at the correct speed.

      I had installed the AMD Dual-Core Optimizer back in May but after reading the above instructions I could see I hadn’t done the Registry changes and this was the crucial bit.

      The Microsoft Hotfix mentioned in the article is not needed if you have XP SP3 installed. The download link to it in the article is also broken so if you need it you have to get it from Windows Update (KB896256).

      Thanks everybody for your very useful help. No one on any other forum has ever come close to suggesting a fix.

      Eric

      • #1190571

        I think I’ve found the fix here http://www.xtremesys…ead.php?t=81429 .
        This gives detailed instructions on how to install the AMD X2 drivers, Microsoft hotfix, and the AMD Dual-Core Optimizer the correct way.
        I have some more testing to do but the game that first brought this to my attention now runs at the correct speed.

        I had installed the AMD Dual-Core Optimizer back in May but after reading the above instructions I could see I hadn’t done the Registry changes and this was the crucial bit.

        The Microsoft Hotfix mentioned in the article is not needed if you have XP SP3 installed. The download link to it in the article is also broken so if you need it you have to get it from Windows Update (KB896256).

        Thanks everybody for your very useful help. No one on any other forum has ever come close to suggesting a fix.

        Eric

        You’re welcome. Glad you found a resolution. Thanks for posting back.

        Joe

        --Joe

    Viewing 8 reply threads
    Reply To: DirectX problem

    You can use BBCodes to format your content.
    Your account can't use all available BBCodes, they will be stripped before saving.

    Your information: