SlimDX против SDL - что лучше? - PullRequest
1 голос
/ 13 июня 2011

Для тех, кто имеет опыт работы с VB.NET, проще использовать SlimDX или SDL? Учебные руководства для SlimDX уже написаны для .NET, но я читал, что SDL намного проще, чем сам DirectX. В моем случае мне просто нужна 2D-графика.

Кроме того, какой язык вы рекомендуете. Я обычно использую VB.NET, но, вероятно, большинство учебных пособий по Интернету написано на C #, и я не думаю, что будет сложно изучить его, поскольку я знаю C и PHP. :)

Ответы [ 4 ]

1 голос
/ 15 июня 2011

Чтобы ответить на вторую часть вопроса:

VB.NET и C # в большинстве случаев одинаковы.

Они компилируются в один и тот же код конца и имеют одинаковую производительность (если вы измените проверку переполнения для каждого на совпадение). Вот некоторые из отличий:

VB.NET

  • без учета регистра
  • Более многословно, чем C #
  • Унаследовав плохую репутацию от своих предшественников BASIC, многие программисты (в основном, C ++, я думаю), похоже, смотрят на VB.NET как на низшие.
  • Реже используется, чем C #
  • Имеет "With ... End With", что я действительно желаю, чтобы C # имел.
  • По умолчанию включена проверка на переполнение
  • "Мое" пространство имен

C #

  • Чувствительный к регистру
  • Немного худшее удобство использования. Используя C # и VB в VS08, я обнаружил, что C # intellisense намного менее интеллектуален.
  • C # требует от вас гораздо большего приведения типов данных, хотя это обеспечивает большую гибкость.
  • Более популярно
  • Тесно связан с другими языками, такими как Java
  • Имеет несколько вещей, которых нет у VB, например, ключевое слово unsafe.
  • / * Простые многострочные комментарии * /
  • По умолчанию отключена проверка переполнения
  • Нет "Моего" пространства имен

Существует очень немного сценариев, в которых было бы важно выбрать VB.NET или C #, основные различия заключаются просто в синтаксисе, а также в том, что многие программисты склонны считать VB.NET «низшим». (Я думаю, это просто язык программирования, но, к сожалению, так оно и есть)

Тем не менее, вероятно, стоит перейти с VB.NET на C #, потому что:

  • Изменение не будет слишком сложным, поскольку они во многом одинаковы
  • Изучение другого языка всегда хорошая вещь
  • Как вы сказали, в C # доступно больше учебных пособий, которые сэкономят вам перевод кода
  • С точки зрения карьеры, возможность сказать, что вы сделали что-то на C #, будет полезна

Почему бы не дать ему раскрутиться? Единственный недостаток, о котором я могу подумать, это то, что вы изучаете две вещи одновременно (SDL / SlimDX + C #), но на самом деле C # очень прост.

1 голос
/ 15 июня 2011

SDL может быть проблемой для пользователей со старыми видеокартами, которым не хватает приличного ускорения OpenGL.Оболочки .NET для SDL в прошлый раз, когда я проверял, тоже устарели.

Когда я искал достойную 2D-аппаратную ускоренную библиотеку для своих проектов .NET, я использовал библиотеку Gorgon.Он основан на SlimDX и нацелен на то, чтобы сделать SlimDX более объектно-ориентированным и более простым в использовании для 2D-приложений.

Он поддерживает рендеринг для любого элемента управления, который вы хотите, вы можете свободно смешивать его с компонентами Windows Forms.Производительность в основном такая же, как у SlimDX, так как по сути это оболочка SlimDX.

Вот несколько ссылок, если вам интересно:

0 голосов
/ 15 июня 2011

SlimDX - библиотека относительно низкого уровня.Это дает вам доступ ко всем возможностям DirectX, и вы можете использовать как старое, так и старое оборудование.Это также означает, что сложно что-то настроить, и вам нужно гораздо больше кода для рисования простых вещей, таких как спрайты и текст.

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

0 голосов
/ 14 июня 2011

Вероятно, стоит отметить, что VB теперь поддерживает XNA framework:

Руководство по началу работы: http://create.msdn.com/en-US/education/gamedevelopment/VBSupportForXNA

...