Для рисования графики на платформе WinCE, какой язык быстрее: MFC VC ++ или C # - PullRequest
1 голос
/ 07 сентября 2010

Мне нужно рисовать обширную графику в реальном времени на платформе WinCE. Для этого какой язык лучше использовать между VC ++ и C #, чтобы получить высокую производительность? Более того, графическое приложение, которое мы будем разрабатывать, должно быть связано с существующими модулями c ++. Если написание промежуточного слоя требует больших усилий, если мы выбираем c #, то мы бы не выбрали его. Просьба учитывать это также.

Ответы [ 3 ]

1 голос
/ 07 сентября 2010

Возможно, вы захотите совершать прямые вызовы в GDI, поэтому не имеет значения, какой язык вы используете, поскольку фактическое действие происходит в GDI dll.

Однако, если вы также хотите взаимодействовать с библиотеками C ++, вам лучше использовать VC ++, тесно связанный. В противном случае вам нужно иметь обертки для общения между C # и C ++, что накладно для таких задач, как рисование графики.

Обратите внимание, что я говорю о C #, а не о C # в .Net Framework.

1 голос
/ 07 сентября 2010

Ни при каких условиях C # не работает быстрее, чем C ++.Они могут быть одинаковыми в лучшем случае.И поскольку вы должны использовать библиотеки C ++, есть победитель сомнения, C ++: -)

0 голосов
/ 07 сентября 2010

Вы, кажется, отвечаете на свой вопрос.Он сильно загружен тем, что предпочтение отдается c ++.

Если вы выбрали c #, тогда да, вам придется писать обертки и следить за всеми преобразованиями типов (вместе со всем тестированием), прежде чем начинать расширять свою функциональность..

зачем вам такая высокая графическая производительность, что возникает вопрос c ++ vs c #?

В основном вы смотрите на переход в directx или opengl, если вы используете c ++ против xna на c #.

Поскольку ваша кодовая база уже c ++, кажется, что ваш опыт будет там, и поэтому переход на c # нелегок, чтобы привести к какому-либо увеличению производительности в fps или времени разработки.

c ++ всегда будетПотенциал для выполнения быстрее ... недостатком является то, что затраты на разработку выше, поскольку он делает меньше для вас автоматически.компромисс для c # заключается в том, что если вы хотите вернуть эту производительность обратно, вы должны действительно планировать заранее в ситуациях, когда у вас есть большое количество объектов, которые создаются и удаляются.

...