2011-10-30 3 views
0

XNA 프레임 워크를 사용하여 간단한 2D 게임을 개발하고자합니다. 특히 넷북으로 이동 중에도이 게임의 일부를 개발하고 디버그 할 수 있기를 바랍니다. 불행히도 내 netbook의 GPU는 XNA에 필요한 Shader Model 2.0을 지원하지 않습니다.로우 엔드 그래픽 카드에서 XNA 실행

나는 좌절감을 가지고 Google에 대안을 모색했습니다. Riemers XNA Tutorial에서 한 가지 대안을 발견했습니다. 다음 코드는 XNA가 컴퓨터의 CPU를 통해 엄격하게 실행되도록하여, 저의 netbook이 XNA의 매우 느린 버전을 실행할 수 있도록합니다.

if (GraphicsAdapter.DefaultAdapter.GetCapabilities(DeviceType.Hardware).MaxPixelShaderProfile < ShaderProfile.PS_2_0) 
      graphics.PreparingDeviceSettings += new EventHandler<PreparingDeviceSettingsEventArgs> (SetToReference); 
    } 

    void SetToReference(object sender, PreparingDeviceSettingsEventArgs eventargs) 
    { 
     eventargs.GraphicsDeviceInformation.CreationOptions = CreateOptions.SoftwareVertexProcessing; 
     eventargs.GraphicsDeviceInformation.DeviceType = DeviceType.Reference; 
     eventargs.GraphicsDeviceInformation.PresentationParameters.MultiSampleType = MultiSampleType.None; 
    } 

위의 코드는 기본 XNA 프로젝트의 Game1 메서드에 있어야합니다.

Error 1 'XNAReferenceDevice.Game1.LoadGraphicsContent(bool)': no suitable method found to override c:\users\richard\documents\visual studio 2010\Projects\WindowsGame1\WindowsGame1\WindowsGame1\Game1.cs 39 33 WindowsGame1 

Error 2 'XNAReferenceDevice.Game1.UnloadGraphicsContent(bool)': no suitable method found to override c:\users\richard\documents\visual studio 2010\Projects\WindowsGame1\WindowsGame1\WindowsGame1\Game1.cs 46 33 WindowsGame1 

이 두 오류는 '구불 구불'는 LoadGraphicsContent 및 UnloadGraphicsContent 방법을 아래에 표시하는 선을 파란색 원인 :

문제는 내가이 새로운 프로젝트를 실행하려고하면 다음과 같은 두 가지 오류를받을 수 있습니다.

누구든지 나를이 문제를 해결하거나 다른 방향으로 가르키면 큰 도움이 될 것입니다.

미리 감사드립니다.

답변

1

XNA의 새 버전은 과거와 약간의 호환성을 잃었습니다. 아마도 Riemers 튜토리얼보다 새로운 프레임 워크와 XNA 버전을 사용하고있을 것입니다.

그러나 새로운 XNA 4.0이 최소 픽셀 쉐이더 2.0을 지원한다고 생각하십시오! 즉, 픽셀 쉐이더 1.1 만 사용하거나 로우 쉐이더 픽셀 쉐이더 2.0을 사용하는 로우 엔드 머신에서는 실행할 수 없습니다.

이전 버전 인 XNA 3.1은 최소 픽셀 쉐이더 1.1을 지원하므로 Visual Studio 2008 Express를 사용하여 다시 전환 할 수 있습니다.

미안하지만 XNA에 좋은 기계가 필요하기 때문에 더 나은 기계를 찾고 2D 그래픽을 수행해야한다고 생각합니다.

그러나 컴파일러 오류는 픽셀 쉐이더와 관련이 없지만 아마도 XNA 및 C# 버전과 관련이 있습니다.

+0

http://blogs.msdn.com/b/shawnhar/archive/2010/03/12/reach-vs-hidef.aspx 픽셀 쉐이더에 관한 Windows Phone 용 특정 규칙이있는 것 같습니다. 진절머리 나는 비디오 어댑터를 사용하는 방법 일 수도 있습니다. – jgallant

관련 문제