Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

A DirectX 9.0 application crashes on a computer that has more than 16 logical processors configured


View products that this article applies to.

Symptoms

You configure more than 16 logical processors on a computer that is running one of the following operating systems:
  • Windows XP Service Pack 3 (SP3)
  • Windows Vista Service Pack 2 (SP2)
  • Windows Server 2008
  • Windows Server 2008 SP2
  • Windows 7
  • Windows Server 2008 R2
When you run a DirectX 9.0 application on this computer, the application crashes.

For example, you play a music file in Microsoft Windows Media Player. When you try to close Windows Media Player, the application crashes.

↑ Back to the top


Workaround

Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 How to back up and restore the registry in Windows
To work around this issue, you can use one of the following methods to create or to modify a registry key that will change the processor-specific graphics pipeline settings.

Setting the number of logical processors that use processor specific graphics pipeline(PSGP)

To have us set the number of logical processors that use processor specific graphics pipeline(PSGP) for you, go to the "Fix it for me" section. If you'd rather number of logical processors that use processor specific graphics pipeline(PSGP)yourself, go to the "Let me fix it myself" section.

Fix it for me

To set the number of logical processors that use processor specific graphics pipeline(PSGP)to 16 automatically, click the Fix this problem link. Then click Run in the File Download dialog box, and follow the steps in this wizard.




Note This automatic fix sets the number of logical processors that use processor specific graphics pipeline(PSGP) to 16.

Note This wizard may be in English only; however, the automatic fix also works for other language versions of Windows.

Note If you are not on the computer that has the problem, you can save the automatic fix to a flash drive or a CD so that you can run it on the computer that has the problem.

Let me fix it myself

  1. Click Startstart button , type regedit in the Search programs and files box, and then press ENTER.
  2. Locate and then click the following registry subkey:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Direct3D
  3. On the Edit menu, point to New, and then click DWORD Value.
  4. Type PSGPNumThreads, and then press ENTER.
  5. Right-click PSGPNumThreads, and then click Modify.
  6. In the Value data box, type the number of threads that you want to use, and then click OK.
  7. Restart the computer to apply the change.
Note
  • If you are running a 32-bit application on an x64-based computer, you must add the following registry subkey in addition to the registry entry that is described earlier in this section:
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Direct3D
    Then, set PSGPNumThreads to the number of threads that you want to use.
  • The number of threads should not exceed the number of the logical processor that supports up to a maximum number of 16 threads.

Disable the processor specific graphics pipeline

To disable the processor specific graphics pipeline yourself, follow these steps:
  1. Click Startstart button , type regedit in the Search programs and files box, and then press ENTER.
  2. Locate and then click the following registry subkey:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Direct3D
  3. On the Edit menu, point to New, and then click DWORD Value.
  4. Type DisablePSGP, and then press ENTER.
  5. Right-click DisablePSGP, and then click Modify.
  6. In the Value data box, type 1, and then click OK.
  7. Restart the computer to apply the change.

↑ Back to the top


Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Did this fix the problem?

  • Check whether the problem is fixed. If the problem is fixed, you are finished with this section. If the problem is not fixed, you can contact support.
  • We would appreciate your feedback. To provide feedback or to report any issues with this solution, please leave a comment on the "Fix it for me" blog or send us an email message.

↑ Back to the top


More Information

For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates

↑ Back to the top


Keywords: kb, kbtshoot, kbexpertiseinter, kbexpertisebeginner, kbsurveynew, kbfea, kbfixme, kbmsifixme

↑ Back to the top

Article Info
Article ID : 982485
Revision : 3
Created on : 4/18/2018
Published on : 4/19/2018
Exists online : False
Views : 610