2010-11-21 4 views
3

저는 CNA에서 XNA를 사용하여 게임을 개발하고 사용하지 않는 경우의 성능에 대해 궁금합니다. 2D 텍스처 대신 PictureBox를 사용할 수 없습니까? 게임용 Windows Form 프로그래밍과 함께 실행하는 것이 가능합니까 아니면 XNA가 최상의 솔루션입니까? 장점/단점?C# : XNA 대 XNA (성능)

+0

단순히 2D 게임 XNA는 배우기 쉽고 멋지다. 하지만 정말 큰 3D 게임을 만들고 싶다면 더 나은 성능을 제공하는 [Unity] (http://unity3d.com/unity/)와 같은 다른 프레임 워크를 권장합니다. – harry180

+1

단결은 XNA와 같은 프레임 워크가 아니라 " 도구 " –

답변

10

게임이 복잡할수록 WinForms 개발이 지속 가능성이 낮아집니다. XNA는 그런 종류의 것을 지향하고 있습니다. 왜 사용하지 않을까요?

"Windows Phone 7, XBOX 360 및/또는 Windows 바탕 화면에서 게임을 실행하고 싶습니까?" 당신의 대답이 '예'라면 XNA를 배우십시오. 가장 좋은 점은 이러한 다양한 플랫폼을 목표로 삼을 수있는 대부분의 작업이 있다는 것입니다.

Hanselminutes Podcast 240 - Developing Indie Games for Xbox 360 and XNA with George Clingerman 주제의 Scott Hanselman이 최근 Podcast를 듣는 것이 좋습니다.

8

게임의 그래픽 복잡성에 따라 다릅니다.
좋은 그래픽으로 하이 엔드 게임을 만들 수있는 훌륭한 라이브러리를 배우려면 XNA를 사용하십시오. 그것은 당신의 취향에 더 많은 다양성을 열 것입니다.
그러나 비 스크롤링, 테트리스 또는 솔리테어 게임을 만들고 싶다면 더블 버퍼링 된 .NET 컨트롤이 트릭을 수행 할 수 있습니다.

3

최상의 성능을 원하는 경우 C# 또는 XNA를 전혀 보지 않아야합니다. 더 낮은 수준에서는 더 잘 이해할 수 있습니다. 그러나 더 낮은 레벨은 적은 결과로 프로그래밍에 더 많은 시간을 할애한다는 것을 의미합니다.

XNA는 게임 프로그래밍을 쉽게하기 위해 개발되었습니다. 그것은 지루한 저수준 코딩을 많이 필요로하며 우리가 호출 할 수있는 간단한 간단한 방법으로 마무리하여 매우 강력한 프레임 워크를 사용하면서 휠 재발생에 대처할 필요가 없습니다.

게임을 만드는 데 관심이 있다면 XNA를 사용하는 것이 좋습니다. 나는 당신이 대안보다 훨씬 더 즐겁게 보낼 것이라고 생각합니다.

+0

나는 downvote 나를 재미있게 알아,하지만 그것을 계속하는 사람들이 좀 추론을 제공 할 수 있을까요? 학습을 제공 할 수 있다면 귀하의 투표 경험을 학습 경험으로 삼고 싶습니다. 감사합니다.) –

+0

마이크, 제 생각에는 첫 문장이 잘못된 길을 건너 왔습니다. 사실, 내가 그것을 읽었을 때 거의 C++이 결국 언급 될 것을 기대하고있었습니다. :) 그럼에도 불구하고, 나는 당신의 응답에 전반적인 문제가 보이지 않기 때문에 그 downvote를 상쇄시키는 +1이 있습니다! –

+0

감사! 미안해. 나는 그것을 다시 읽었으며 너무 극적이다.내 요점은 C#이나 XNA를 강타하지 않았기 때문에 그런 식으로 받아 들여지면 유감스럽게 생각합니다. 성능면에서 관리되는 코드는 원래 의도했던 것보다 많은 오버 헤드가있을 것입니다. Ahmad의 머리에 감사 드리며 다음 번에 더 명확하게하려고 노력할 것입니다! –

6

XNA를 사용하십시오.

XNA는 "즉시"스타일의 API입니다 : 제외 크게 더 나은 성능, 더 나은 지원 플랫폼 (X 박스 360, 윈도우 폰), 사운드 및 입력 처리 같은 다른 API의 쾌적있는에서, 하나의 매우 중요한 이유가 (유지 된 것과 반대, this description 참조).

이 유형의 API를 사용하는 게임을 개발하는 경우는 이 크게입니다. 그 이유는 너무 많은 detial에 빠지지 않고 유지 된 API에서 외부 장면이 게임 상태와 동기화되어 있어야한다는 것입니다. 이것은 지루하고 버그가 발생하기 쉽다 (나를 믿어 라.).