XNA 4.0配备英特尔GMA 3150显卡

时间:2011-09-11 12:43:13

标签: xna xna-4.0

我有一台带有英特尔GMA 3150显卡的华硕Eee PC,操作系统是Windows 7 Starter,并且安装了DirectX 11。

当我运行使用XNA 4.0的项目时,我在graphics.ApplyChanges()得到以下异常:

Microsoft.Xna.Framework.Graphics.NoSuitableGraphicsDeviceException was unhandled
  Message=Could not find a Direct3D device that supports the XNA Framework HiDef profile.

Verify that a suitable graphics device is installed.

Make sure the desktop is not locked, and that no other application is running in full screen mode.

Avoid running under Remote Desktop or as a Windows service.

Check the display properties to make sure hardware acceleration is set to Full.
  Source=Microsoft.Xna.Framework.Game
  StackTrace:
       at Microsoft.Xna.Framework.GraphicsDeviceManager.FindBestPlatformDevice(Boolean anySuitableDevice)
       at Microsoft.Xna.Framework.GraphicsDeviceManager.FindBestDevice(Boolean anySuitableDevice)
       at Microsoft.Xna.Framework.GraphicsDeviceManager.ChangeDevice(Boolean forceCreate)
       at Microsoft.Xna.Framework.GraphicsDeviceManager.ApplyChanges()
       at XY.Game..ctor(IntPtr drawSurface, Int32 Width, Int32 Height) in XY.cs:line 55
       at XY.Program.Main(String[] args) in XY\Program.cs:line 11
  InnerException:

据我所知,我的显卡支持XNA Framework的所有要求。那有什么不对?

2 个答案:

答案 0 :(得分:5)

英特尔GMA 3100和3150仅支持XNA中的Reach配置文件。

此外,您可能必须重构一些代码,因为在设置要在“属性”中访问的配置文件后,您可能会遇到一些编译错误。

要特别注意的事项:

  • 您的硬件仅支持Shader Model 2.0。如果您使用的是任何3.0着色器,则需要针对VS_2_0和PS_2_0

  • 进行编译
  • 您不能使用某些纹理表面格式。

  • 一次只能绘制一个渲染目标(因此这里没有花哨的延迟渲染)

Here's a list比较支持Reach个人资料的内容。

(顺便说一句,你的硬件无法直接运行DirectX 11,它只能使用参考设备,并且运行速度非常慢)

答案 1 :(得分:2)

您应该尝试将XNA配置文件从HiDef更改为Reach 您可以通过右键单击项目找到该设置 - >特性