none
Testing DirectDraw, Direct3d AGP Texture Acceleration

    Question

  • What DirectX calls do I use to test to see if:

    1. DirectDraw Acceleration is enabled
    2. Direct3d Acceleration is enabled
    3. AGP Texture Acceleration is enabled

    If either DirectDraw Acceleration or Direct3d Acceleration are disabled then the code below fails:

     

    LPDIRECT3D8 pD3D;

    if (FAILED(pD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL,

    m_hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &pDevice)))

    return;

     

    I need three independent tests.

    Tuesday, May 29, 2007 3:30 PM

Answers

  •  

     

    Some of the 3rd party remoting software installs a mirror driver that disables DirectX acceleration.  If you can uninstall that software it might help.

     

    If you run DXDIAG, it should tell you what driver is installed.  If the name of the driver sounds like something related to the remoting software, or at least does not have ATI in the name, I'd try to get rid of it.

     

    Reinstalling or upgrading to the latest ATI driver for your hardware might help.

     

    There are a few reg keys that can disable DDRAW and D3D, you can check them, but I doubt it's the problem:

     

          HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectDraw

                EmulationOnly = 1 (DWORD value)  <===Remove or set to zero to get acceleration again

     

          HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Direct3D\Drivers

                SoftwareOnly = 1 (DWORD value)    <===Remove or set to zero to get acceleration again

     

          HKEY_LOCAL_MACHINE\CurrentControlSet\Control\GraphicsDrivers\DCI

                Timeout = 0 (DWORD value)    <=== set to 7 to get acceleration again, requires reboot.

     

    -Olan Hanley

    DirectX

    Friday, June 22, 2007 1:51 AM

All replies

  • Direct3D acceleration requires DDRAW acceleration, so there is no independent test.  (Even though newer D3D interfaces are not built on top of the DDRAW APIS, but they still depend on the DDRAW DDIs.   You must have DDRAW acceleration to get D3D acceleration) 

     

    You can still have DDRAW acceleration without D3D acceleration, so the D3D8 CreateDevice test is useful.

     

    DirectDraw’s GetCaps() call has a DDCAPS_NOHARDWARE flag that will be set if you are running in emulation.

    There’s also a DDCAPS2_NONLOCALVIDMEM that indicates AGP (or some form of non-local video memory) is supported.  I would follow this up with a GetAvailableVidMem() call asking for non-local video memory to be certain it’s really available.  I’ve seen buggy drivers set the NONLOCALVIDMEM cap, but then not actually report any memory.  (Most common when running on older PCI adapters.)

     

    Olan Hanley

    DirectX

    Friday, June 08, 2007 7:15 PM
  • Hello,

    i may be not at the rigth place with this question but PLEASE HELP ME!!

    You seem to know a lot about DirectDraw, Direct-3D and AGP acceleration. Please don't think i didn't search for an answer before asking you. Because I did, the whole google, i think.

    since few month i have symptoms:
    My DirectDraw, Direct-3D and AGP acceleration are not availible (according to dxdiag);
    most 3D applications won't work, saying: Hardware acceleration not availible;
    newest video codecs don't work properly: there is no smoothing (everything in squares)
    system information utilities (Everest) showing max AGP speed 4x while it was 8x earlier.

    Possible reason: while installing a free, poor-quality software for watching TV video-streams on the internet. The screen was flickering during the installation. After that i noticed the sympthoms. It also may be caused by one of a few remote desktop applications that i was testing some time ago.

    Tried solutions:
    Almost everything http://support.microsoft.com/kb/191660 says;
    disabling / re-enabling: video-device, hardware acceleration, combined writing;
    uninstalling / re-installing / updating: video-codecs, remote-desktop software, DirectX, ATI video card drivers, Intel chipset drivers;
    Increasing virtual memory;
    searching WIN.INI, BIOS and system registry for related options.

    i heard something about that directdraw could be "redirected??", found nothing related. Is there may be a hotfix? registry change? or something.. I WOULD BE GREATLY THANKFUL if you could help me, at least point a finger on someone who can.

    sys: AcerTM 8005LMi laptop, Centrino 1.8ghz, 512mb, ATI Radeon 9700 mobile 128mb 8xAGP, Intel 855GME Chipset, XP-pro sp2, DX9c june2007,
    Saturday, June 09, 2007 2:40 PM
  •  

     

    Some of the 3rd party remoting software installs a mirror driver that disables DirectX acceleration.  If you can uninstall that software it might help.

     

    If you run DXDIAG, it should tell you what driver is installed.  If the name of the driver sounds like something related to the remoting software, or at least does not have ATI in the name, I'd try to get rid of it.

     

    Reinstalling or upgrading to the latest ATI driver for your hardware might help.

     

    There are a few reg keys that can disable DDRAW and D3D, you can check them, but I doubt it's the problem:

     

          HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectDraw

                EmulationOnly = 1 (DWORD value)  <===Remove or set to zero to get acceleration again

     

          HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Direct3D\Drivers

                SoftwareOnly = 1 (DWORD value)    <===Remove or set to zero to get acceleration again

     

          HKEY_LOCAL_MACHINE\CurrentControlSet\Control\GraphicsDrivers\DCI

                Timeout = 0 (DWORD value)    <=== set to 7 to get acceleration again, requires reboot.

     

    -Olan Hanley

    DirectX

    Friday, June 22, 2007 1:51 AM
  • Dear Olan Hanley,

    THANK YOU SO MUCH!!!

          HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers\DCI

    Timeout vaue was set to 0, i changed it to 7 and rebooted just like you wrote, and... everything works just perfectly again!!!


    Thank you thank you thank you! And thank god that you exist on this planet. I wish you a fine day and a fine life!


    Slava


    Monday, June 25, 2007 12:23 AM