C #: XNA против XNA (Производительность) - PullRequest
3 голосов
/ 21 ноября 2010

Мне было интересно узнать о производительности использования XNA в C # для разработки игр и не использовать его.Могу ли я не использовать PictureBoxes вместо 2D текстур?Целесообразно ли использовать Windows Form для игр или XNA - лучшее решение?Какие-либо преимущества / недостатки?

Ответы [ 4 ]

10 голосов
/ 21 ноября 2010

Чем сложнее ваша игра, тем меньше вероятность, что разработка WinForms будет устойчивой.XNA ориентирована на такого рода вещи, так почему бы не использовать его?

Реальный вопрос, который вы должны задать себе: «Хочу ли я, чтобы моя игра работала на Windows Phone 7, XBOX 360 и / или на рабочем столе Windows??»Если ваш ответ - да, тогда изучите XNA.Лучше всего то, что он делает большую часть работы за вас, чтобы вы могли ориентироваться на эти разные платформы.

Я рекомендую прослушать недавний подкаст Скотта Хансельмана на тему: Hanselminutes Podcast 240 - Разработка индиИгры для Xbox 360 и XNA с Джорджем Клингерманом .

8 голосов
/ 21 ноября 2010

Это зависит от сложности вашей игры.
Если вы хотите изучить хорошую библиотеку, которая позволяет делать игры высокого класса с хорошей графикой, используйте XNA; это придаст вашему вкусу больше разнообразия.
Но если вы хотите создать простую игру без прокрутки, в стиле тетрис или пасьянс, двойные буферизованные элементы управления .NET могут помочь.

6 голосов
/ 21 ноября 2010

Используйте XNA. Помимо значительно лучшей производительности, лучшей поддержки платформ (Xbox 360, Windows Phone), других достоинств API, таких как обработка звука и ввода, есть одна очень важная причина:

XNA - это API "немедленного" стиля (в отличие от сохраненного; см. это описание ).

Разработка игр с этим типом API - это значительно eaiser . Причина в том, что, не вдаваясь в подробности, в том, что в сохраненном API вы должны обеспечить синхронизацию внешней сцены с состоянием вашей игры. Это утомительно и подвержено ошибкам (поверьте, я это сделал).

3 голосов
/ 21 ноября 2010

Если вы ищете наилучшую производительность, вам не следует обращать внимание на c # или XNA, чем ниже уровень, тем лучше в этом отношении. Однако более низкий уровень означает, что вы будете тратить больше времени на программирование с меньшими результатами.

XNA была разработана для упрощения программирования игр. Требуется много утомительного низкоуровневого кодирования, и мы оборачиваем его в приятные простые методы, которые мы можем вызывать, чтобы нам не пришлось заново изобретать колесо, в то же время используя очень мощную среду.

Я бы настоятельно рекомендовал, если вы заинтересованы в создании игры, используйте XNA. Я думаю, вам понравится гораздо больше, чем альтернативы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...