Почему .NET - балалайка?
От: khimiki  
Дата: 03.11.10 09:44
Оценка: -2 :)
Вот я хочу на WPF окне разместить холст, в котором мне нужно отрисовывать графику с аппаратным ускорением. И что оказывается? Оказывается, что .NET этого не умеет в том смысле, что штатного способа сделать это — нет. Ну разве не балайка этот .NET?
Re: Почему .NET - балалайка?
От: ylem  
Дата: 03.11.10 09:51
Оценка:
> Ну разве не балайка этот .NET?

Хуже балалайки. На балалайке хоть струны есть и играть можно, если умеешь.
А на .NET-е даже не сыграешь.
Re[2]: Почему .NET - балалайка?
От: khimiki  
Дата: 03.11.10 09:58
Оценка:
Здравствуйте, ylem, Вы писали:

Y>Хуже балалайки. На балалайке хоть струны есть и играть можно, если умеешь.

Y>А на .NET-е даже не сыграешь.

Так вот и я о том же. Другими словами, балалайка выполняет предъявляемые к ней требования — производит музыку. А .NET — это скорее балалайка, но без одной струны. Издали вроде похожа на музыкальный инструмент, а возьмёшь её в руки и станет понятно, что играть на ней может только Поганини. Я, к сожалению, не Поганини.
Re: Почему .NET - балалайка?
От: Sinix  
Дата: 03.11.10 10:05
Оценка: 8 (4)
Здравствуйте, khimiki, Вы писали:

K>Вот я хочу на WPF окне разместить холст, в котором мне нужно отрисовывать графику с аппаратным ускорением. И что оказывается? Оказывается, что .NET этого не умеет в том смысле, что штатного способа сделать это — нет. Ну разве не балайка этот .NET?


Вброс не защитан, идите учить матчасть.

http://lmgtfy.com/?q=wpf+hosting+directx
http://lmgtfy.com/?q=wpf+hosting+gdi
http://lmgtfy.com/?q=wpf+High+performance+graphics

Если вербализуете ваши тайные желания — даже не поленюсь скопировать вам нужные ссылки.

Як диты, ну чессное слово
Re[2]: Почему .NET - балалайка?
От: Antikrot  
Дата: 03.11.10 10:26
Оценка: :)))
Здравствуйте, Sinix, Вы писали:

K>>Вот я хочу на WPF окне разместить холст, в котором мне нужно отрисовывать графику с аппаратным ускорением. И что оказывается? Оказывается, что .NET этого не умеет в том смысле, что штатного способа сделать это — нет. Ну разве не балайка этот .NET?

S>Вброс не защитан, идите учить матчасть.
да не вброс это, это такой эффективный способ задавать реальные вопросы в КСВ — народ всё больше проникается мыслью что тут быстрее ответят
Re[3]: Почему .NET - балалайка?
От: Sinix  
Дата: 03.11.10 10:36
Оценка:
Здравствуйте, Antikrot, Вы писали:

A>да не вброс это, это такой эффективный способ задавать реальные вопросы в КСВ — народ всё больше проникается мыслью что тут быстрее ответят



В тех форумах, где слежу, ответов всегда больше, чем вопросов. Конкуренция
Re[2]: Почему .NET - балалайка?
От: khimiki  
Дата: 03.11.10 10:48
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Вброс не защитан, идите учить матчасть.


S>http://lmgtfy.com/?q=wpf+hosting+directx

S>http://lmgtfy.com/?q=wpf+hosting+gdi
S>http://lmgtfy.com/?q=wpf+High+performance+graphics
Привидите, пожалуйста, официально одобренный MS способ хостинга. Я рабочий IT индустрии, а не шаман.
Re[2]: Почему .NET - балалайка?
От: vdimas Россия  
Дата: 03.11.10 10:51
Оценка: 5 (3) +1
Здравствуйте, Sinix, Вы писали:

S>Вброс не защитан, идите учить матчасть.


В матчасти, как было справедливо замечено, ничего нет. Т.е. вообще ничего и близко.

S>http://lmgtfy.com/?q=wpf+hosting+directx

S>http://lmgtfy.com/?q=wpf+hosting+gdi
S>http://lmgtfy.com/?q=wpf+High+performance+graphics

Ты насколько подробно сам разбирался в этом, чтобы давать столь хамско-снисходительные ссылки? Ведь ты же послал искать костыли, допиливания и хаки, что как бэ противоречит предыдущему громогласному заявлению насчет "матчасти". Реально, без допиливания половины рендеринга WPF, ничего путного сделать нельзя. "Родные" 2D и 3D сцены работают крайне медленно, из-за самого механизма построения сцен.

Tim Dawson, MVP:
Nothing about WPF is really "high performance". If you want to draw a lot of primitives, inherit FrameworkElement and override OnRender, using the DrawingContext to perform all your drawing.

И даже в этом случае, сливаем в 2-5 раз по сравнению с обычным DirectX.

Отображение своего видео из собственного источника — невозможно в адекватном виде. Вернее, возможно через пару хаков, но они крайне не эффективны, ибо заточены под битмап как хендл, а не под массив обычных пикселей. Чтобы иметь хоть какое-то преддставленпие о чем речь, неплохо бы ознакомиться хотя бы с чем-нить высокоуровневым, например с DirectShow. Как можно давать ссылки на пример, который предлагает 20-30 раз в секунду создавать/грохать bitmap handle для каждого видеопотока? Это я имел ввиду примеры с InteropBitmap, на которые введут много ссылок. Сто раз было уже обжеванно, что лучше всего работает классический bitmap section для GDI или surface из DirectX (оба способа умеют работать с пикселями напрямую, и объекты эти лежат чаще всего в памяти видюхи + создаются под ее родной текущий формат дисплея + драйвер пересылает пиксели через DMA зачастую), но вот это-то нам и недоступно даже через reflection, ибо рендеринг WPF идет в другом потоке и выполняется нативной либой.

На самом деле вообще нет штатных способов быстро передать данные для отображения в WPF. Эта либа может построить большую относительно статическую картинку из примитивов, но вот с динамикой сложных сцен или видео — траблы. Справедливости ради, вывод готового видео доступен в виде эдакого "черного ящика", но не доступно самое важное — граф обработки этого видео. Поэтому, можно считать что видео-возможности отсутствуют, ибо для простого вывода видео-файла по некоему URI с тем же успехом можно посадить обычный MediaPlayer ActiveX.


S>Если вербализуете ваши тайные желания — даже не поленюсь скопировать вам нужные ссылки.


Попробуй еще раз, а мы посмотрим, насколько они окажутся нужные. А то все такие важные... как дети, чесслово.

На самом деле никакой магии нет. Берем и хостим обычное виндовое окно, например пользуем хост для WinForms. В нем инициализируем DirectX или даже AVICap, берем surface для видео (или preview window для AVICap), или же сами строим сцены для DirectX обычным способом. С потоками тоже разбираемся сами (а не даем наивные сылки на примеры многопоточности рендеринга в WPF ). С оверлеями тоже разбираемся сами (кроме случая AVICap). В конечном итоге, WPF тут не при чем и никак не помогает, а только мешает, ибо контроль за временем жизни хоста зависит теперь от WPF.
Re[3]: Почему .NET - балалайка?
От: Sinix  
Дата: 03.11.10 10:53
Оценка: 1 (1)
Здравствуйте, khimiki, Вы писали:


S>>http://lmgtfy.com/?q=wpf+hosting+directx

S>>http://lmgtfy.com/?q=wpf+hosting+gdi
S>>http://lmgtfy.com/?q=wpf+High+performance+graphics
K>Привидите, пожалуйста, официально одобренный MS способ хостинга.
Вам что надо-то? Конкретно только. Под ваш запрос все три ссылки подходят. И ответы по всем трём используют исключительно возможности фреймворка.

K>Я рабочий IT индустрии, а не шаман.

Ээээ, дорогой, с каких пор использование гугля — это шаманство???
Если вас раздражает необходимость постоянно учиться, то боюсь, с профессией вам не повезло.
Re[3]: Почему .NET - балалайка?
От: Кондраций Россия  
Дата: 03.11.10 10:59
Оценка:
Здравствуйте, khimiki, Вы писали:

...
K>.. что играть на ней может только Поганини. Я, к сожалению, не Поганини.
Ой, не Поганини ты, не Поганини!!!
Сообщение заговорено потомственным колдуном, целителем и магом в девятом поколении!
Модерирование или минусование сообщения ведет к половому бессилию, венерическим заболеваниям, венцу безбрачия и диарее!
Re[3]: Почему .NET - балалайка?
От: Sinix  
Дата: 03.11.10 11:08
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Ты насколько подробно сам разбирался в этом, чтобы давать столь хамско-снисходительные ссылки?

Человеку явно хотелось потрындеть. На вопросы в профильных форумах я так никогда не отвечаю.

V>Реально, без допиливания половины рендеринга WPF, ничего путного сделать нельзя. "Родные" 2D и 3D сцены работают крайне медленно, из-за самого механизма построения сцен.

Напомню постановку задачи

Вот я хочу на WPF окне разместить холст, в котором мне нужно отрисовывать графику с аппаратным ускорением.

Телепатия у меня барахлит, поэтому привёл начальные ссылки по соответствующим вариантам.

V>И даже в этом случае, сливаем в 2-5 раз по сравнению с обычным DirectX.

Ну да. Потому что WPF изкоробки нифига не заточен под hi-perf graphics.

V>Отображение своего видео из собственного источника — невозможно в адекватном виде.

Первые ссылки в гугле:
http://stackoverflow.com/questions/412995/how-to-stream-webcam-in-wpf
http://social.msdn.microsoft.com/Forums/en/wpf/thread/3c4114da-0661-4e8b-a0b6-e67374364af2

Пару лет назад баловался с подобными самплами, особых проблем не было. В продакшн ничего не ушло, говорить о 100% беспроблемности не могу.

V>На самом деле вообще нет штатных способов быстро передать данные для отображения в WPF. Эта либа может построить большую относительно статическую картинку из примитивов, но вот с динамикой сложных сцен или видео — траблы.

Для подобных задач всегда можно захостить нативный контрол/dx surface.

V>На самом деле никакой магии нет. ... В конечном итоге, WPF тут не при чем и никак не помогает, а только мешает, ибо контроль за временем жизни хоста зависит теперь от WPF.


Ну вот, вы сами пришли к выводу, что для вашей задачи WPF (в текущем виде) абсолютно не нужен. Только при чём здесь ".Net — балалайка"?
Re[4]: Почему .NET - балалайка?
От: hattab  
Дата: 03.11.10 12:01
Оценка:
Здравствуйте, Sinix, Вы писали:

S> V>Ты насколько подробно сам разбирался в этом, чтобы давать столь хамско-снисходительные ссылки?


S> Человеку явно хотелось потрындеть. На вопросы в профильных форумах я так никогда не отвечаю.


Так здесь для "потрындеть", как раз таки профильный
avalon 1.0rc3 rev 363, zlib 1.2.3
Re[5]: Почему .NET - балалайка?
От: Sinix  
Дата: 03.11.10 12:06
Оценка:
Здравствуйте, hattab, Вы писали:

V>>>Ты насколько подробно сам разбирался в этом, чтобы давать столь хамско-снисходительные ссылки?

S>> Человеку явно хотелось потрындеть. На вопросы в профильных форумах я так никогда не отвечаю.
H>Так здесь для "потрындеть", как раз таки профильный
Тогда тем более ответ в тему. Какие ваши претензии?
Re: Почему .NET - балалайка?
От: iHateLogins  
Дата: 03.11.10 12:23
Оценка:
Здравствуйте, khimiki, Вы писали:

K>Вот я хочу на WPF окне разместить холст, в котором мне нужно отрисовывать графику с аппаратным ускорением. И что оказывается? Оказывается, что .NET этого не умеет в том смысле, что штатного способа сделать это — нет. Ну разве не балайка этот .NET?


Ну да, балалайка. Скажу по секрету, сейчас соотношение разработчиков в команде Silverlight и WPF 10 к одному. Не в пользу WPF, конечно

По теме: WPF — очередной факап микрософта по части UI. Если сейчас выбирать технологию для rich client-а под винду, то WPF — последнее, что надо рассматривать. Тот же Windows.Forms стабильнее, проще и удобнее на порядок. Да и быстрее. Да что там Windows.Forms — последние браузеры (тот же IE9, например) поддерживают аппаратное ускорение отрисовки, так что "детский" HTML с "несерьезным" джаваскриптом побыстрее будет, чем монстровый WPF.

Обидно, что студию под WPF переписали. Ой, чую, придется чувакам её обратно на Windows.Forms переписывать
Re[2]: Почему .NET - балалайка?
От: Sinix  
Дата: 03.11.10 12:26
Оценка:
Здравствуйте, iHateLogins, Вы писали:

HL>Ну да, балалайка. Скажу по секрету, сейчас соотношение разработчиков в команде Silverlight и WPF 10 к одному. Не в пользу WPF, конечно

Пруф?
Re[2]: Почему .NET - балалайка?
От: khimiki  
Дата: 03.11.10 12:36
Оценка:
Здравствуйте, iHateLogins, Вы писали:


HL>Ну да, балалайка. Скажу по секрету, сейчас соотношение разработчиков в команде Silverlight и WPF 10 к одному. Не в пользу WPF, конечно


HL>По теме: WPF — очередной факап микрософта по части UI. Если сейчас выбирать технологию для rich client-а под винду, то WPF — последнее, что надо рассматривать. Тот же Windows.Forms стабильнее, проще и удобнее на порядок. Да и быстрее. Да что там Windows.Forms — последние браузеры (тот же IE9, например) поддерживают аппаратное ускорение отрисовки, так что "детский" HTML с "несерьезным" джаваскриптом побыстрее будет, чем монстровый WPF.


HL>Обидно, что студию под WPF переписали. Ой, чую, придется чувакам её обратно на Windows.Forms переписывать



Всё это очень, очень печально. Сейчас встаёт передо мной задача по разработке софта для решения задач транспортировки крупногабаритных грузов. Концептуально это должна быть форма, на одной части которой находятся различные контролы, на другой происходит отрисовка груза с показом изгибов, деформаций и так далее. Мучительно думаю, какую среду разработки применять? Что, кам бэк ту дельфи?
Re[2]: Почему .NET - балалайка?
От: henson Россия http://www.njt-rails.com
Дата: 03.11.10 13:33
Оценка: +1
Здравствуйте, iHateLogins, Вы писали:

HL>Здравствуйте, khimiki, Вы писали:


K>>Вот я хочу на WPF окне разместить холст, в котором мне нужно отрисовывать графику с аппаратным ускорением. И что оказывается? Оказывается, что .NET этого не умеет в том смысле, что штатного способа сделать это — нет. Ну разве не балайка этот .NET?


HL>По теме: WPF — очередной факап микрософта по части UI. Если сейчас выбирать технологию для rich client-а под винду, то WPF — последнее, что надо рассматривать. Тот же Windows.Forms стабильнее, проще и удобнее на порядок. Да и быстрее. Да что там Windows.Forms — последние браузеры (тот же IE9, например) поддерживают аппаратное ускорение отрисовки, так что "детский" HTML с "несерьезным" джаваскриптом побыстрее будет, чем монстровый WPF.


WPF вполне нормальная технология, более того я не вижу ни одной причины использовать чистый WinForms

HL>Обидно, что студию под WPF переписали. Ой, чую, придется чувакам её обратно на Windows.Forms переписывать


Не будет этого
Re[6]: Почему .NET - балалайка?
От: hattab  
Дата: 03.11.10 14:06
Оценка:
Здравствуйте, Sinix, Вы писали:

S> V>>>Ты насколько подробно сам разбирался в этом, чтобы давать столь хамско-снисходительные ссылки?


S> S>> Человеку явно хотелось потрындеть. На вопросы в профильных форумах я так никогда не отвечаю.


S> H>Так здесь для "потрындеть", как раз таки профильный


S> Тогда тем более ответ в тему. Какие ваши претензии?


Та какие претензии, шо ви таки говорите
avalon 1.0rc3 rev 363, zlib 1.2.3
Re[3]: Почему .NET - балалайка?
От: Mamut Швеция http://dmitriid.com
Дата: 03.11.10 14:14
Оценка:
HL>>Ну да, балалайка. Скажу по секрету, сейчас соотношение разработчиков в команде Silverlight и WPF 10 к одному. Не в пользу WPF, конечно

HL>>По теме: WPF — очередной факап микрософта по части UI. Если сейчас выбирать технологию для rich client-а под винду, то WPF — последнее, что надо рассматривать. Тот же Windows.Forms стабильнее, проще и удобнее на порядок. Да и быстрее. Да что там Windows.Forms — последние браузеры (тот же IE9, например) поддерживают аппаратное ускорение отрисовки, так что "детский" HTML с "несерьезным" джаваскриптом побыстрее будет, чем монстровый WPF.


HL>>Обидно, что студию под WPF переписали. Ой, чую, придется чувакам её обратно на Windows.Forms переписывать



K>Всё это очень, очень печально. Сейчас встаёт передо мной задача по разработке софта для решения задач транспортировки крупногабаритных грузов. Концептуально это должна быть форма, на одной части которой находятся различные контролы, на другой происходит отрисовка груза с показом изгибов, деформаций и так далее. Мучительно думаю, какую среду разработки применять? Что, кам бэк ту дельфи?


Есть еще Qt


dmitriid.comGitHubLinkedIn
Re[3]: Почему .NET - балалайка?
От: iHateLogins  
Дата: 03.11.10 14:40
Оценка:
Здравствуйте, khimiki, Вы писали:

HL>>Обидно, что студию под WPF переписали. Ой, чую, придется чувакам её обратно на Windows.Forms переписывать


K>Всё это очень, очень печально. Сейчас встаёт передо мной задача по разработке софта для решения задач транспортировки крупногабаритных

грузов. Концептуально это должна быть форма, на одной части которой находятся различные контролы, на другой происходит отрисовка груза с показом изгибов, деформаций и так далее. Мучительно думаю, какую среду разработки применять? Что, кам бэк ту дельфи?

Выбирай винформс последний + какой-нить компонент для отрисовки, их сейчас завались сколько.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.